JP6940761B2 - Information processing equipment, virtual machine monitoring programs, and information processing systems - Google Patents

Information processing equipment, virtual machine monitoring programs, and information processing systems Download PDF

Info

Publication number
JP6940761B2
JP6940761B2 JP2017168719A JP2017168719A JP6940761B2 JP 6940761 B2 JP6940761 B2 JP 6940761B2 JP 2017168719 A JP2017168719 A JP 2017168719A JP 2017168719 A JP2017168719 A JP 2017168719A JP 6940761 B2 JP6940761 B2 JP 6940761B2
Authority
JP
Japan
Prior art keywords
virtual machine
amount
resource
request
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017168719A
Other languages
Japanese (ja)
Other versions
JP2019046163A (en
Inventor
勝 新満
勝 新満
杉雄 渡辺
杉雄 渡辺
木村 修
修 木村
暢 小林
暢 小林
裕一 阪上
裕一 阪上
亮祐 鈴木
亮祐 鈴木
豪 梅月
豪 梅月
直也 岩下
直也 岩下
村上 浩
浩 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2017168719A priority Critical patent/JP6940761B2/en
Publication of JP2019046163A publication Critical patent/JP2019046163A/en
Application granted granted Critical
Publication of JP6940761B2 publication Critical patent/JP6940761B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、仮想マシン監視プログラム、および情報処理システムに関する。 The present invention relates to an information processing device, a virtual machine monitoring program, and an information processing system.

クラウドコンピューティングシステムでは、例えば、サーバ上に構築された仮想マシンを用いてサービスが提供される。クラウドコンピューティングシステムにおいて新たなサービスの提供を開始する場合、そのサービスの負荷に応じた性能の仮想マシンが、サーバ上に構築される。仮想マシンの性能は、その仮想マシンの実行のために使用可能なハードウェアリソース(以下、単にリソースと呼んだ場合もハードウェアリソースを指す)の量に依存する。仮想マシンの実行のために使用可能なリソースを設定することを、仮想マシンにリソースを割り当てると呼ぶこともある。仮想マシンに割り当てられるリソースは、CPU(Central Processing Unit)、メモリ、ストレージ装置などである。これらのリソースの量が多いほど、仮想マシンの性能が高くなる。 In a cloud computing system, for example, a service is provided using a virtual machine built on a server. When starting to provide a new service in a cloud computing system, a virtual machine with performance corresponding to the load of the service is built on the server. The performance of a virtual machine depends on the amount of hardware resources available to run the virtual machine (hereinafter, also referred to simply as resources, refers to hardware resources). Setting the resources available to run a virtual machine is sometimes referred to as allocating resources to the virtual machine. The resources allocated to the virtual machine are a CPU (Central Processing Unit), memory, a storage device, and the like. The greater the amount of these resources, the better the performance of the virtual machine.

ここで、仮想マシンに割り当てるリソースの量が少なすぎると、仮想マシンを用いて提供されるサービスに求められる品質でのサービス提供ができない。他方、仮想マシンに割り当てるリソースの量が多すぎると、システム内のリソースが無駄に消費されてしまう。 Here, if the amount of resources allocated to the virtual machine is too small, it is not possible to provide the service with the quality required for the service provided by the virtual machine. On the other hand, if too many resources are allocated to the virtual machine, the resources in the system will be wasted.

そこで、例えばクラウド・システムにおいて、性能の低下を抑制して、適切な計算機リソースを提供するための計算器リソース割り当て方法が考えられている。この計算器リソース割り当て方法では、管理計算機が、サービスを提供する仮想計算機群の性能を取得して、取得した仮想計算機群の性能と、予め設定されたサービスの性能条件とを比較する。そして管理計算機は、比較結果に応じて、仮想計算機群で変更する計算機リソースを決定する。 Therefore, for example, in a cloud system, a computer resource allocation method for suppressing a decrease in performance and providing an appropriate computer resource has been considered. In this computer resource allocation method, the management computer acquires the performance of the virtual computer group that provides the service, and compares the acquired performance of the virtual computer group with the performance condition of the preset service. Then, the management computer determines the computer resource to be changed in the virtual computer group according to the comparison result.

特開2016−103179号公報Japanese Unexamined Patent Publication No. 2016-103179

しかし、仮想マシンの性能が悪化したことを確認してから仮想マシンのリソース量を変更したのでは、仮想マシンの性能が悪化してから、割り当てるリソース量が変更されるまでに遅延が生じる。その結果、リソース量の変更処理が完了するまでの一定期間、サービスの品質が低下してしまう。 However, if the virtual machine's resource amount is changed after confirming that the virtual machine's performance has deteriorated, there will be a delay between the deterioration of the virtual machine's performance and the change in the allocated resource amount. As a result, the quality of service deteriorates for a certain period until the process of changing the amount of resources is completed.

1つの側面では、本件は、仮想マシンに割り当てるリソース量の最適化の遅延を抑止することを目的とする。 On the one hand, the purpose of this case is to suppress the delay in optimizing the amount of resources allocated to the virtual machine.

1つの案では、以下の処理部を有する情報処理装置が提供される。
処理部は、サーバが実行している仮想マシンに送信された単位期間当たりのリクエストの量を監視する。次に処理部は、リクエストの量の時系列での変化度合いに基づいて、仮想マシンの実行に使用可能なハードウェアリソースの量を変更するか否かを決定する。変更すると決定した場合、処理部は、仮想マシンの実行に使用可能なハードウェアリソースの量の変更を、サーバに指示する。
In one proposal, an information processing apparatus having the following processing units is provided.
The processing unit monitors the amount of requests sent to the virtual machine running by the server per unit period. The processing unit then decides whether to change the amount of hardware resources available to run the virtual machine, based on how the amount of requests changes over time. If it decides to change it, the processor tells the server to change the amount of hardware resources available to run the virtual machine.

1態様によれば、仮想マシンに割り当てるリソース量の最適化の遅延を抑止する。 According to one aspect, the delay in optimizing the amount of resources allocated to the virtual machine is suppressed.

第1の実施の形態に係る仮想マシン監視システムの構成の一例を示す図である。It is a figure which shows an example of the configuration of the virtual machine monitoring system which concerns on 1st Embodiment. 第2の実施の形態のシステム構成例を示す図である。It is a figure which shows the system configuration example of the 2nd Embodiment. 第2の実施の形態に用いる仮想マシン監視装置のハードウェアの一構成例を示す図である。It is a figure which shows one configuration example of the hardware of the virtual machine monitoring apparatus used in the 2nd Embodiment. 仮想マシンへ割り当て資源量を変更するために各装置が有する機能を示すブロック図である。It is a block diagram which shows the function which each device has for changing the amount of resources allocated to a virtual machine. リクエスト監視テーブルの一例を示す図である。It is a figure which shows an example of the request monitoring table. リソース管理テーブルの一例を示す図である。It is a figure which shows an example of a resource management table. 仮想マシン管理テーブルの一例を示す図である。It is a figure which shows an example of a virtual machine management table. リソース優先度テーブルの一例を示す図である。It is a figure which shows an example of a resource priority table. ロードバランサが記憶するリクエスト管理テーブルの一例を示す図である。It is a figure which shows an example of the request management table which a load balancer stores. リクエスト監視処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of request monitoring processing. 最適化処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of an optimization process. 仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの前半である。This is the first half of the flowchart showing an example of the procedure for request monitoring processing in the virtual machine monitoring device. 仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの後半である。This is the latter half of the flowchart showing an example of the procedure for request monitoring processing in the virtual machine monitoring device. リクエスト量・レスポンスタイム計測処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the request amount / response time measurement processing. コスト改善処理の手順の一例を示すフローチャートの前半である。This is the first half of the flowchart showing an example of the cost improvement processing procedure. コスト改善処理の手順の一例を示すフローチャートの後半である。This is the latter half of the flowchart showing an example of the cost improvement processing procedure. レスポンス改善処理の手順の一例を示すフローチャートの前半である。This is the first half of the flowchart showing an example of the procedure for response improvement processing. レスポンス改善処理の手順の一例を示すフローチャートの後半である。This is the latter half of the flowchart showing an example of the procedure for response improvement processing.

以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。
Hereinafter, the present embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, the first embodiment will be described.

図1は、第1の実施の形態に係る仮想マシン監視システムの構成の一例を示す図である。複数の端末装置1a,1bが、ネットワーク2を介してサーバ3に接続されている。サーバ3は、ハードウェアリソースとしてCPU3a−1,3a−2,・・・、メモリ3b−1,3b−2,・・・などを有している。サーバ3は、ハードウェアリソースの少なくとも一部を用いて仮想マシン3cを実行する。サーバ3は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を、自動で変更可能である。サーバ3により実現される仮想マシン3cは、端末装置1a,1bからのリクエストに応じて処理を実行し、処理結果をレスポンスとして端末装置1a,1bに送信する。 FIG. 1 is a diagram showing an example of a configuration of a virtual machine monitoring system according to the first embodiment. A plurality of terminal devices 1a and 1b are connected to the server 3 via the network 2. The server 3 has CPUs 3a-1, 3a-2, ..., Memories 3b-1, 3b-2, ... As hardware resources. The server 3 executes the virtual machine 3c using at least a part of the hardware resources. The server 3 can automatically change the amount of hardware resources that can be used to execute the virtual machine 3c. The virtual machine 3c realized by the server 3 executes processing in response to a request from the terminal devices 1a and 1b, and transmits the processing result as a response to the terminal devices 1a and 1b.

情報処理装置10は、サーバ3が実行している仮想マシン3cに対して送信されるリクエストを監視して、リクエスト量の変化が過大な場合に、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を、サーバ3に指示する。そのために、情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。 The information processing device 10 monitors the requests transmitted to the virtual machine 3c executed by the server 3, and when the change in the request amount is excessive, the hardware resource that can be used to execute the virtual machine 3c. Instruct the server 3 to change the amount of. Therefore, the information processing device 10 has a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.

記憶部11は、単位期間当たりのリクエストの量を記憶する。例えば記憶部11は、直近の単位期間(第1の単位期間)内のリクエスト量と、直近の単位期間の直前(第2の単位期間)内のリクエスト量とを記憶する。 The storage unit 11 stores the amount of requests per unit period. For example, the storage unit 11 stores the request amount within the latest unit period (first unit period) and the request amount within the immediately preceding unit period (second unit period).

処理部12は、監視結果により得られた単位期間当たりのリクエスト量に基づいて、仮想マシン3cの実行に使用可能なリソースの量を変更させるか否かを決定し、変更させる場合には、変更の指示をサーバ3に送信する。そのために処理部12は、サーバ3が実行している仮想マシン3cに送信された単位期間当たりのリクエストの量を監視する。例えば処理部12は、ネットワーク2内で端末装置1a,1bからサーバ3に送信されるリクエストを中継する装置に、単位期間当たりのリクエスト量を計数させ、処理部12はその装置から単位期間当たりのリクエスト量を示す情報を取得する。リクエストを中継する装置は、例えばロードバランサである。また処理部12は、ネットワーク2を介して通信されるパケットをキャプチャし、キャプチャしたパケットを解析して、仮想マシン3cに送信されたリクエスト量を計測することもできる。処理部12は、単位期間当たりに仮想マシン3cに送信されたリクエスト量を、記憶部11に格納する。 The processing unit 12 determines whether or not to change the amount of resources that can be used to execute the virtual machine 3c based on the request amount per unit period obtained from the monitoring result, and if so, changes the amount. Is transmitted to the server 3. Therefore, the processing unit 12 monitors the amount of requests per unit period transmitted to the virtual machine 3c executed by the server 3. For example, the processing unit 12 causes a device that relays requests transmitted from the terminal devices 1a and 1b to the server 3 in the network 2 to count the request amount per unit period, and the processing unit 12 counts the request amount per unit period from the device. Get information indicating the amount of requests. The device that relays the request is, for example, a load balancer. The processing unit 12 can also capture packets communicated via the network 2, analyze the captured packets, and measure the amount of requests transmitted to the virtual machine 3c. The processing unit 12 stores the amount of requests transmitted to the virtual machine 3c per unit period in the storage unit 11.

処理部12は、仮想マシン3cに送信された単位期間当たりのリクエストの量の時系列での変化度合いに基づいて、仮想マシンの実行に使用可能なハードウェアリソースの量を変更するか否かを決定する。単位期間当たりのリクエストの量の時系列での変化度合いは、例えば変動率で表される。変動率は、第1の単位期間内のリクエスト量を第2の単位期間内のリクエスト量で除算した値である。 Whether or not the processing unit 12 changes the amount of hardware resources available for executing the virtual machine based on the degree of change in the amount of requests per unit period sent to the virtual machine 3c over time. decide. The degree of change in the amount of requests per unit period over time is expressed, for example, by the volatility. The volatility is a value obtained by dividing the request amount within the first unit period by the request amount within the second unit period.

例えば、処理部12は、直近の第1の単位期間でのリクエストの量を、第1の単位期間の直前の第2の単位期間でのリクエストの量と比較したときの変化度合いが閾値を超えているか否かを判定する。変化の度合いが閾値を超えている場合、処理部12は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を変更すると決定する。 For example, when the processing unit 12 compares the amount of requests in the most recent first unit period with the amount of requests in the second unit period immediately before the first unit period, the degree of change exceeds the threshold value. Determine if it is. When the degree of change exceeds the threshold value, the processing unit 12 determines that the amount of hardware resources available for executing the virtual machine 3c is changed.

なお、ハードウェアリソースの量を変更するか否かの判定に用いる閾値として、複数の閾値を用いることができる。第1の閾値は1未満の正の実数(例えば「0.5」)であり、第2の閾値は1より大きい実数(例えば「1.5」)である。処理部12は、第1の単位期間でのリクエストの量が、第2の単位期間でのリクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を減少させることを決定する。減少の度合いが第1の閾値を超えているとは、例えば変動率が第1の閾値未満になっていることである。また処理部12は、第1の単位期間でのリクエストの量が、第2の単位期間でのリクエストの量よりも増加しており、増加の度合いが第2の閾値を超えている場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を増加させることを決定する。増加の度合いが第2の閾値を超えているとは、例えば変動率が第2の閾値より大きいことである。 A plurality of threshold values can be used as the threshold values used for determining whether or not to change the amount of hardware resources. The first threshold is a positive real number less than 1 (eg "0.5") and the second threshold is a real number greater than 1 (eg "1.5"). When the amount of requests in the first unit period is smaller than the amount of requests in the second unit period and the degree of decrease exceeds the first threshold value, the processing unit 12 is a virtual machine. Decide to reduce the amount of hardware resources available to run 3c. When the degree of decrease exceeds the first threshold value, for example, the volatility is less than the first threshold value. Further, when the amount of requests in the first unit period is larger than the amount of requests in the second unit period and the degree of increase exceeds the second threshold value, the processing unit 12 is virtual. Decide to increase the amount of hardware resources available to run machine 3c. When the degree of increase exceeds the second threshold value, for example, the volatility is larger than the second threshold value.

処理部12は、仮想マシン3cの実行に使用可能なハードウェアリソースの量を変更すると決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を、サーバ3に指示する。例えば処理部12は、ハードウェアリソースの量を減少させることを決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を減少させることを、サーバ3に指示する。また処理部12は、ハードウェアリソースの量を増加させることを決定した場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量を増加させることを、サーバ3に指示する。 When the processing unit 12 decides to change the amount of hardware resources available for executing the virtual machine 3c, the processing unit 12 instructs the server 3 to change the amount of hardware resources available for executing the virtual machine 3c. For example, when the processing unit 12 decides to reduce the amount of hardware resources, the processing unit 12 instructs the server 3 to reduce the amount of hardware resources available for executing the virtual machine 3c. When the processing unit 12 decides to increase the amount of hardware resources, the processing unit 12 instructs the server 3 to increase the amount of hardware resources that can be used to execute the virtual machine 3c.

このような仮想マシン監視システムによれば、仮想マシン3cに対する単位期間当たりのリクエストの量が、ある程度以上減少傾向または増加傾向にある場合、仮想マシン3cの実行に使用可能なハードウェアリソースを減少または増加させることができる。すなわちリクエストの量に基づいて、仮想マシン3cの実行に使用可能なハードウェアリソースの量を最適化することができる。これにより、仮想マシン3cの性能が悪化したことを確認してからハードウェアリソースの量を変更する場合に比べ、仮想マシン3cに割り当てるリソースの量の最適化の遅延が抑止される。 According to such a virtual machine monitoring system, when the amount of requests per unit period for the virtual machine 3c tends to decrease or increase more than a certain level, the hardware resources available for executing the virtual machine 3c are reduced or decreased. Can be increased. That is, the amount of hardware resources available to execute the virtual machine 3c can be optimized based on the amount of requests. As a result, the delay in optimizing the amount of resources allocated to the virtual machine 3c is suppressed as compared with the case where the amount of hardware resources is changed after confirming that the performance of the virtual machine 3c has deteriorated.

例えば、仮想マシンの性能は、リクエストに対するレスポンスタイム(リクストを送信してからレスポンスを受信するまでの時間)によって計測できる。仮想マシンなどの計算機の性質として、所定の負荷までは、十分に短いレスポンスタイムでサービスを提供できるが、負荷が所定量を超えると、急激にレスポンスタイムが悪化する場合がある。このような場合、レスポンスタイムの悪化を確認してから仮想マシンのリソース量を増加させたのでは、仮想マシンのリソース量を増加させる処理が完了するまで、レスポンスタイムが悪化したままとなり、サービスの品質の低下を招く。しかもレスポンスタイムが悪化した後に、レスポンスタイムの要件を満たす最適なハードウェアリソース構成を探索すると、探索に時間を要し、サービスの品質の低下期間が長期化する。なお、レスポンスタイムの要件は、例えばレスポンスタイムが所定の閾値未満であることである。 For example, the performance of a virtual machine can be measured by the response time to a request (the time from sending a request to receiving a response). Due to the nature of computers such as virtual machines, services can be provided with a sufficiently short response time up to a predetermined load, but when the load exceeds a predetermined amount, the response time may deteriorate sharply. In such a case, if the virtual machine resource amount is increased after confirming the deterioration of the response time, the response time remains deteriorated until the process of increasing the virtual machine resource amount is completed, and the service It causes deterioration of quality. Moreover, if the search for the optimum hardware resource configuration that meets the response time requirements is performed after the response time has deteriorated, the search takes time and the service quality deterioration period becomes long. The requirement of the response time is, for example, that the response time is less than a predetermined threshold value.

それに対し、図1に示す仮想マシン監視システムでは、単位期間当たりのリクエスト量の増加傾向が検知できた段階で、仮想マシン3cの実行に使用可能なハードウェアリソースが自動で追加される。すなわち、リクエスト量の増加傾向が継続しても、それに応じて仮想マシン3cの実行に使用可能なハードウェアリソースの量も増加し、レスポンスタイムが悪化することを抑止できる。 On the other hand, in the virtual machine monitoring system shown in FIG. 1, hardware resources that can be used for executing the virtual machine 3c are automatically added when an increasing tendency of the request amount per unit period can be detected. That is, even if the request amount continues to increase, the amount of hardware resources that can be used to execute the virtual machine 3c also increases accordingly, and it is possible to prevent the response time from deteriorating.

しかも図1に示す仮想マシン監視システムでは、単位期間当たりのリクエスト量が減少傾向に転じた場合、仮想マシン3cの実行に使用可能なハードウェアリソースの量は自動で削減される。その結果、仮想マシン3cの実行のために、無駄に多くのハードウェアリソースが使用されることが抑止される。その結果、サーバ3のハードウェアリソースの効率的な利用が可能となる。 Moreover, in the virtual machine monitoring system shown in FIG. 1, when the request amount per unit period starts to decrease, the amount of hardware resources that can be used to execute the virtual machine 3c is automatically reduced. As a result, it is suppressed that a large amount of hardware resources are wasted for executing the virtual machine 3c. As a result, the hardware resources of the server 3 can be used efficiently.

なお、処理部12は、ハードウェアリソースの種別(CPU、メモリなど)ごとに、仮想マシン3cの実行に使用可能とする量の変更の優先度を決定しておいてもよい。例えば、処理部12は、サーバ3からハードウェアリソースの種別ごとの仮想マシン3cの使用率を取得し、使用率が高い種別のハードウェアリソースほど、優先度を高くする。この際、情報処理装置10では、ハードウェアリソースの種別ごとの、仮想マシン3cの実行に使用可能とする最大値と最小値とを定めておく。例えば情報処理装置10は、記憶部11に予めリソース管理情報を記憶しておく。リソース管理情報には、ハードウェアリソースの種別ごとに、仮想マシン3cの実行に使用可能とする量の変更の優先度、仮想マシン3cの実行に使用可能とする量の最小値、および仮想マシンの実行に使用可能とする量の最大値が示される。 The processing unit 12 may determine the priority of changing the amount that can be used for executing the virtual machine 3c for each type of hardware resource (CPU, memory, etc.). For example, the processing unit 12 acquires the usage rate of the virtual machine 3c for each type of hardware resource from the server 3, and the higher the usage rate of the hardware resource, the higher the priority. At this time, the information processing apparatus 10 defines the maximum value and the minimum value that can be used for executing the virtual machine 3c for each type of hardware resource. For example, the information processing device 10 stores resource management information in advance in the storage unit 11. The resource management information includes the priority of changing the amount that can be used to execute the virtual machine 3c, the minimum value of the amount that can be used to execute the virtual machine 3c, and the virtual machine for each type of hardware resource. The maximum amount available for execution is shown.

処理部12は、仮想マシンの実行に使用可能なハードウェアリソースの量を増加させると決定した場合、リソース管理情報に基づいて、最大値を超えない範囲で、優先度が最も高い種別のハードウェアリソースを増加させることを決定する。優先度が最も高い種別のハードウェアリソースの量がすでに最大値になっている場合、処理部12は、次に優先度が高い種別のハードウェアリソースを、最大値を超えない範囲で増加させることを決定する。 When the processing unit 12 decides to increase the amount of hardware resources that can be used to execute the virtual machine, the processing unit 12 has the highest priority type of hardware within the range that does not exceed the maximum value based on the resource management information. Decide to increase resources. When the amount of the hardware resource of the highest priority type has already reached the maximum value, the processing unit 12 increases the hardware resource of the next highest priority type within a range not exceeding the maximum value. To determine.

また処理部12は、仮想マシンの実行に使用可能なハードウェアリソースの量を減少させると決定した場合、リソース管理情報に基づいて、最小値を下回らない範囲で、優先度が最も高い種別のハードウェアリソースを減少させることを決定する。優先度が最も高い種別のハードウェアリソースの量がすでに最小値になっている場合、処理部12は、次に優先度が高い種別のハードウェアリソースを、最小値を下回らない範囲で減少させることを決定する。 When the processing unit 12 decides to reduce the amount of hardware resources that can be used to execute the virtual machine, the processing unit 12 has the highest priority type of hardware within the range that does not fall below the minimum value based on the resource management information. Decide to reduce wear resources. When the amount of the hardware resource of the highest priority type has already reached the minimum value, the processing unit 12 reduces the hardware resource of the next highest priority type within a range not lower than the minimum value. To determine.

このように、ハードウェアリソースの種別ごとの使用率に基づいて、リソースの量を変更させる優先度を決定しておくことで、仮想マシン3cのレスポンスタイムの悪化原因となる可能性の高いハードウェアリソースを、優先的に増加させることができる。その結果、仮想マシン3cの実行に使用可能なハードウェアリソースの量の変更を効率的に行うことができる。 In this way, by determining the priority for changing the amount of resources based on the usage rate for each type of hardware resource, the hardware that is likely to cause deterioration of the response time of the virtual machine 3c. Resources can be increased preferentially. As a result, it is possible to efficiently change the amount of hardware resources that can be used to execute the virtual machine 3c.

すなわち、ハードウェアリソースの種別ごとの使用率を用いずにハードウェアリソースの量の変更を行うと、仮想マシン3cのレスポンスタイムの悪化原因にはならない種別のハードウェアリソースを増強してしまう可能性がある。この場合、仮想マシン3cの実行に使用可能なハードウェアリソースを増強したにも関わらず、リクエストの量の増加に伴いレスポンスタイムの悪化を抑止することができない。それに対して、ハードウェアリソースの種別ごとの使用率に基づいてリソースの量を変更させる優先度を決定することで、レスポンスタイムの悪化原因となる可能性の高い種別のハードウェアリソースの量を優先的に増加させることができる。 That is, if the amount of hardware resources is changed without using the usage rate for each type of hardware resources, there is a possibility that the types of hardware resources that do not cause deterioration of the response time of the virtual machine 3c will be increased. There is. In this case, although the hardware resources available for executing the virtual machine 3c have been increased, it is not possible to suppress the deterioration of the response time as the amount of requests increases. On the other hand, by determining the priority for changing the amount of resources based on the usage rate of each type of hardware resource, priority is given to the amount of hardware resources of the type that is likely to cause deterioration of response time. Can be increased.

なお、仮想マシン3cとは別に、仮想マシン3cの実行に使用可能とするハードウェアリソースと同じ量のハードウェアリソースを使用可能な検証用の仮想マシンを立ち上げ、検証用の仮想マシンで適切なハードウェアリソース量を探索することもできる。しかし、ハードウェアリソースの種別ごとの使用率を考慮せずに、検証用の仮想マシンを用いた探索を行うと、ハードウェアリソース構成の異なる多数の仮想マシンのなかから、要件を満足する仮想マシンを特定することとなる。例えば、仮想マシンのCPU使用率が高く、CPU不足がレスポンスタイムの悪化要因となる可能性がある場合でも、メモリリソースの量を拡張した検証用の仮想マシンについても探索の対象となる。その結果、最適なハードウェアリソース構成の特定に時間がかかる。それに対して、ハードウェアリソースの種別ごとの使用率に基づいて、ハードウェアリソースの量を変更させる優先度を決定することで、レスポンスタイムの悪化要因となる種別のハードウェアリソースを変更した場合について優先的に探索できる。これによりレスポンスタイムの要件を満たすハードウェアリソース構成を早期に特定できる。すなわち、仮想マシンの実行に使用可能とする最適なハードウェアリソース構成の探索を効率的に行うことができる。 In addition to the virtual machine 3c, launch a verification virtual machine that can use the same amount of hardware resources as the hardware resources that can be used to execute the virtual machine 3c, and the verification virtual machine is appropriate. You can also search for the amount of hardware resources. However, if a search is performed using a virtual machine for verification without considering the usage rate for each type of hardware resource, a virtual machine that satisfies the requirements from among a large number of virtual machines with different hardware resource configurations. Will be specified. For example, even when the CPU usage rate of a virtual machine is high and a lack of CPU may cause deterioration of response time, a virtual machine for verification with an expanded amount of memory resources is also searched. As a result, it takes time to identify the optimum hardware resource configuration. On the other hand, when the type of hardware resource that causes the deterioration of response time is changed by determining the priority for changing the amount of hardware resource based on the usage rate for each type of hardware resource. You can search with priority. This makes it possible to identify the hardware resource configuration that meets the response time requirements at an early stage. That is, it is possible to efficiently search for the optimum hardware resource configuration that can be used to execute the virtual machine.

〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、運用中の仮想マシンに対するリクエスト量に応じて、その仮想マシンの実行に使用可能なハードウェアリソースの量を変更する。また第2の実施の形態では、運用中の仮想マシンの実行に使用可能なハードウェアリソースの量を変更する前に、検証用の仮想マシンを用いて、レスポンスタイムの要件が満たされるかどうかを検証する。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, the amount of hardware resources that can be used to execute the virtual machine is changed according to the amount of requests for the virtual machine in operation. In the second embodiment, the verification virtual machine is used to determine whether the response time requirement is met before changing the amount of hardware resources available to execute the operating virtual machine. Verify.

なお、以下の説明では、ハードウェアリソースを単にリソースと呼ぶ。また仮想マシンの実行に使用可能なリソースを設定することを、仮想マシンへのリソースの割り当てと呼ぶ。 In the following description, hardware resources are simply referred to as resources. Setting the resources that can be used to execute a virtual machine is called allocating resources to the virtual machine.

図2は、第2の実施の形態のシステム構成例を示す図である。クラウドコンピューティングシステムには、仮想マシン監視装置100、ロードバランサ200、およびサーバ300が含まれる。仮想マシン監視装置100、ロードバランサ200、およびサーバ300は、管理ネットワーク20で接続されている。管理ネットワーク20は、クラウドコンピューティングシステムの運用管理用のネットワークである。またロードバランサ200とサーバ300とは、業務ネットワーク41で接続されている。業務ネットワーク41は、ロードバランサ200が端末装置31,32,・・・から受信したリクエストのサーバ300への転送、およびリクエストに対するサーバ300からのレスポンスの送信に使用するネットワークである。 FIG. 2 is a diagram showing a system configuration example of the second embodiment. The cloud computing system includes a virtual machine monitoring device 100, a load balancer 200, and a server 300. The virtual machine monitoring device 100, the load balancer 200, and the server 300 are connected by the management network 20. The management network 20 is a network for operation management of a cloud computing system. Further, the load balancer 200 and the server 300 are connected by the business network 41. The business network 41 is a network used by the load balancer 200 to transfer a request received from the terminal devices 31, 32, ... To the server 300, and to transmit a response from the server 300 to the request.

仮想マシン監視装置100は、サーバ300内の仮想マシンに送信されたリクエストの量に基づいて、その仮想マシンに割り当てるリソース量を管理する。例えば仮想マシン監視装置100は、仮想マシンに送信された単位期間当たりのリクエスト量の増加率が、増加率の閾値を超えている場合、その仮想マシンへの資源の追加をサーバ300に指示する。また仮想マシン監視装置100は、仮想マシンに送信された単位期間当たりのリクエスト量の減少率が、減少率の閾値を超えている場合、その仮想マシンの資源の削減をサーバ300に指示する。 The virtual machine monitoring device 100 manages the amount of resources allocated to the virtual machine based on the amount of requests sent to the virtual machine in the server 300. For example, when the increase rate of the request amount per unit period transmitted to the virtual machine exceeds the threshold value of the increase rate, the virtual machine monitoring device 100 instructs the server 300 to add resources to the virtual machine. Further, when the reduction rate of the request amount per unit period transmitted to the virtual machine exceeds the threshold value of the reduction rate, the virtual machine monitoring device 100 instructs the server 300 to reduce the resources of the virtual machine.

ロードバランサ200は、ネットワーク42を介して複数の端末装置31,32,・・・に接続されている。複数の端末装置31,32,・・・それぞれは、サービスを利用するユーザが使用するコンピュータである。ロードバランサ200は、複数の端末装置31,32,・・・のいずれかから送られたリクエストを、サーバ300内の複数の仮想マシンのいずれかに転送する。またロードバランサ200は、リクエストに対するレスポンスをサーバ300内の複数の仮想マシンのいずれかから受信すると、そのレスポンスを、対応するリクエストの送信元の端末装置に転送する。ロードバランサ200は、さらに、仮想マシン監視装置100からの依頼に基づいて、仮想マシンに転送した単位期間当たりのリクエストの量と、リクエストに対するレスポンスタイムを計測する。ロードバランサ200は、計測結果を、仮想マシン監視装置100に送信する。 The load balancer 200 is connected to a plurality of terminal devices 31, 32, ... Via a network 42. Each of the plurality of terminal devices 31, 32, ... Is a computer used by a user who uses the service. The load balancer 200 transfers a request sent from any of the plurality of terminal devices 31, 32, ... To any of the plurality of virtual machines in the server 300. Further, when the load balancer 200 receives the response to the request from any of the plurality of virtual machines in the server 300, the load balancer 200 transfers the response to the terminal device of the transmission source of the corresponding request. The load balancer 200 further measures the amount of requests transferred to the virtual machine per unit period and the response time to the requests based on the request from the virtual machine monitoring device 100. The load balancer 200 transmits the measurement result to the virtual machine monitoring device 100.

サーバ300は、サービスを提供するコンピュータである。サーバ300は、内部で複数の仮想マシンを生成する。複数の仮想マシンそれぞれには、サーバ300が有するリソース(CPU、メモリ、ストレージ装置など)の少なくとも一部が割り当てられる。サーバ300内の複数の仮想マシンそれぞれが、割り当てられたリソースを用いて、端末装置31,32,・・・に対するサービスを提供する。 The server 300 is a computer that provides services. The server 300 internally creates a plurality of virtual machines. At least a part of the resources (CPU, memory, storage device, etc.) of the server 300 is allocated to each of the plurality of virtual machines. Each of the plurality of virtual machines in the server 300 uses the allocated resources to provide services to the terminal devices 31, 32, ....

図3は、第2の実施の形態に用いる仮想マシン監視装置のハードウェアの一構成例を示す図である。仮想マシン監視装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。 FIG. 3 is a diagram showing a configuration example of the hardware of the virtual machine monitoring device used in the second embodiment. The entire device of the virtual machine monitoring device 100 is controlled by the processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU, an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).

メモリ102は、仮想マシン監視装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。 The memory 102 is used as the main storage device of the virtual machine monitoring device 100. At least a part of an OS (Operating System) program or an application program to be executed by the processor 101 is temporarily stored in the memory 102. Further, various data used for processing by the processor 101 are stored in the memory 102. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。 Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.

ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。 The storage device 103 electrically or magnetically writes and reads data from the built-in recording medium. The storage device 103 is used as an auxiliary storage device for a computer. The storage device 103 stores an OS program, an application program, and various data. As the storage device 103, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used.

グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。 A monitor 21 is connected to the graphic processing device 104. The graphic processing device 104 causes the image to be displayed on the screen of the monitor 21 in accordance with the instruction from the processor 101. The monitor 21 includes a display device using a CRT (Cathode Ray Tube), a liquid crystal display device, and the like.

入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 A keyboard 22 and a mouse 23 are connected to the input interface 105. The input interface 105 transmits a signal sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touchpads, trackballs and the like.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。 The optical drive device 106 reads the data recorded on the optical disk 24 by using a laser beam or the like. The optical disk 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disk 24 includes a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

機器接続インタフェース107は、仮想マシン監視装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。 The device connection interface 107 is a communication interface for connecting peripheral devices to the virtual machine monitoring device 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to or reads data from the memory card 27. The memory card 27 is a card-type recording medium.

ネットワークインタフェース108は、管理ネットワーク20に接続されている。ネットワークインタフェース108は、管理ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。 The network interface 108 is connected to the management network 20. The network interface 108 transmits / receives data to / from another computer or communication device via the management network 20.

以上のようなハードウェア構成によって、第2の実施の形態の仮想マシン監視装置100の処理機能を実現することができる。なお仮想マシン監視装置100に対しては、機器接続インタフェース107、またはネットワークインタフェース108を介してデータの入出力を行うことができる。そのため仮想マシン監視装置100には、モニタ21、キーボード22、マウス23などの入出力装置を接続しなくてもよい。また仮想マシン監視装置100は、光学ドライブ装置106を有していなくてもよい。 With the hardware configuration as described above, the processing function of the virtual machine monitoring device 100 of the second embodiment can be realized. Data can be input / output to and from the virtual machine monitoring device 100 via the device connection interface 107 or the network interface 108. Therefore, it is not necessary to connect an input / output device such as a monitor 21, a keyboard 22, and a mouse 23 to the virtual machine monitoring device 100. Further, the virtual machine monitoring device 100 does not have to have the optical drive device 106.

ロードバランサ200とサーバ300も、図3に示した仮想マシン監視装置100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10も、図3に示した仮想マシン監視装置100と同様のハードウェアにより実現することができる。 The load balancer 200 and the server 300 can also be realized by the same hardware as the virtual machine monitoring device 100 shown in FIG. Further, the information processing device 10 shown in the first embodiment can also be realized by the same hardware as the virtual machine monitoring device 100 shown in FIG.

仮想マシン監視装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。仮想マシン監視装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、仮想マシン監視装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また仮想マシン監視装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。 The virtual machine monitoring device 100 realizes the processing function of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium. The program that describes the processing content to be executed by the virtual machine monitoring device 100 can be recorded on various recording media. For example, a program to be executed by the virtual machine monitoring device 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. Further, the program to be executed by the virtual machine monitoring device 100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, and a memory card 27. The program stored in the portable recording medium can be executed after being installed in the storage device 103 under the control of the processor 101, for example. The processor 101 can also read and execute the program directly from the portable recording medium.

以上のような構成のシステムにおいて、仮想マシン監視装置100、ロードバランサ200、およびサーバ300が連携して動作することで、運用中の仮想マシンに割り当てるリソース量を動的に変更することができる。なお、第2の実施の形態では、運用中の仮想マシンに割り当てるリソース量を変更する前に、運用中の仮想マシンのクローンを用いて、リソース量を変更してもよいかどうかが検証される。そして検証の結果問題がない場合に、運用中の仮想マシンに割り当てるリソース量が変更される。 In the system having the above configuration, the virtual machine monitoring device 100, the load balancer 200, and the server 300 operate in cooperation with each other, so that the amount of resources allocated to the virtual machine in operation can be dynamically changed. In the second embodiment, before changing the amount of resources allocated to the virtual machine in operation, it is verified whether or not the amount of resources may be changed by using the clone of the virtual machine in operation. .. If there is no problem as a result of verification, the amount of resources allocated to the virtual machine in operation is changed.

以下の説明では、運用中の仮想マシンを、単に運用マシンと呼ぶこともある。また運用マシンのクローンとして生成される検証用の仮想マシンを、改善マシンと呼ぶこともある。 In the following description, a virtual machine in operation may be simply referred to as an operation machine. A virtual machine for verification generated as a clone of an operation machine is sometimes called an improvement machine.

図4は、仮想マシンへ割り当て資源量を変更するために各装置が有する機能を示すブロック図である。仮想マシン監視装置100は、記憶部110と監視部120とを有する。
記憶部110は、リクエスト監視テーブル111、リソース管理テーブル112、仮想マシン管理テーブル113、およびリソース優先度テーブル114を記憶する。リクエスト監視テーブル111は、運用中の仮想マシンに送信されたリクエストの量と、リクエストに対するレスポンスタイムを管理するためのデータテーブルである。リソース管理テーブル112は、仮想マシンに割り当てるリソースを管理するためのデータテーブルである。仮想マシン管理テーブル113は、仮想マシンの使用目的、現在のリソース構成、レスポンスタイムなどを管理するためのデータテーブルである。記憶部110は、例えば仮想マシン監視装置100が有するメモリまたはストレージ装置の記憶領域の一部を用いて実現される。
FIG. 4 is a block diagram showing a function of each device for changing the amount of resources allocated to the virtual machine. The virtual machine monitoring device 100 has a storage unit 110 and a monitoring unit 120.
The storage unit 110 stores the request monitoring table 111, the resource management table 112, the virtual machine management table 113, and the resource priority table 114. The request monitoring table 111 is a data table for managing the amount of requests sent to the virtual machine in operation and the response time for the requests. The resource management table 112 is a data table for managing the resources allocated to the virtual machine. The virtual machine management table 113 is a data table for managing the purpose of use of the virtual machine, the current resource configuration, the response time, and the like. The storage unit 110 is realized by using, for example, a part of the storage area of the memory or the storage device of the virtual machine monitoring device 100.

監視部120は、仮想マシン331,332,・・・へのリクエストの量に基づいて、仮想マシン331,332,・・・へ割り当てるリソースの増減を決定する。そして監視部120は、決定に従って、サーバ300に対して、仮想マシン331,332,・・・のリソースの追加、または仮想マシン331,332,・・・からのリソースの削除を指示する。監視部120は、このような仮想マシン331,332,・・・のリソースの管理を、オペレータによって予め設定された情報に基づき自動で実行する。 The monitoring unit 120 determines an increase or decrease in the resources allocated to the virtual machines 331, 332, ... Based on the amount of requests to the virtual machines 331, 332, .... Then, the monitoring unit 120 instructs the server 300 to add the resources of the virtual machines 331, 332, ..., Or delete the resources from the virtual machines 331, 332, ... According to the determination. The monitoring unit 120 automatically manages the resources of the virtual machines 331, 332, ... Based on the information preset by the operator.

ロードバランサ200は、記憶部210、負荷分散制御部220、および負荷計測部230を有する。
記憶部210は、ロードバランサ200において仮想マシン331,332,・・・に転送したリクエストに関する情報(リクエスト情報)を蓄積したリクエスト管理テーブル211を記憶する。記憶部210は、例えばロードバランサ200が有するメモリまたはストレージ装置の記憶領域の一部を用いて実現される。
The load balancer 200 has a storage unit 210, a load distribution control unit 220, and a load measurement unit 230.
The storage unit 210 stores the request management table 211 that stores the information (request information) related to the requests transferred to the virtual machines 331, 332, ... In the load balancer 200. The storage unit 210 is realized by using, for example, a part of the storage area of the memory or the storage device included in the load balancer 200.

負荷分散制御部220は、複数の端末装置31,32,・・・から受信したリクエストを、サーバ300内の仮想マシン331,332,・・・のうちの運用中の仮想マシンに転送する。例えば負荷分散制御部220は、運用中の仮想マシンが複数ある場合、それらの仮想マシンの負荷が均等になるように、リクエストの転送先を決定する。また負荷分散制御部220は、サーバ300内の運用中の仮想マシンからリクエストに対するレスポンスを受信すると、そのリクエストの送信元の端末装置へ、受信したレスポンスを送信する。 The load balancing control unit 220 transfers the requests received from the plurality of terminal devices 31, 32, ... To the operating virtual machines among the virtual machines 331, 332, ... In the server 300. For example, when there are a plurality of virtual machines in operation, the load balancing control unit 220 determines a request transfer destination so that the loads of those virtual machines are even. When the load balancing control unit 220 receives a response to a request from an operating virtual machine in the server 300, the load balancing control unit 220 transmits the received response to the terminal device that sends the request.

負荷計測部230は、運用中の仮想マシンへ転送したリクエスト量と、リクエストに対するレスポンスタイムとを計測する。例えば負荷計測部230は、監視部120からのリクエスト量とレスポンスタイムとの監視指示に応じて、監視指示で指定された仮想マシンのリクエスト量とレスポンスタイムとを計測する。 The load measurement unit 230 measures the amount of requests transferred to the virtual machine in operation and the response time to the request. For example, the load measuring unit 230 measures the request amount and the response time of the virtual machine specified by the monitoring instruction in response to the monitoring instruction of the request amount and the response time from the monitoring unit 120.

また負荷計測部230は、複数の仮想マシン331,332,・・・それぞれへ転送したリクエストに関する情報を、リクエスト情報として記憶部210内のリクエスト管理テーブル211に格納する。そして負荷計測部230は、仮想マシン監視装置100からの改善マシンとして生成された仮想マシンのレスポンスタイム特定指示に応じて、リクエスト情報に基づくリクエストを該当する仮想マシンに送信する。負荷計測部230は、改善マシンである仮想マシンからのリクエストに対するレスポンスタイムを計測する。負荷計測部230は、計測したレスポンスタイムを、仮想マシン監視装置100に送信する。 Further, the load measurement unit 230 stores information about the request transferred to each of the plurality of virtual machines 331, 332, ... As request information in the request management table 211 in the storage unit 210. Then, the load measurement unit 230 transmits a request based on the request information to the corresponding virtual machine in response to the response time identification instruction of the virtual machine generated as the improvement machine from the virtual machine monitoring device 100. The load measurement unit 230 measures the response time for a request from a virtual machine, which is an improvement machine. The load measurement unit 230 transmits the measured response time to the virtual machine monitoring device 100.

サーバ300は、記憶部310とハイパーバイザ320とを有している。
記憶部310は、複数の仮想マシン321,322,・・・のいずれかのスナップショット311を記憶する。スナップショットは、特定の時点における運用中の仮想マシンの状態を再現可能な情報である。例えばスナップショットには、運用中の仮想マシンのメモリ内の情報、ストレージ装置内容の情報、CPUのレジスタ内の情報が含まれる。
The server 300 has a storage unit 310 and a hypervisor 320.
The storage unit 310 stores snapshot 311 of any of the plurality of virtual machines 321, 322, .... A snapshot is information that can reproduce the state of a virtual machine in operation at a specific point in time. For example, the snapshot includes information in the memory of the virtual machine in operation, information on the contents of the storage device, and information in the registers of the CPU.

ハイパーバイザ320は、複数の仮想マシン331,332,・・・を管理する。具体的には、ハイパーバイザ320は、複数の仮想マシン331,332,・・・それぞれに割り当てるリソースを決定し、割り当てたリソースを用いて複数の仮想マシン331,332,・・・を稼働させる。例えばハイパーバイザ320は、仮想マシン331を生成する場合、サーバ300のリソースのなかから、仮想マシン331に割り当てるリソースの量を決定する。次にハイパーバイザ320は、決定した量のリソースにより、仮想CPU331a、仮想メモリ331b、および仮想ストレージ装置331cを生成する。ハイパーバイザ320は、これらの仮想的なリソースを有する仮想マシン331を生成する。仮想マシン331では、例えば業務アプリケーションソフトウェア331dを実行する。仮想マシン331は、業務アプリケーションソフトウェア331dを実行することで、例えばアプリケーションサーバとして機能する。そして仮想マシン331は、業務アプリケーションソフトウェア331dに基づいて、受信したリクエストに対する処理を実行し、処理結果を示すレスポンスを送信する。 The hypervisor 320 manages a plurality of virtual machines 331, 332, .... Specifically, the hypervisor 320 determines the resources to be allocated to each of the plurality of virtual machines 331, 332, ..., And operates the plurality of virtual machines 331, 332, ... Using the allocated resources. For example, when the hypervisor 320 generates the virtual machine 331, the hypervisor 320 determines the amount of resources to be allocated to the virtual machine 331 from the resources of the server 300. Next, the hypervisor 320 generates the virtual CPU 331a, the virtual memory 331b, and the virtual storage device 331c with the determined amount of resources. The hypervisor 320 creates a virtual machine 331 having these virtual resources. The virtual machine 331 executes, for example, the business application software 331d. The virtual machine 331 functions as, for example, an application server by executing the business application software 331d. Then, the virtual machine 331 executes the process for the received request based on the business application software 331d, and transmits a response indicating the process result.

複数の仮想マシン331,332,・・・には、運用中のものと、改善マシンとして利用されるものがある。例えば運用中の仮想マシンは、複数の端末装置31,32,・・・からのリクエストに応じてサービスを提供する。改善マシンには、割り当てリソースの量を変更予定の運用中の仮想マシンの、変更後のリソースと同じ量のリソースが割り当てられる。そして改善マシンは、変更後のリソース量で、サービスの要求品質が満たせるかどうかの検証に利用される。 The plurality of virtual machines 331, 332, ... Some are in operation and some are used as improvement machines. For example, a virtual machine in operation provides a service in response to requests from a plurality of terminal devices 31, 32, .... The improved machine is allocated the same amount of resources as the changed resource of the operating virtual machine whose allocated resource amount is scheduled to be changed. Then, the improvement machine is used to verify whether the required quality of service can be satisfied with the changed amount of resources.

このようなシステムにおいて、監視部120により、複数の仮想マシン331,332,・・・のリソース量の追加または削除が管理される。例えば監視部120は、ロードバランサ200から、リクエスト量とレスポンスタイムの計測結果を取得し、取得した計測結果をリクエスト監視テーブル111に記録する。そして監視部120は、過去に取得した計測結果と直近の計測結果とから、仮想マシンに対するリクエスト量の変動率を算出する。 In such a system, the monitoring unit 120 manages the addition or deletion of the resource amount of the plurality of virtual machines 331, 332, .... For example, the monitoring unit 120 acquires the measurement results of the request amount and the response time from the load balancer 200, and records the acquired measurement results in the request monitoring table 111. Then, the monitoring unit 120 calculates the volatility of the request amount for the virtual machine from the measurement results acquired in the past and the latest measurement results.

さらに監視部120は、サーバ300上で作動するハイパーバイザ320から、仮想マシンのリソースの種別ごとのリソース使用率を示す使用リソース情報を取得する。監視部120は、取得した使用リソース情報を、リソース優先度テーブル114に記録する。そして監視部120は、リソース種別間のリソース使用率の比較結果から、リソース種別ごとに、リソース変更の優先度を決定する。 Further, the monitoring unit 120 acquires the resource usage information indicating the resource usage rate for each type of the resource of the virtual machine from the hypervisor 320 operating on the server 300. The monitoring unit 120 records the acquired resource usage information in the resource priority table 114. Then, the monitoring unit 120 determines the priority of resource change for each resource type from the comparison result of the resource usage rate between the resource types.

監視部120は、リクエスト量の変動率を元に、仮想マシンへの割り当てリソースの削減(コスト改善)、または、割り当てリソースの追加(レスポンス改善)処理を行う。監視部120は、コスト改善またはレスポンス改善の各処理を行う場合、ハイパーバイザ320から、仮想マシンのリソース構成情報を取得する。監視部120は、取得したリソース構成情報を、仮想マシン管理テーブル113に記録する。監視部120は、リソース構成情報を利用して、変更する仮想マシンへの割り当てリソースと変更量とを選定する。変更するリソースの選定は、リソース変更の優先度(順位)に基づき決定される。監視部120は、決定に基づいて、サーバ300内のハイパーバイザ320へ、仮想マシンに割り当てるリソース量の変更を指示する。 The monitoring unit 120 performs a process of reducing the allocated resources to the virtual machine (cost improvement) or adding the allocated resources (response improvement) based on the fluctuation rate of the request amount. The monitoring unit 120 acquires the resource configuration information of the virtual machine from the hypervisor 320 when performing each process of cost improvement or response improvement. The monitoring unit 120 records the acquired resource configuration information in the virtual machine management table 113. The monitoring unit 120 selects the resource to be allocated to the virtual machine to be changed and the amount of change by using the resource configuration information. The selection of the resource to be changed is determined based on the priority (order) of the resource change. Based on the decision, the monitoring unit 120 instructs the hypervisor 320 in the server 300 to change the amount of resources allocated to the virtual machine.

なお、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
以下、図5〜図9を参照し、各装置に記憶される情報について詳細に説明する。
The function of each element shown in FIG. 4 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
Hereinafter, the information stored in each device will be described in detail with reference to FIGS. 5 to 9.

図5は、リクエスト監視テーブルの一例を示す図である。リクエスト監視テーブル111には、インターバル期間、リクエスト量、レスポンスタイム、変動率、コスト改善、およびレスポンス改善の欄が設けられている。 FIG. 5 is a diagram showing an example of a request monitoring table. The request monitoring table 111 is provided with columns for interval period, request amount, response time, volatility, cost improvement, and response improvement.

インターバル期間の欄には、リクエスト量計測の単位間隔であるインターバル期間が設定される。図5の例では、インターバル期間は「24時間」であり、24時間ごとのリクエスト量が計測される。リクエスト量の欄は、前回と新規との欄に分かれている。リクエスト量の前回の欄には、前回のリクエスト量の計測時に計測されたリクエストの数が設定される。リクエスト量の新規の欄には、リクエスト量の最後の計測時に計測されたリクエストの数が設定される。レスポンスタイムの欄には、新規のリクエスト量の計測期間内でのレスポンスタイムの代表値(例えば平均値)が設定される。変動率の欄には、リクエスト量の変動率Rが設定される。変動率Rは、新規のリクエスト量を前回のリクエスト量で除算した値である。コスト改善の欄には、コスト改善処理を実行するか否かが設定される。例えば変動率がコスト改善の閾値(図5の例では「0.5」)未満の場合、コスト改善処理が実行される。レスポンス改善の欄には、レスポンス改善処理を実行するか否かが設定される。例えば変動率がレスポンス改善の閾値(図5の例では「1.5」)より大きい場合、レスポンス改善処理が実行される。 In the interval period column, the interval period, which is the unit interval for measuring the request amount, is set. In the example of FIG. 5, the interval period is "24 hours", and the request amount is measured every 24 hours. The request amount column is divided into the previous column and the new column. In the previous column of the request amount, the number of requests measured at the time of measuring the previous request amount is set. In the new field of request amount, the number of requests measured at the time of the last measurement of the request amount is set. In the response time column, a representative value (for example, an average value) of the response time within the measurement period of the new request amount is set. In the volatility column, the volatility R of the request amount is set. The volatility R is a value obtained by dividing the new request amount by the previous request amount. In the cost improvement column, whether or not to execute the cost improvement process is set. For example, if the volatility is less than the cost improvement threshold (“0.5” in the example of FIG. 5), the cost improvement process is executed. In the response improvement column, whether or not to execute the response improvement process is set. For example, when the volatility is larger than the response improvement threshold value (“1.5” in the example of FIG. 5), the response improvement process is executed.

図6は、リソース管理テーブルの一例を示す図である。リソース管理テーブル112には、リソース、Min、Max、増減単位、リソース単価、および優先度の欄が設けられている。 FIG. 6 is a diagram showing an example of a resource management table. The resource management table 112 is provided with columns for resource, Min, Max, increase / decrease unit, resource unit price, and priority.

リソースの欄には、リソースの種別が設定される。Minの欄には、仮想マシンに割り当て可能なリソースの量の最小値が設置される。Maxの欄には、仮想マシンに割り当て可能なリソースの量の最大値が設定される。なお、ストレージ装置の場合、リソースの量に代えて、ストレージ装置のタイプ別のランクが設定される。ストレージのタイプとして、例えば「タイプ1」〜「タイプ5」の5つのタイプが設けられる。タイプの右の数値がランクを示し、ランクを示す数値が小さいほどリソース量が少ないものとみなされる。例えば「タイプ1」のストレージ装置は、ハードディスクにより、RAID(Redundant Arrays of Inexpensive Disks)5のニアラインのストレージシステムである。「タイプ2」のストレージ装置は、ディスクの回転数が1万回転のハードティスクによる、RAID5のストレージシステムである。「タイプ3」のストレージ装置は、ディスクの回転数が1万回転のハードティスクによる、RAID1のストレージシステムである。「タイプ4」のストレージ装置は、SSDによる、RAID5のストレージシステムである。「タイプ5」のストレージ装置は、SSDによる、RAID1のストレージシステムである。 The resource type is set in the resource column. In the Min column, the minimum value of the amount of resources that can be allocated to the virtual machine is set. In the Max column, the maximum value of the amount of resources that can be allocated to the virtual machine is set. In the case of a storage device, a rank for each type of storage device is set instead of the amount of resources. As the storage type, for example, five types of "type 1" to "type 5" are provided. The number to the right of the type indicates the rank, and the smaller the number indicating the rank, the smaller the amount of resources. For example, a "type 1" storage device is a near-line storage system of RAID (Redundant Arrays of Inexpensive Disks) 5 using a hard disk. The "type 2" storage device is a RAID 5 storage system using a hard disk with a disk rotation speed of 10,000 rotations. The "type 3" storage device is a RAID 1 storage system using a hard disk with a disk rotation speed of 10,000 rotations. The "type 4" storage device is a RAID 5 storage system using SSDs. The "type 5" storage device is a RAID 1 storage system using SSDs.

増減単位の欄には、リソースの量を増減させる際の、増減可能な最小の単位が設置される。例えばメモリであれば、2GB単位で増減させることができる。またCPUであれば、2つのCPUコア(2コア)単位で増減させることができる。ストレージ装置であれば、ランクを1段階ずつ変更することができる。 In the increase / decrease unit column, the minimum unit that can be increased / decreased when increasing / decreasing the amount of resources is set. For example, in the case of memory, it can be increased or decreased in units of 2 GB. If it is a CPU, it can be increased or decreased in units of two CPU cores (2 cores). If it is a storage device, the rank can be changed step by step.

リソース単価の欄には、増減単位分のリソースの1ヶ月の使用量が設定される。例えば仮想マシンに割り当てるメモリを2GB増加させた場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$80である。また仮想マシンに割り当てるCPUコア数を2つ増加させた場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$100である。さらに、仮想マシンに割り当てるストレージ装置のランクを1だけ高くした場合、その仮想マシンを使用しているユーザが余分に支払う使用料は、$40である。 In the resource unit price column, the monthly usage amount of resources for the increase / decrease unit is set. For example, if the memory allocated to a virtual machine is increased by 2 GB, the extra usage fee paid by the user using the virtual machine is $ 80. If the number of CPU cores allocated to a virtual machine is increased by two, the extra usage fee paid by the user using the virtual machine is $ 100. Further, if the rank of the storage device assigned to the virtual machine is increased by 1, the extra usage fee paid by the user using the virtual machine is $ 40.

優先度の欄には、仮想マシンにリソースを追加または削除する際の、追加または削除の対象となるリソースの優先度である。最も優先度が高いリソースの優先度の欄には「High(高)」と設定され、次に優先度が高いリソースの優先度の欄には「Mid(中)」と設定され、最も優先度が低いリソースの優先度の欄には「Low(低)」と設定される。図6の例では、メモリが最も優先度が高く、次にCPUの優先度が高く、ストレージ装置の優先度が最も低い。 The priority column is the priority of the resource to be added or deleted when adding or deleting a resource to the virtual machine. "High" is set in the priority column of the resource with the highest priority, and "Mid (medium)" is set in the priority column of the resource with the next highest priority. "Low" is set in the priority column of the resource with low. In the example of FIG. 6, the memory has the highest priority, the CPU has the highest priority, and the storage device has the lowest priority.

図7は、仮想マシン管理テーブルの一例を示す図である。仮想マシン管理テーブル113には、仮想マシン、目的、リソース構成、利用コスト、およびレスポンスタイムの欄が設けられている。 FIG. 7 is a diagram showing an example of a virtual machine management table. The virtual machine management table 113 is provided with columns for virtual machine, purpose, resource configuration, usage cost, and response time.

仮想マシンの欄には、サーバ300内で動作している仮想マシンの名称が設定される。目的の欄には、仮想マシンの使用の目的が設定される。目的としては、「運用」、「コスト改善」、「レスポンス改善」がある。目的「運用」は、サービスの運用に利用する仮想マシンであることを示している。目的「コスト改善」は、コスト改善のための性能評価に用いる改善マシンとして仮想マシンを利用することを示している。目的「レスポンス改善」は、レスポンス改善のための性能評価に用いる改善マシンとして仮想マシンを利用することを示している。 In the virtual machine column, the name of the virtual machine operating in the server 300 is set. In the purpose column, the purpose of using the virtual machine is set. The objectives are "operation", "cost improvement", and "response improvement". The purpose "operation" indicates that it is a virtual machine used for the operation of the service. The purpose "cost improvement" indicates that a virtual machine is used as an improvement machine used for performance evaluation for cost improvement. The purpose "response improvement" indicates that a virtual machine is used as an improvement machine used for performance evaluation for response improvement.

リソース構成の欄には、仮想マシンに割り当てられているリソースの量が設定される。例えばリソース構成の欄には、CPU、メモリ、ストレージ装置それぞれのリソース量が設定される。 In the resource configuration column, the amount of resources allocated to the virtual machine is set. For example, in the resource configuration column, the amount of resources for each of the CPU, memory, and storage device is set.

利用コストの欄には、仮想マシンの1月当たりの利用料が設定される。利用コストは、仮想マシンに割り当てられたリソースの量に基づいて算出される。
レスポンスタイムの欄には、仮想マシンのレスポンスタイムに関する情報が設定される。レスポンスタイムに関する情報としては、基準値、安全係数、計測値、および判定結果が含まれる。基準値(Cr)は、仮想マシンに要求されるレスポンスタイムである。安全係数(k)は、レスポンスタイムが基準値を超えないようにするためのレスポンスタイムの閾値の算出に使用する1以下の定数である。基準値に安全係数を乗算した値が、レスポンスタイムの閾値(k×Cr)となる。図7の例では、基準値(Cr)が「5ms」であり、安全係数が「0.85」であるため、「4.25ms(=0.85×5)」が閾値となる。
In the usage cost column, the monthly usage fee of the virtual machine is set. The usage cost is calculated based on the amount of resources allocated to the virtual machine.
Information about the response time of the virtual machine is set in the response time column. Information on response time includes reference values, safety factors, measured values, and determination results. The reference value (Cr) is the response time required for the virtual machine. The safety factor (k) is a constant of 1 or less used for calculating the response time threshold value so that the response time does not exceed the reference value. The value obtained by multiplying the reference value by the safety factor is the response time threshold value (k × Cr). In the example of FIG. 7, since the reference value (Cr) is “5 ms” and the safety factor is “0.85”, “4.25 ms (= 0.85 × 5)” is the threshold value.

計測値(RT)の欄には、仮想マシンのレスポンスタイムの計測結果(例えば所定期間内に計測したレスポンスタイムの平均値)が設定される。判定結果の欄には、仮想マシンのレスポンスタイムと閾値との比較結果が設定される。図7の例では、仮想マシン「VM A」は、計測値が閾値より小さいため、判定結果は「OK」となっている。仮想マシン「VM B」は、計測値が閾値以上であるため、判定結果は「NG」となっている。仮想マシン「VM C」は、計測値が閾値より小さいため、判定結果は「OK」となっている。 In the measurement value (RT) column, the measurement result of the response time of the virtual machine (for example, the average value of the response times measured within a predetermined period) is set. In the determination result column, the comparison result between the response time of the virtual machine and the threshold value is set. In the example of FIG. 7, since the measured value of the virtual machine "VM A" is smaller than the threshold value, the determination result is "OK". Since the measured value of the virtual machine "VM B" is equal to or greater than the threshold value, the determination result is "NG". Since the measured value of the virtual machine "VM C" is smaller than the threshold value, the determination result is "OK".

図8は、リソース優先度テーブルの一例を示す図である。リソース優先度テーブル114には、リソース、リソース使用率:平均値、リソース使用率:最大値、およびリソース変更の優先度判定値の欄が設けられている。 FIG. 8 is a diagram showing an example of a resource priority table. The resource priority table 114 is provided with columns for resources, resource usage rate: average value, resource usage rate: maximum value, and resource change priority determination value.

リソースの欄には、リソースの種別が設定される。
リソース使用率:平均値の欄内には、さらに使用率、順位(PA)、および係数(kA)の欄が設けられている。リソース使用率:平均値の使用率の欄には、対応するリソースの仮想マシンでの所定期間内の使用率の平均値が設定される。リソース使用率:平均値の順位の欄には、複数のリソースを使用率の平均値が高い順に並べたときの、対応するリソースの順位(PA)が設定される。リソース使用率:平均値の係数の欄には、対応するリソースの変更の優先度判定値を計算する際の、使用率の平均値の順位に対する重みを示す係数(kA)が設定される。
The resource type is set in the resource column.
Resource usage rate: In the column of average value, columns of usage rate, rank (PA), and coefficient (kA) are further provided. Resource usage rate: In the average value usage rate column, the average value of the usage rate of the corresponding resource in the virtual machine within a predetermined period is set. Resource usage rate: In the column of the ranking of the average value, the ranking (PA) of the corresponding resource when a plurality of resources are arranged in descending order of the average value of the usage rate is set. Resource usage rate: In the column of the coefficient of the average value, a coefficient (kA) indicating a weight with respect to the rank of the average value of the usage rate when calculating the priority determination value of the change of the corresponding resource is set.

リソース使用率:最大値の欄内には、さらに使用率、順位(PM)、および係数(kM)の欄が設けられている。リソース使用率:最大値の使用率の欄には、対応するリソースの仮想マシンでの所定期間内の使用率の最大値が設定される。リソース使用率:最大値の順位の欄には、複数のリソースを使用率の最大値が高い順に並べたときの、対応するリソースの順位(PM)が設定される。リソース使用率:最大値の係数の欄には、対応するリソースの変更の優先度判定値を計算する際の、使用率の最大値の順位に対する重みを示す係数(kM)が設定される。 Resource usage rate: In the column of maximum value, columns of usage rate, rank (PM), and coefficient (km) are further provided. Resource usage rate: In the maximum usage rate column, the maximum value of the usage rate of the corresponding resource in the virtual machine within a predetermined period is set. Resource usage rate: In the column of the ranking of the maximum value, the ranking (PM) of the corresponding resource when a plurality of resources are arranged in descending order of the maximum value of the usage rate is set. Resource utilization: In the coefficient column of the maximum value, a coefficient (km) indicating a weight with respect to the rank of the maximum value of the utilization rate when calculating the priority determination value of the change of the corresponding resource is set.

リソース変更の優先度判定値の欄には、対応するリソースの量の変更の優先度判定値が設定される。優先度判定値は、例えば「PA×kA+PM×kM」で計算される値である。優先度判定値の値が小さいリソースほど、リソース量を変更する優先度が高くなる。例えばリソースの種別が3つの場合、優先度判定値が小さい順にリソースを並べたとき、最初のリソースの優先度は「High(高)」となり、2番目のリソースの優先度は「Mid(中)」、3番目のリソースの優先度は「Low(低)」となる。 In the resource change priority determination value column, the priority determination value for changing the amount of the corresponding resource is set. The priority determination value is, for example, a value calculated by "PA × kA + PM × kM". The smaller the priority determination value, the higher the priority for changing the resource amount. For example, when there are three types of resources, when the resources are arranged in ascending order of priority judgment value, the priority of the first resource is "High" and the priority of the second resource is "Mid (medium)". The priority of the third resource is "Low".

なお、各リソースの平均値または最大値の係数は、リソースの性質に基づいて、ユーザにより予め決定されている。例えばメモリは、メモリに格納するデータがメモリ容量を超えても、スワップなどの技術で対処可能であるため、メモリは最大限利用されることが多い。すなわち、メモリの使用率の最大値は、100%近いことが多く、そのような状態であっても、仮想マシンが過負荷であるとは判断できない。そのため図8の例では、メモリの使用率の最大値に対する係数は、他のリソースよりも高く設定されている。これにより、リソース使用率の最大値に関するメモリの使用率の順位が高くても、優先度判定値が多めに見積もられる。 The coefficient of the average value or the maximum value of each resource is predetermined by the user based on the nature of the resource. For example, even if the data stored in the memory exceeds the memory capacity, the memory can be dealt with by a technique such as swapping, so that the memory is often used to the maximum extent. That is, the maximum value of the memory usage rate is often close to 100%, and even in such a state, it cannot be determined that the virtual machine is overloaded. Therefore, in the example of FIG. 8, the coefficient with respect to the maximum value of the memory usage rate is set higher than that of other resources. As a result, even if the memory usage rate ranks higher with respect to the maximum resource usage rate, the priority determination value is overestimated.

またストレージ装置は、コスト改善またはレスポンス改善を実現するには、ストレージの種別を変えることとなる。例えば仮想マシンに割り当てるストレージ装置が、RAID5のストレージ装置からRAID1のストレージ装置に変更される。このようなストレージの種別の変更処理は、データの移動を伴い、時間がかかる。そのため図8の例では、ストレージ装置についてのリソース使用率の平均値に対数する係数は、他のリソースよりも高く設定されている。これにより、リソース使用率の平均値に関するストレージ装置の使用率の順位が高くても、優先度判定値が多めに見積もられる。 In addition, the storage device will change the type of storage in order to realize cost improvement or response improvement. For example, the storage device assigned to the virtual machine is changed from the storage device of RAID 5 to the storage device of RAID 1. Such a storage type change process involves the movement of data and takes time. Therefore, in the example of FIG. 8, the coefficient logarithmic to the average value of the resource usage rate of the storage device is set higher than that of other resources. As a result, even if the ranking of the storage device usage rate with respect to the average value of the resource usage rate is high, the priority determination value is overestimated.

図9は、ロードバランサが記憶するリクエスト管理テーブルの一例を示す図である。リクエスト管理テーブル211には、受信時刻、リクエスト、転送先仮想マシン、およびレスポンスタイムの欄が設けられている。 FIG. 9 is a diagram showing an example of a request management table stored in the load balancer. The request management table 211 is provided with columns for reception time, request, transfer destination virtual machine, and response time.

受信時刻の欄には、端末装置31,32,・・・から受信したリクエストの受信時刻が設定される。リクエストの欄には、受信したリクエストの内容が設定される。転送先仮想マシンの欄には、リクエストの転送先の仮想マシンの名称が設定される。レスポンスタイムの欄には、リクエストを仮想マシンに転送してから、その仮想マシンからレスポンスが返されるまでの時間(レスポンスタイム)が設定される。 In the reception time column, the reception time of the request received from the terminal devices 31, 32, ... Is set. The content of the received request is set in the request field. The name of the virtual machine to which the request is transferred is set in the transfer destination virtual machine field. In the response time column, the time (response time) from when the request is transferred to the virtual machine until the response is returned from the virtual machine is set.

次に、リソース量の自動変更処理について詳細に説明する。リソース量の自動変更処理は、大別するとリクエスト監視処理と最適化処理(コスト改善またはレスポンス改善処理)とに分けられる。以下、図10と図11とを参照して、リクエスト監視処理と最適化処理との概略を説明する。 Next, the automatic change processing of the resource amount will be described in detail. The automatic resource amount change process is roughly divided into request monitoring process and optimization process (cost improvement or response improvement process). Hereinafter, the outline of the request monitoring process and the optimization process will be described with reference to FIGS. 10 and 11.

図10は、リクエスト監視処理の手順の一例を示すシーケンス図である。リクエスト監視処理では、まず仮想マシン監視装置100は、サーバ300へ、運用中の仮想マシンのスナップショット生成指示を送信する(ステップS101)。スナップショット生成指示を受信したサーバ300は、仮想マシンのスナップショットを生成する(ステップS102)。 FIG. 10 is a sequence diagram showing an example of the procedure of the request monitoring process. In the request monitoring process, the virtual machine monitoring device 100 first transmits a snapshot generation instruction of the virtual machine in operation to the server 300 (step S101). Upon receiving the snapshot generation instruction, the server 300 generates a snapshot of the virtual machine (step S102).

次に仮想マシン監視装置100は、リクエスト量・レスポンスタイム計測指示を、ロードバランサ200に送信する(ステップS103)。ロードバランサ200は、リクエスト量・レスポンスタイム計測指示に応じて、サーバ300内の運用中の仮想マシンに転送したリクエスト量を計数し、各リクエストに対するレスポンスタイムの平均値を計算する(ステップS104)。そしてロードバランサ200は、リクエスト量とレスポンスタイムの平均値とを、計測結果として仮想マシン監視装置100に送信する(ステップS105)。 Next, the virtual machine monitoring device 100 transmits a request amount / response time measurement instruction to the load balancer 200 (step S103). The load balancer 200 counts the amount of requests transferred to the operating virtual machine in the server 300 in response to the request amount / response time measurement instruction, and calculates the average value of the response times for each request (step S104). Then, the load balancer 200 transmits the request amount and the average value of the response times to the virtual machine monitoring device 100 as the measurement result (step S105).

次に仮想マシン監視装置100は、運用中の仮想マシンのリソース使用率の要求を、サーバ300に送信する(ステップS106)。サーバ300は、仮想マシン監視装置100からの要求に応じて、仮想マシンのリソース利用率の情報を応答する(ステップS107)。例えばサーバ300では、仮想マシン331,332,・・・それぞれのOSが、リソース使用率を計測している。そしてハイパーバイザ320が、仮想マシン監視装置100からの要求に応じて、仮想マシン331,332,・・・それぞれのOSからリソース使用率の情報を取得し、仮想マシン監視装置100に送信する。 Next, the virtual machine monitoring device 100 transmits a request for the resource usage rate of the virtual machine in operation to the server 300 (step S106). The server 300 responds to the information on the resource utilization rate of the virtual machine in response to the request from the virtual machine monitoring device 100 (step S107). For example, in the server 300, each OS of the virtual machines 331, 332, ... Measures the resource usage rate. Then, the hypervisor 320 acquires the resource usage information from each OS of the virtual machines 331, 332, ... In response to the request from the virtual machine monitoring device 100, and transmits the information to the virtual machine monitoring device 100.

仮想マシン監視装置100は、仮想マシンのリソース使用率の情報に基づいて、リソースごとに優先度判定値を算出し、リソース変更の優先度を決定する(ステップS108)。次に仮想マシン監視装置100は、リクエスト量に基づいて、リクエスト量の変動率を算出する(ステップS109)。そして仮想マシン監視装置100は、取得した情報を解析し、最適化処理(コスト改善処理またはレスポンス改善処理)を選択する。 The virtual machine monitoring device 100 calculates a priority determination value for each resource based on the information on the resource usage rate of the virtual machine, and determines the priority of resource change (step S108). Next, the virtual machine monitoring device 100 calculates the volatility of the request amount based on the request amount (step S109). Then, the virtual machine monitoring device 100 analyzes the acquired information and selects an optimization process (cost improvement process or response improvement process).

図11は、最適化処理の手順の一例を示すシーケンス図である。最適化処理では、仮想マシン監視装置100は、運用中の仮想マシン(運用マシン)に割り当てられたリソースの構成の情報を、サーバ300に要求する(ステップS121)。するとサーバ300は、運用マシンに割り当てたリソースの構成を示す情報を、仮想マシン監視装置100に送信する(ステップS122)。 FIG. 11 is a sequence diagram showing an example of the procedure of the optimization process. In the optimization process, the virtual machine monitoring device 100 requests the server 300 for information on the configuration of resources allocated to the virtual machine (operating machine) being operated (step S121). Then, the server 300 transmits the information indicating the configuration of the resources allocated to the operation machine to the virtual machine monitoring device 100 (step S122).

仮想マシン監視装置100は、運用マシンに割り当てられたリソース量を格納する(ステップS123)。次に仮想マシン監視装置100は、運用マシンの最適なリソース量を決定する(ステップS124)。そして仮想マシン監視装置100は、サーバ300に対して改善マシンの生成を指示する(ステップS125)。サーバ300は、指示に従って改善マシンとして使用する仮想マシンを生成する(ステップS126)。 The virtual machine monitoring device 100 stores the amount of resources allocated to the operation machine (step S123). Next, the virtual machine monitoring device 100 determines the optimum amount of resources of the operating machine (step S124). Then, the virtual machine monitoring device 100 instructs the server 300 to generate an improved machine (step S125). The server 300 creates a virtual machine to be used as an improvement machine according to the instruction (step S126).

次に仮想マシン監視装置100は、サーバ300へ、改善マシンへのスナップショット適用指示を送信する(ステップS127)。サーバ300は、指示に従って、運用マシンのスナップショットを改善マシンで復元する(ステップS128)。続けて、仮想マシン監視装置100は、サーバ300へ、ステップS124で決定した最適なリソース量を改善マシンに割り当てるように、改善マシンのリソース量変更指示を送信する(ステップS129)。サーバ300は、指示に従って改善マシンに割り当てるリソースの量を変更する(ステップS130)。 Next, the virtual machine monitoring device 100 transmits a snapshot application instruction to the improvement machine to the server 300 (step S127). The server 300 restores the snapshot of the operation machine on the improvement machine according to the instruction (step S128). Subsequently, the virtual machine monitoring device 100 transmits a resource amount change instruction of the improvement machine to the server 300 so as to allocate the optimum resource amount determined in step S124 to the improvement machine (step S129). The server 300 changes the amount of resources allocated to the improvement machine according to the instruction (step S130).

仮想マシン監視装置100は、ロードバランサ200に対して、改善マシンのレスポンスタイム計測指示を送信する(ステップS131)。ロードバランサ200は、過去に運用サーバに送信したリクエストのログを記録しており、仮想マシン監視装置100からのレスポンスタイム計測指示に応じて、記録しておいたリクエストを改善マシン宛てに送信する(ステップS132)。サーバ300では、改善マシンにより、リクエストに応じた処理が実行される。そしてサーバ300内の改善マシンは、ロードバランサ200にリクエストに対する応答を送信する(ステップS133)。ロードバランサ200は、リクエストの送信から応答までの時間を計測し、計測結果をレスポンスタイムとする。ロードバランサ200は、レスポンスタイムの計測結果を、仮想マシン監視装置100に送信する(ステップS134)。 The virtual machine monitoring device 100 transmits a response time measurement instruction of the improved machine to the load balancer 200 (step S131). The load balancer 200 records a log of requests sent to the operation server in the past, and sends the recorded request to the improvement machine in response to a response time measurement instruction from the virtual machine monitoring device 100 ( Step S132). On the server 300, the improvement machine executes processing in response to the request. Then, the improvement machine in the server 300 sends a response to the request to the load balancer 200 (step S133). The load balancer 200 measures the time from the transmission of the request to the response, and uses the measurement result as the response time. The load balancer 200 transmits the measurement result of the response time to the virtual machine monitoring device 100 (step S134).

仮想マシン監視装置100は、改善マシンのレスポンスタイムが、運用マシンに求められるレスポンスタイムの要件を満たしているか否かを判定する(ステップS135)。仮想マシン監視装置100は、レスポンスタイムの要件が満たされると判定した場合、サーバ300に対して、運用マシンのリソース量を、ステップS124で決定した最適なリソース量に変更するように指示する(ステップS136)。サーバ300は、指示に従って運用マシンのリソース量を変更する(ステップS137)。 The virtual machine monitoring device 100 determines whether or not the response time of the improved machine satisfies the response time requirement required for the operating machine (step S135). When the virtual machine monitoring device 100 determines that the response time requirement is satisfied, the virtual machine monitoring device 100 instructs the server 300 to change the resource amount of the operating machine to the optimum resource amount determined in step S124 (step). S136). The server 300 changes the resource amount of the operation machine according to the instruction (step S137).

このようにして、運用マシンのリソース量が自動で変更される。
次に、各装置が実行する処理を詳細に説明する。
図12は、仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの前半である。以下、図12に示す処理をステップ番号に沿って説明する。
In this way, the amount of resources of the production machine is automatically changed.
Next, the processing executed by each device will be described in detail.
FIG. 12 is the first half of a flowchart showing an example of the procedure of request monitoring processing in the virtual machine monitoring device. Hereinafter, the process shown in FIG. 12 will be described along with the step numbers.

[ステップS201]監視部120は、各種データテーブルを生成する。具体的には、監視部120は、リクエスト監視テーブル111、リソース管理テーブル112、およびリソース優先度テーブル114を新たに生成する。この時点では、リクエスト監視テーブル111には、インターバル期間のみが設定されている。インターバル期間は、リクエスト量を計数する期間である。インターバル期間は、ユーザにより予め指定されている。 [Step S201] The monitoring unit 120 generates various data tables. Specifically, the monitoring unit 120 newly generates a request monitoring table 111, a resource management table 112, and a resource priority table 114. At this point, only the interval period is set in the request monitoring table 111. The interval period is a period for counting the request amount. The interval period is predetermined by the user.

なお、過去に実行したリクエスト監視処理により、リクエスト監視テーブル111とリソース管理テーブル112とリソース優先度テーブル114とが生成済みの場合、ステップS201の処理は省略される。 If the request monitoring table 111, the resource management table 112, and the resource priority table 114 have already been generated by the request monitoring process executed in the past, the process in step S201 is omitted.

[ステップS202]監視部120は、各種データテーブルに設定するデータの入力を受け付ける。例えば監視部120は、リソース管理テーブル112の各欄(図6参照)のうち、リソース、Min、Max、増減単位、リソース単価の欄に設定するデータの入力を受け付ける。そして監視部120は、ユーザにより入力されたデータを、リソース管理テーブル112に設定する。また監視部120は、リソース優先度テーブル114の各欄(図8参照)のうち、リソース使用率:平均値の係数の欄とリソース使用率:最大値の係数の欄とに設定する値の入力を受け付ける。そして監視部120は、ユーザにより入力されたデータを、リソース優先度テーブル114に設定する。 [Step S202] The monitoring unit 120 receives input of data to be set in various data tables. For example, the monitoring unit 120 receives input of data to be set in the resource, Min, Max, increase / decrease unit, and resource unit price columns in each column (see FIG. 6) of the resource management table 112. Then, the monitoring unit 120 sets the data input by the user in the resource management table 112. Further, the monitoring unit 120 inputs a value to be set in each column of the resource priority table 114 (see FIG. 8) in the resource usage rate: average value coefficient column and the resource usage rate: maximum value coefficient column. Accept. Then, the monitoring unit 120 sets the data input by the user in the resource priority table 114.

[ステップS203]監視部120は、ロードバランサ200内の負荷計測部230およびサーバ300内のハイパーバイザ320それぞれとの間で、管理ネットワーク20を介して通信を接続する。 [Step S203] The monitoring unit 120 connects communication between the load measuring unit 230 in the load balancer 200 and the hypervisor 320 in the server 300 via the management network 20.

[ステップS204]監視部120は、サーバ300内のハイパーバイザ320に対して、運用中の仮想マシンのスナップショット作成を指示する。
[ステップS205]監視部120は、ロードバランサ200内の負荷計測部230に対して、リクエスト量とレスポンスタイムとの計測指示を送信する。この計測指示に応じて、負荷計測部230において運用中の仮想マシンへのリクエストが監視され、リクエスト量とレスポンスタイムとの計測が開始される。
[Step S204] The monitoring unit 120 instructs the hypervisor 320 in the server 300 to create a snapshot of the virtual machine in operation.
[Step S205] The monitoring unit 120 transmits a measurement instruction of the request amount and the response time to the load measuring unit 230 in the load balancer 200. In response to this measurement instruction, the load measurement unit 230 monitors the request to the virtual machine in operation, and starts measuring the request amount and the response time.

[ステップS206]監視部120は、所定時間待機する。待機する所定時間は、ユーザにより予め設定されている。
[ステップS207]監視部120は、ロードバランサ200内の負荷計測部230に対して、リクエスト量の監視終了と同時にリクエスト情報の計測終了を指示する。計測終了指示に応じて、負荷計測部230から、計測結果が応答される。計測結果には、例えば仮想マシンに所定期間内に送信したリクエスト量と、その期間の平均のレスポンスタイムとが含まれる。
[Step S206] The monitoring unit 120 waits for a predetermined time. The predetermined time to wait is preset by the user.
[Step S207] The monitoring unit 120 instructs the load measuring unit 230 in the load balancer 200 to end the measurement of the request information at the same time as the end of monitoring the request amount. In response to the measurement end instruction, the load measurement unit 230 responds with the measurement result. The measurement result includes, for example, the amount of requests sent to the virtual machine within a predetermined period and the average response time during that period.

[ステップS208]監視部120は、応答された計測結果に基づいて、リクエスト監視テーブル111を更新する。例えば監視部120は、最新の計測結果に含まれるリクエスト量を、リクエスト監視テーブル111のリクエスト量の新規の欄に設定する。この際、新規の欄に、前回の計測結果に示されていたリクエスト量が設定されている場合、そのリクエスト量を、リクエスト量の前回の欄にコピーした後に、新規の欄に最新のリクエスト量を書き込む。また監視部120は、最新の計測結果に含まれるレスポンスタイムを、リクエスト監視テーブル111のレスポンスタイムの欄に設定する。また監視部120は、新規のリクエスト量を前回のリクエスト量で除算することで、変動率を算出し、リクエスト監視テーブル111の変動率の欄に設定する。 [Step S208] The monitoring unit 120 updates the request monitoring table 111 based on the returned measurement result. For example, the monitoring unit 120 sets the request amount included in the latest measurement result in a new column of the request amount in the request monitoring table 111. At this time, if the request amount shown in the previous measurement result is set in the new column, after copying the request amount to the previous column of the request amount, the latest request amount is set in the new column. To write. Further, the monitoring unit 120 sets the response time included in the latest measurement result in the response time column of the request monitoring table 111. Further, the monitoring unit 120 calculates the volatility by dividing the new request amount by the previous request amount, and sets it in the volatility column of the request monitoring table 111.

[ステップS209]監視部120は、リクエスト監視テーブル111に前回のリクエスト量が設定されているか否かを判断する。監視部120は、前回のリクエスト量が設定されている場合、処理をステップS210に進める。また監視部120は、前回のリクエスト量が設定されていない場合、処理をステップS205に進める。 [Step S209] The monitoring unit 120 determines whether or not the previous request amount is set in the request monitoring table 111. If the previous request amount is set, the monitoring unit 120 advances the process to step S210. If the previous request amount is not set, the monitoring unit 120 advances the process to step S205.

[ステップS210]監視部120は、仮想マシンのリソース使用率に関する情報を、サーバ300内のハイパーバイザ320に要求する。この要求に応じて、ハイパーバイザ320から、リソース使用率に関する情報が応答される。リソース使用率に関する情報には、CPU、メモリ、ストレージ装置それぞれの使用率の平均値と最大値とが含まれる。 [Step S210] The monitoring unit 120 requests the hypervisor 320 in the server 300 for information on the resource usage rate of the virtual machine. In response to this request, the hypervisor 320 responds with information about resource utilization. The information regarding the resource usage rate includes the average value and the maximum value of the usage rate of each of the CPU, the memory, and the storage device.

[ステップS211]監視部120は、リソース使用率に関する情報に基づいて、リソース優先度テーブル114を更新する。例えば、監視部120は、リソース優先度テーブル114のリソース使用率:平均値の使用率の欄に、各リソースの使用率の平均値を設定し、リソース優先度テーブル114のリソース使用率:最大値の使用率の欄に、各リソースの使用率の最大値を設定する。監視部120は、その後、処理をステップS221(図13参照)に進める。 [Step S211] The monitoring unit 120 updates the resource priority table 114 based on the information regarding the resource usage rate. For example, the monitoring unit 120 sets the average value of the usage rate of each resource in the resource usage rate: average value usage rate column of the resource priority table 114, and the resource usage rate of the resource priority table 114: maximum value. Set the maximum value of the usage rate of each resource in the usage rate column of. The monitoring unit 120 then proceeds to step S221 (see FIG. 13).

図13は、仮想マシン監視装置におけるリクエスト監視処理の手順の一例を示すフローチャートの後半である。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS221]監視部120は、各リソースのリソース使用率の順位を決定する。例えば監視部120は、リソース優先度テーブル114を参照し、まず、リソース使用率:平均値の使用率の欄に設定されている各リソースの使用率を比較し、使用率の高い順に順位を決定する。そして監視部120は、リソース使用率の平均値の順位を、リソース優先度テーブル114のリソース使用率:平均値の順位の欄に、各リソースに対応付けて設定する。次に監視部120は、リソース優先度テーブル114のリソース使用率:最大値の欄に設定されている各リソースの使用率を比較し、使用率の高い順に順位を決定する。そして監視部120は、リソース使用率の最大値の順位を、リソース優先度テーブル114のリソース使用率:最大値の順位の欄に、各リソースに対応付けて設定する。
FIG. 13 is the latter half of the flowchart showing an example of the procedure of the request monitoring process in the virtual machine monitoring device. Hereinafter, the process shown in FIG. 13 will be described along with the step numbers.
[Step S221] The monitoring unit 120 determines the order of the resource usage rate of each resource. For example, the monitoring unit 120 refers to the resource priority table 114, first compares the usage rate of each resource set in the resource usage rate: average value usage rate column, and determines the ranking in descending order of usage rate. do. Then, the monitoring unit 120 sets the rank of the average value of the resource usage rate in the column of the resource usage rate: rank of the average value of the resource priority table 114 in association with each resource. Next, the monitoring unit 120 compares the usage rates of each resource set in the resource usage rate: maximum value column of the resource priority table 114, and determines the order in descending order of usage rate. Then, the monitoring unit 120 sets the order of the maximum value of the resource usage rate in the column of the resource usage rate: maximum value order of the resource priority table 114 in association with each resource.

[ステップS222]監視部120は、リソースごとに、リソース変更の優先度を決定する。例えば監視部120は、使用率の平均値の順位(PA)に係数(kA)を乗算した値と、使用率の最大値の順位(PM)に係数(kM)を乗算した値との加算結果を、リソース変更の優先度判定値とする。監視部120は、各リソースについて算出したリソース変更の優先度判定値を、リソース優先度テーブル114のリソース変更の優先度判定値の欄に設定する。 [Step S222] The monitoring unit 120 determines the priority of resource change for each resource. For example, the monitoring unit 120 adds the value obtained by multiplying the rank (PA) of the average value of the usage rate by the coefficient (kA) and the value obtained by multiplying the rank (PM) of the maximum value of the usage rate by the coefficient (km). Is the priority judgment value for resource change. The monitoring unit 120 sets the resource change priority determination value calculated for each resource in the resource change priority determination value column of the resource priority table 114.

さらに監視部120は、各リソースのリソース変更の優先度判定値に基づいて、各リソースの優先度を決定し、リソース管理テーブル112の優先度の欄に設定する。例えば監視部120は、リソース変更の優先度判定値が最も高いリソースの優先度を「High」、リソース変更の優先度判定値が2番目に高いリソースの優先度を「Mid」、リソース変更の優先度判定値が最も低いリソースの優先度を「Low」とする。 Further, the monitoring unit 120 determines the priority of each resource based on the priority determination value of the resource change of each resource, and sets the priority in the priority column of the resource management table 112. For example, the monitoring unit 120 sets the priority of the resource having the highest resource change priority judgment value as "High", the priority of the resource having the second highest resource change priority judgment value as "Mid", and the resource change priority. The priority of the resource with the lowest degree judgment value is set to "Low".

[ステップS223]監視部120は、レスポンスタイムが閾値以上か否かを判断する。閾値は、仮想マシン管理テーブル113に設定されている基準値×安全係数である。監視部120は、レスポンスタイムが閾値以上の場合、処理をステップS228に進める。また監視部120は、レスポンスタイムが閾値未満の場合、処理をステップS224に進める。 [Step S223] The monitoring unit 120 determines whether or not the response time is equal to or greater than the threshold value. The threshold value is the reference value × safety factor set in the virtual machine management table 113. When the response time is equal to or greater than the threshold value, the monitoring unit 120 advances the process to step S228. If the response time is less than the threshold value, the monitoring unit 120 advances the process to step S224.

[ステップS224]監視部120は、リクエスト監視テーブル111に設定されている変動率に基づいて、リクエスト量の増減の傾向を判定する。例えば監視部120は、変動率が、コスト改善の閾値(例えば「0.5」)未満の場合、リクエスト量が減少傾向にあると判定し、リクエスト監視テーブル111の”コスト改善の欄に「Yes」を書き込む。また監視部120は、変動率が、コスト改善の閾値以上の場合、リクエスト量が減少傾向にはないと判定し、リクエスト監視テーブル111のコスト改善の欄に「No」を書き込む。さらに監視部120は、変動率が、レスポンス改善の閾値(例えば「1.5」)より大きい場合、リクエスト量が増加傾向にあると判定し、リクエスト監視テーブル111のレスポンス改善の欄に「Yes」を書き込む。また監視部120は、変動率が、レスポンス改善の閾値以下の場合、リクエスト量が増加傾向にはないと判定し、リクエスト監視テーブル111のレスポンス改善の欄に「No」を書き込む。 [Step S224] The monitoring unit 120 determines the tendency of increase / decrease in the request amount based on the volatility set in the request monitoring table 111. For example, when the volatility is less than the cost improvement threshold value (for example, "0.5"), the monitoring unit 120 determines that the request amount tends to decrease, and "Yes" in the "cost improvement column" of the request monitoring table 111. "Written. Further, when the volatility is equal to or higher than the cost improvement threshold value, the monitoring unit 120 determines that the request amount does not tend to decrease, and writes "No" in the cost improvement column of the request monitoring table 111. Further, the monitoring unit 120 determines that the request amount tends to increase when the volatility is larger than the response improvement threshold value (for example, "1.5"), and "Yes" in the response improvement column of the request monitoring table 111. To write. Further, the monitoring unit 120 determines that the request amount does not tend to increase when the volatility is equal to or less than the response improvement threshold value, and writes "No" in the response improvement column of the request monitoring table 111.

[ステップS225]監視部120は、リクエスト監視テーブル111のコスト改善のステータスを照会する。例えば監視部120は、コスト改善の欄に「Yes」が設定されている場合、処理をステップS227に進める。監視部120は、コスト改善の欄に「No」が設定されている場合、処理をステップS226に進める。 [Step S225] The monitoring unit 120 inquires about the cost improvement status of the request monitoring table 111. For example, when "Yes" is set in the cost improvement column, the monitoring unit 120 advances the process to step S227. When "No" is set in the cost improvement column, the monitoring unit 120 advances the process to step S226.

[ステップS226]監視部120は、リクエスト監視テーブル111のレスポンス改善のステータスを照会する。監視部120は、レスポンス改善の欄に「Yes」が設定されている場合、処理をステップS228に進める。監視部120は、レスポンス改善の欄に「No」が設定されている場合、処理をステップS205(図12参照)に進める。 [Step S226] The monitoring unit 120 inquires about the response improvement status of the request monitoring table 111. If "Yes" is set in the response improvement column, the monitoring unit 120 proceeds to step S228. When "No" is set in the response improvement column, the monitoring unit 120 proceeds to step S205 (see FIG. 12).

[ステップS227]監視部120は、コスト改善処理を行う。コスト改善処理の詳細は後述する(図15、図16参照)。監視部120は、コスト改善処理が終了すると、リクエスト監視処理を終了する。 [Step S227] The monitoring unit 120 performs cost improvement processing. Details of the cost improvement process will be described later (see FIGS. 15 and 16). When the cost improvement process is completed, the monitoring unit 120 ends the request monitoring process.

[ステップS228]監視部120は、レスポンス改善処理を行う。レスポンス改善処理の詳細は後述する(図17、図18参照)。監視部120は、コスト改善処理が終了すると、リクエスト監視処理を終了する。 [Step S228] The monitoring unit 120 performs a response improvement process. Details of the response improvement process will be described later (see FIGS. 17 and 18). When the cost improvement process is completed, the monitoring unit 120 ends the request monitoring process.

このようにして、リクエストを監視して、リクエスト量が急増していればレスポンス改善処理が行われ、リクエスト量が急減していればコスト改善処理が行われる。
ここで、コスト改善処理とレスポンス改善処理の詳細を説明する前に、ロードバランサ200によるリクエスト量・レスポンスタイム計測処理について詳細に説明する。
In this way, the request is monitored, and if the request amount suddenly increases, the response improvement process is performed, and if the request amount suddenly decreases, the cost improvement process is performed.
Here, before explaining the details of the cost improvement process and the response improvement process, the request amount / response time measurement process by the load balancer 200 will be described in detail.

図14は、リクエスト量・レスポンスタイム計測処理の手順の一例を示すフローチャートである。なおリクエスト量の監視処理は、仮想マシン監視装置100内の監視部120からリクエスト量・レスポンスタイム計測指示を受信したときに実行される。以下、図14に示す処理をステップ番号に沿って説明する。 FIG. 14 is a flowchart showing an example of the procedure for measuring the request amount and response time. The request amount monitoring process is executed when a request amount / response time measurement instruction is received from the monitoring unit 120 in the virtual machine monitoring device 100. Hereinafter, the process shown in FIG. 14 will be described along with the step numbers.

[ステップS301]ロードバランサ200の負荷計測部230は、負荷分散制御部220による負荷分散処理を監視し、端末装置31,32,・・・からのリクエストを仮想マシン331,332,・・・に転送したか否かを判断する。負荷計測部230は、リクエストの転送があった場合、処理をステップS302に進める。また負荷計測部230は、リクエストの転送がなければ、処理をステップS304に進める。 [Step S301] The load measuring unit 230 of the load balancer 200 monitors the load distribution process by the load distribution control unit 220, and sends requests from the terminal devices 31, 32, ... To the virtual machines 331, 332, .... Determine if it has been transferred. When the request is transferred, the load measurement unit 230 advances the process to step S302. If the load measurement unit 230 does not transfer the request, the load measurement unit 230 proceeds to step S304.

[ステップS302]負荷計測部230は、転送したリクエストに関するリクエスト情報を、リクエスト管理テーブル211に登録する。
[ステップS303]負荷計測部230は、転送したリクエストに対応する仮想マシンからの応答を待ち、そのリクエストに対するレスポンスタイムを計測する。そして負荷計測部230は、計測したレスポンスタイムを、ステップS302で登録したリクエスト情報に関連付けて、リクエスト管理テーブル211のレスポンスタイムの欄に設定する。
[Step S302] The load measurement unit 230 registers the request information regarding the transferred request in the request management table 211.
[Step S303] The load measurement unit 230 waits for a response from the virtual machine corresponding to the transferred request, and measures the response time for the request. Then, the load measurement unit 230 associates the measured response time with the request information registered in step S302, and sets it in the response time column of the request management table 211.

[ステップS304]負荷計測部230は、仮想マシン監視装置100内の監視部120から、計測終了指示を受信したか否かを判断する。負荷計測部230は、計測終了指示を受信した場合、処理をステップS305に進める。また負荷計測部230は、計測終了指示を受信していなければ、処理をステップS301に進める。 [Step S304] The load measuring unit 230 determines whether or not a measurement end instruction has been received from the monitoring unit 120 in the virtual machine monitoring device 100. When the load measurement unit 230 receives the measurement end instruction, the load measurement unit 230 proceeds to step S305. If the load measurement unit 230 has not received the measurement end instruction, the load measurement unit 230 proceeds to step S301.

[ステップS305]負荷計測部230は、リクエスト管理テーブル211に格納したリクエスト情報に基づいて、リクエスト量を計数する。例えば負荷計測部230は、リクエスト量・レスポンスタイム計測指示を受信後、計測終了指示を受信するまでの期間内の時刻が受信時刻に設定されており、転送先仮想マシンが運用中の仮想マシンであるリクエストのリクエスト情報を特定する。そして負荷計測部230は特定したリクエスト情報の数を計数し、運用中の仮想マシンへのリクエスト量とする。 [Step S305] The load measurement unit 230 counts the request amount based on the request information stored in the request management table 211. For example, in the load measurement unit 230, the time within the period from receiving the request amount / response time measurement instruction to receiving the measurement end instruction is set as the reception time, and the transfer destination virtual machine is an operating virtual machine. Identify the request information for a request. Then, the load measurement unit 230 counts the number of the specified request information and sets it as the request amount to the virtual machine in operation.

[ステップS306]負荷計測部230は、レスポンスタイムの平均値を計算する。例えばステップS305で特定したリクエスト情報それぞれのレスポンスタイムを合計し、合計をリクエスト量で除算した結果を、レスポンスタイムの平均値とする。 [Step S306] The load measuring unit 230 calculates the average value of the response times. For example, the response times of the request information specified in step S305 are totaled, and the result of dividing the total by the request amount is used as the average value of the response times.

[ステップS307]負荷計測部230は、リクエスト量とレスポンスタイムの平均値とを、計測結果として仮想マシン監視装置100の監視部120に送信する。
このように、ロードバランサ200において計測されたリクエスト量とレスポンスタイム(平均値)とに基づいて、仮想マシン監視装置100においてコスト改善処理またはレスポンス改善処理を実行するか否かが決定され、決定された処理が実行される。
[Step S307] The load measurement unit 230 transmits the request amount and the average value of the response time to the monitoring unit 120 of the virtual machine monitoring device 100 as the measurement result.
In this way, based on the request amount and the response time (average value) measured by the load balancer 200, it is determined and determined whether or not to execute the cost improvement process or the response improvement process in the virtual machine monitoring device 100. Processing is executed.

図15は、コスト改善処理の手順の一例を示すフローチャートの前半である。運用中の仮想マシン331のコスト改善処理を実行するものとして、以下、図15に示す処理をステップ番号に沿って説明する。 FIG. 15 is the first half of a flowchart showing an example of the cost improvement processing procedure. Assuming that the cost improvement process of the virtual machine 331 in operation is executed, the process shown in FIG. 15 will be described below along with the step numbers.

[ステップS401]仮想マシン監視装置100の監視部120は、仮想マシン331の情報を管理する仮想マシン管理テーブル113を生成する。なお、既に仮想マシン管理テーブル113が生成済みの場合、監視部120は、新たな仮想マシン管理テーブル113の生成は行わない。 [Step S401] The monitoring unit 120 of the virtual machine monitoring device 100 generates a virtual machine management table 113 that manages information of the virtual machine 331. If the virtual machine management table 113 has already been generated, the monitoring unit 120 does not generate a new virtual machine management table 113.

例えば監視部120は、仮想マシン管理テーブル113に仮想マシン331のレコードを登録する。この時点では、登録されたレコードには、仮想マシン331の名称「VM A」に対応付けて、目的、利用コスト、レスポンスタイムの基準値・安全係数・判定結果が設定される。このとき設定される目的は「運用」である。レスポンスタイムの基準値・安全係数は、予めユーザにより指定されている値である。レスポンスタイムの計測値は、ロードバランサ200がステップS306(図14参照)で計算したレスポンスタイムの平均値である。レスポンスタイムの平均値は、リクエスト監視テーブル111のレスポンスタイムの欄から取得できる。運用マシンである仮想マシン331のレスポンスタイムの判定は、ステップS223(図13参照)において行われている。監視部120は、ステップS223の判定結果を、仮想マシン管理テーブル113のレスポンスタイムの判定結果の欄に設定する。 For example, the monitoring unit 120 registers the record of the virtual machine 331 in the virtual machine management table 113. At this point, the purpose, usage cost, response time reference value, safety factor, and determination result are set in the registered record in association with the name "VMA" of the virtual machine 331. The purpose set at this time is "operation". The reference value / safety factor of the response time is a value specified in advance by the user. The measured value of the response time is the average value of the response times calculated by the load balancer 200 in step S306 (see FIG. 14). The average value of the response time can be obtained from the response time column of the request monitoring table 111. The determination of the response time of the virtual machine 331, which is the operating machine, is performed in step S223 (see FIG. 13). The monitoring unit 120 sets the determination result in step S223 in the response time determination result column of the virtual machine management table 113.

なお、過去に実行したリクエスト監視処理により、仮想マシン管理テーブル113が生成済みの場合、ステップS401の処理は省略される。
[ステップS402]監視部120は、ハイパーバイザ320から、仮想マシン331のリソース構成(各リソースの割り当て量)を取得する。そして監視部120は、取得したリソース構成を、仮想マシン管理テーブル113に設定する。
If the virtual machine management table 113 has already been generated by the request monitoring process executed in the past, the process in step S401 is omitted.
[Step S402] The monitoring unit 120 acquires the resource configuration (allocation amount of each resource) of the virtual machine 331 from the hypervisor 320. Then, the monitoring unit 120 sets the acquired resource configuration in the virtual machine management table 113.

[ステップS403]監視部120は、仮想マシン管理テーブル113に登録されている仮想マシン331のレコードのコピーを、改善マシンとして用いる仮想マシンのレコードとして、仮想マシン管理テーブル113に追加する。そして監視部120は、新たに追加したレコードにおける仮想マシンの名称を変更し、目的の欄に「コスト改善」と設定する。 [Step S403] The monitoring unit 120 adds a copy of the record of the virtual machine 331 registered in the virtual machine management table 113 to the virtual machine management table 113 as a record of the virtual machine used as the improvement machine. Then, the monitoring unit 120 changes the name of the virtual machine in the newly added record, and sets "cost improvement" in the target column.

次に、監視部120は、ステップS404〜S406の処理により、運用中の仮想マシン331に比べてロースペックのリソース構成を、改善マシンとして用いる仮想マシンに設定する。 Next, the monitoring unit 120 sets the resource configuration of the low specifications as compared with the virtual machine 331 in operation to the virtual machine used as the improvement machine by the processing of steps S404 to S406.

[ステップS404]監視部120は、仮想マシン管理テーブル113の改善マシンのレコードについて、リソース構成に示される各リソースの割り当て量のうち、優先度の高いリソースの割り当て量から、1単位分だけ減算する。なおリソースの優先度は、リソース管理テーブル112の優先度の欄を参照して判別できる。監視部120は、優先度の高いリソースの減算後の割り当て量を、仮想マシン管理テーブル113の改善マシンのレコードのリソース構成の欄に設定する。なお監視部120は、改善マシンに割り当てられた優先度の高いリソースが、そのリソースの利用可能な最小値の場合、次に優先度の高いリソースの割り当て量から、1単位分だけ減算する。各リソースの利用可能な最小値は、リソース管理テーブル112のMinの欄に設定されている。 [Step S404] The monitoring unit 120 subtracts one unit from the allocation amount of the resource having the higher priority among the allocation amounts of each resource shown in the resource configuration for the record of the improvement machine in the virtual machine management table 113. .. The priority of the resource can be determined by referring to the priority column of the resource management table 112. The monitoring unit 120 sets the allocated amount of the high-priority resource after subtraction in the resource configuration column of the record of the improved machine in the virtual machine management table 113. If the high-priority resource allocated to the improvement machine is the minimum available value of the resource, the monitoring unit 120 subtracts one unit from the allocation amount of the next highest-priority resource. The minimum available value for each resource is set in the Min column of the resource management table 112.

図7の仮想マシン管理テーブル113の例では、仮想マシン「VM A」が運用中の仮想マシンである。図6に示したリソース管理テーブル112では、最も優先度が高いのはメモリである。仮想マシン「VM A」に割り当てられたメモリ量は4GBである。そこで監視部120は、仮想マシン管理テーブル113の目的が「コスト改善」の仮想マシン「VM B」のレコードのリソース構成のメモリの欄に、4GBから1単位分(2GB)減算した値「2GB」を書き込む。 In the example of the virtual machine management table 113 of FIG. 7, the virtual machine “VMA” is a virtual machine in operation. In the resource management table 112 shown in FIG. 6, the memory has the highest priority. The amount of memory allocated to the virtual machine "VM A" is 4 GB. Therefore, the monitoring unit 120 sets the value "2GB" obtained by subtracting one unit (2GB) from 4GB in the memory column of the resource configuration of the record of the virtual machine "VM B" whose purpose is "cost improvement" in the virtual machine management table 113. To write.

ここで、仮に運用中の仮想マシン「VM A」に割り当てられたメモリ容量が2GB(最小値)の場合、次に優先度の高いCPUの割り当て量が1単位分(2コア)だけ減算される。この際、監視部120は、割り当てられたリソース量が最小値で減算できないリソース(メモリ)について、1単位分だけ加算してもよい。 Here, if the memory capacity allocated to the operating virtual machine "VM A" is 2 GB (minimum value), the allocated amount of the CPU with the next highest priority is subtracted by 1 unit (2 cores). .. At this time, the monitoring unit 120 may add only one unit for the resource (memory) whose allocated resource amount cannot be subtracted at the minimum value.

[ステップS405]監視部120は、運用中の仮想マシンの利用コストと、改善マシンの利用コストとを計算する。例えば、監視部120は、リソースごとの増減単価をリソース管理テーブル112から取得する。次に監視部120は、仮想マシン管理テーブル113に示される、仮想マシンへのリソースの割り当て量に増減単価を乗算し、その仮想マシンのリソースごとの利用コストを得る。そして監視部120は、リソースごとの利用コストを合計し、該当仮想マシンの利用コストとする。監視部120は、運用中の仮想マシンの利用コストと、改善マシンの利用コストとのそれぞれについて算出した利用コストを、仮想マシン管理テーブル113の利用コストの欄に設定する。 [Step S405] The monitoring unit 120 calculates the usage cost of the virtual machine in operation and the usage cost of the improvement machine. For example, the monitoring unit 120 acquires the increase / decrease unit price for each resource from the resource management table 112. Next, the monitoring unit 120 multiplies the resource allocation amount to the virtual machine by the increase / decrease unit price shown in the virtual machine management table 113 to obtain the usage cost for each resource of the virtual machine. Then, the monitoring unit 120 totals the usage costs for each resource and sets it as the usage cost of the corresponding virtual machine. The monitoring unit 120 sets the usage costs calculated for each of the usage cost of the virtual machine in operation and the usage cost of the improvement machine in the usage cost column of the virtual machine management table 113.

[ステップS406]監視部120は、改善マシンの方が利用コストが低いかどうかを判定する。監視部120は、改善マシンの方が利用コストが低い場合、処理をステップS411に進める。また監視部120は、運用中のマシンの方が利用コストが低いか、または利用コストが変わらない場合、処理をステップS404に進め、改善マシンのリソース量をさらに削減する。なお図15のフローチャートには示していないが、削減可能なリソースがない場合は、コスト改善処理は終了する。 [Step S406] The monitoring unit 120 determines whether or not the improvement machine has a lower utilization cost. If the improvement machine has a lower usage cost, the monitoring unit 120 advances the process to step S411. If the operating machine has a lower utilization cost or the utilization cost does not change, the monitoring unit 120 proceeds to step S404 to further reduce the resource amount of the improvement machine. Although not shown in the flowchart of FIG. 15, if there are no resources that can be reduced, the cost improvement process ends.

図16は、コスト改善処理の手順の一例を示すフローチャートの後半である。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS411]監視部120は、サーバ300のハイパーバイザ320に対し、運用中の仮想マシン331のクローン生成を指示する。ハイパーバイザ320は、指示に従って仮想マシン331のクローンの仮想マシンを生成する。以下、クローンとして仮想マシン332が生成されたものとする。
FIG. 16 is the latter half of the flowchart showing an example of the procedure of the cost improvement process. Hereinafter, the process shown in FIG. 16 will be described along with the step numbers.
[Step S411] The monitoring unit 120 instructs the hypervisor 320 of the server 300 to clone the virtual machine 331 in operation. The hypervisor 320 creates a virtual machine that is a clone of the virtual machine 331 according to the instructions. Hereinafter, it is assumed that the virtual machine 332 is generated as a clone.

[ステップS412]監視部120は、ハイパーバイザ320に対し、生成した仮想マシン332へのスナップショットの適用を指示する。この指示に応じて、ハイパーバイザ320は、仮想マシン331のスナップショットを、仮想マシン332に適用する。これにより、仮想マシン331の動作状態が、仮想マシン332で再現される。 [Step S412] The monitoring unit 120 instructs the hypervisor 320 to apply the snapshot to the generated virtual machine 332. In response to this instruction, the hypervisor 320 applies a snapshot of the virtual machine 331 to the virtual machine 332. As a result, the operating state of the virtual machine 331 is reproduced in the virtual machine 332.

[ステップS413]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332に割り当てるリソース量の削減を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「コスト改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、仮想マシン332のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。 [Step S413] The monitoring unit 120 instructs the hypervisor 320 to reduce the amount of resources allocated to the virtual machine 332, which is a clone of the virtual machine 331 in operation. For example, the monitoring unit 120 notifies the hypervisor 320 of the resource configuration of the virtual machine for the purpose “cost improvement” of the virtual machine management table 113, and the hypervisor 320 so that the resource configuration of the virtual machine 332 is the notified resource configuration. Instruct.

[ステップS414]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332の名称(例えば「VM B」)を指定し、仮想マシン332の起動を指示する。ハイパーバイザ320は、指示に従って、仮想マシン332を起動する。 [Step S414] The monitoring unit 120 specifies to the hypervisor 320 the name of the virtual machine 332 that is a clone of the virtual machine 331 in operation (for example, "VM B"), and instructs the hypervisor 320 to start the virtual machine 332. The hypervisor 320 starts the virtual machine 332 according to the instruction.

[ステップS415]監視部120は、ロードバランサ200の負荷計測部230に対し、仮想マシン332の名称「VM B」を指定して、仮想マシン332のレスポンスタイムの計測を指示する。負荷計測部230は、計測指示に応じて、記憶部210に蓄積してあるリクエスト情報に基づいて、リクエストを仮想マシン332に送信し、そのリクエストに対するレスポンスタイムを計測する。例えば負荷計測部230は、複数のリクエストを仮想マシン332に送信し、各リクエストに対するレスポンスタイムの平均値を、仮想マシン332のレスポンスタイムとする。 [Step S415] The monitoring unit 120 specifies the name "VM B" of the virtual machine 332 to the load measuring unit 230 of the load balancer 200, and instructs the load measuring unit 230 to measure the response time of the virtual machine 332. The load measurement unit 230 transmits a request to the virtual machine 332 based on the request information stored in the storage unit 210 in response to the measurement instruction, and measures the response time for the request. For example, the load measurement unit 230 transmits a plurality of requests to the virtual machine 332, and sets the average value of the response times for each request as the response time of the virtual machine 332.

[ステップS416]監視部120は、負荷計測部230から、仮想マシン332のレスポンスタイムの計測結果を取得する。監視部120は、取得したレスポンスタイムを、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの計測値の欄に設定する。 [Step S416] The monitoring unit 120 acquires the measurement result of the response time of the virtual machine 332 from the load measuring unit 230. The monitoring unit 120 sets the acquired response time in the measured value column of the response time of the record of the purpose "cost improvement" in the virtual machine management table 113.

[ステップS417]監視部120は、仮想マシン332のレスポンスタイムが、運用中の仮想マシン331に求められるレスポンスタイムの閾値(基準値×安全係数)未満か否かを判定する。監視部120は、レスポンスタイムが閾値未満の場合、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの判定結果の欄に「OK」と設定し、処理をステップS418に進める。また監視部120は、レスポンスタイムが閾値以上の場合、仮想マシン管理テーブル113内の目的「コスト改善」のレコードのレスポンスタイムの判定結果の欄に「NG」と設定し、コスト改善処理を終了する。 [Step S417] The monitoring unit 120 determines whether or not the response time of the virtual machine 332 is less than the response time threshold value (reference value × safety factor) required for the virtual machine 331 in operation. When the response time is less than the threshold value, the monitoring unit 120 sets "OK" in the response time determination result column of the record of the purpose "cost improvement" in the virtual machine management table 113, and proceeds to the process in step S418. If the response time is equal to or greater than the threshold value, the monitoring unit 120 sets "NG" in the response time determination result column of the record of the purpose "cost improvement" in the virtual machine management table 113, and ends the cost improvement process. ..

[ステップS418]監視部120は、サーバ300内のハイパーバイザ320に対し、運用中の仮想マシン331への割り当てリソース量の削減を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「コスト改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、運用中の仮想マシン331のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。 [Step S418] The monitoring unit 120 instructs the hypervisor 320 in the server 300 to reduce the amount of resources allocated to the virtual machine 331 in operation. For example, the monitoring unit 120 notifies the hypervisor 320 of the resource configuration of the virtual machine for the purpose “cost improvement” of the virtual machine management table 113, and sets the resource configuration of the virtual machine 331 in operation as the notified resource configuration. Instruct the hypervisor 320.

[ステップS419]監視部120は、仮想マシン管理テーブル113における運用中の仮想マシン331のリソース構成を更新する。例えば監視部120は、目的「コスト改善」のレコードのリソース構成のコピーを、目的「運用」のレコードのリソース構成に上書きで書き込む。監視部120は、その後、処理をステップS402に進め、さらにリソース量の削減が可能かどうかを探索する。 [Step S419] The monitoring unit 120 updates the resource configuration of the virtual machine 331 in operation in the virtual machine management table 113. For example, the monitoring unit 120 writes a copy of the resource configuration of the record of the purpose "cost improvement" by overwriting the resource configuration of the record of the purpose "operation". After that, the monitoring unit 120 advances the process to step S402, and searches for whether or not the resource amount can be further reduced.

このようにして、優先度の高いリソースから順に、運用中の仮想マシン331への割り当てリソース量が削減される。最終的には、運用中の仮想マシン331への割り当てリソース量は、レスポンスタイムの条件が満たされる最小限のリソース量となる。 In this way, the amount of resources allocated to the virtual machine 331 in operation is reduced in order from the resource having the highest priority. Ultimately, the amount of resources allocated to the virtual machine 331 in operation is the minimum amount of resources that satisfies the response time condition.

次に、レスポンス改善処理について詳細に説明する。
図17は、レスポンス改善処理の手順の一例を示すフローチャートの前半である。運用中の仮想マシン331のコスト改善処理を実行するものとして、以下、図17に示す処理をステップ番号に沿って説明する。
Next, the response improvement process will be described in detail.
FIG. 17 is the first half of a flowchart showing an example of the procedure of the response improvement process. Assuming that the cost improvement process of the virtual machine 331 in operation is executed, the process shown in FIG. 17 will be described below along with the step numbers.

[ステップS501]仮想マシン監視装置100の監視部120は、仮想マシン331の情報を管理する仮想マシン管理テーブル113を生成する。なお、過去に実行したリクエスト監視処理により、仮想マシン管理テーブル113が生成済みの場合、ステップS501の処理は省略される。仮想マシン管理テーブル113の生成処理の詳細は、図15のステップS401と同様である。 [Step S501] The monitoring unit 120 of the virtual machine monitoring device 100 generates a virtual machine management table 113 that manages information of the virtual machine 331. If the virtual machine management table 113 has already been generated by the request monitoring process executed in the past, the process in step S501 is omitted. The details of the generation process of the virtual machine management table 113 are the same as those in step S401 of FIG.

[ステップS502]ハイパーバイザ320から、仮想マシン331のリソース構成(各リソースの割り当て量)を取得する。そして監視部120は、取得したリソース構成を、仮想マシン管理テーブル113に設定する。 [Step S502] The resource configuration (allocation amount of each resource) of the virtual machine 331 is acquired from the hypervisor 320. Then, the monitoring unit 120 sets the acquired resource configuration in the virtual machine management table 113.

[ステップS503]監視部120は、仮想マシン管理テーブル113に登録されている仮想マシン331のレコードのコピーを、改善マシンとして用いる仮想マシンのレコードとして、仮想マシン管理テーブル113に追加する。そして監視部120は、新たに追加したレコードにおける仮想マシンの名称を変更し、目的の欄に「レスポンス改善」と設定する。 [Step S503] The monitoring unit 120 adds a copy of the record of the virtual machine 331 registered in the virtual machine management table 113 to the virtual machine management table 113 as a record of the virtual machine used as the improvement machine. Then, the monitoring unit 120 changes the name of the virtual machine in the newly added record, and sets "response improvement" in the target column.

[ステップS504]監視部120は、仮想マシン管理テーブル113の改善マシンのレコードについて、リソース構成に示される各リソースの割り当て量のうち、優先度の高いリソースの割り当て量に、1単位分だけ加算する。監視部120は、優先度の高いリソースの加算後の割り当て量を、仮想マシン管理テーブル113の改善マシンのレコードのリソース構成の欄に設定する。なお監視部120は、改善マシンに割り当てられた優先度の高いリソースが、そのリソースの利用可能な最大値の場合、次に優先度の高いリソースの割り当て量に、1単位分だけ加算する。各リソースの利用可能な最大値は、リソース管理テーブル112のMaxの欄に設定されている。 [Step S504] The monitoring unit 120 adds one unit to the allocation amount of the resource having the higher priority among the allocation amounts of each resource shown in the resource configuration for the record of the improvement machine in the virtual machine management table 113. .. The monitoring unit 120 sets the allocated amount of the high-priority resource after addition in the resource configuration column of the record of the improved machine in the virtual machine management table 113. If the high-priority resource allocated to the improvement machine is the maximum available value of the resource, the monitoring unit 120 adds one unit to the allocation amount of the next highest-priority resource. The maximum available value of each resource is set in the Max column of the resource management table 112.

例えば、優先度が最も高いリソースがメモリであり、運用中の仮想マシンに割り当てられたメモリ量が2GBの場合、目的「レスポンス改善」の仮想マシンのメモリ量には、1単位(2GB)分加算した、4GBとなる。 For example, if the resource with the highest priority is memory and the amount of memory allocated to the virtual machine in operation is 2 GB, 1 unit (2 GB) is added to the amount of memory of the virtual machine for the purpose "response improvement". It becomes 4GB.

また、運用中の仮想マシンに割り当てられたメモリの量が64GB(最大値)の場合、次に優先度の高いリソースであるCPUの割り当て量が1単位(2コア)分を加算される。この際、リソース使用量が最大値となっているリソース(メモリ)についての割り当て量を、1単位分だけ減算してもよい。 When the amount of memory allocated to the virtual machine in operation is 64 GB (maximum value), the amount allocated to the CPU, which is the next highest priority resource, is added by 1 unit (2 cores). At this time, the allocation amount for the resource (memory) whose resource usage amount is the maximum value may be subtracted by one unit.

リソース量の増加処理後、監視部120は、処理をステップS511(図18参照)に進める。
図18は、レスポンス改善処理の手順の一例を示すフローチャートの後半である。以下、図18に示す処理をステップ番号に沿って説明する。
After the resource amount increase processing, the monitoring unit 120 proceeds to the processing in step S511 (see FIG. 18).
FIG. 18 is the latter half of the flowchart showing an example of the procedure of the response improvement process. Hereinafter, the process shown in FIG. 18 will be described along with the step numbers.

[ステップS511]監視部120は、サーバ300のハイパーバイザ320に対し、運用中の仮想マシン331のクローン生成を指示する。ハイパーバイザ320は、指示に従って仮想マシン331のクローンの仮想マシンを生成する。以下、クローンとして仮想マシン332が生成されたものとする。 [Step S511] The monitoring unit 120 instructs the hypervisor 320 of the server 300 to clone the virtual machine 331 in operation. The hypervisor 320 creates a virtual machine that is a clone of the virtual machine 331 according to the instructions. Hereinafter, it is assumed that the virtual machine 332 is generated as a clone.

[ステップS512]監視部120は、ハイパーバイザ320に対し、生成した仮想マシン332へのスナップショットの適用を指示する。この指示に応じて、ハイパーバイザ320は、仮想マシン331のスナップショットを、仮想マシン332に適用する。これにより、仮想マシン331の動作状態が、仮想マシン332で再現される。 [Step S512] The monitoring unit 120 instructs the hypervisor 320 to apply the snapshot to the generated virtual machine 332. In response to this instruction, the hypervisor 320 applies a snapshot of the virtual machine 331 to the virtual machine 332. As a result, the operating state of the virtual machine 331 is reproduced in the virtual machine 332.

[ステップS513]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332に割り当てるリソース量の増強を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「レスポンス改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、仮想マシン332のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。 [Step S513] The monitoring unit 120 instructs the hypervisor 320 to increase the amount of resources allocated to the virtual machine 332, which is a clone of the virtual machine 331 in operation. For example, the monitoring unit 120 notifies the hypervisor 320 of the resource configuration of the virtual machine for the purpose “response improvement” of the virtual machine management table 113, and the hypervisor 320 so that the resource configuration of the virtual machine 332 is the notified resource configuration. Instruct.

[ステップS514]監視部120は、ハイパーバイザ320に対し、運用中の仮想マシン331のクローンである仮想マシン332の名称(例えば「VM C」)を指定し、仮想マシン332の起動を指示する。ハイパーバイザ320は、指示に従って、仮想マシン332を起動する。 [Step S514] The monitoring unit 120 specifies to the hypervisor 320 the name of the virtual machine 332 (for example, "VMC") which is a clone of the virtual machine 331 in operation, and instructs the hypervisor 320 to start the virtual machine 332. The hypervisor 320 starts the virtual machine 332 according to the instruction.

[ステップS515]監視部120は、ロードバランサ200の負荷計測部230に対し、仮想マシン332の名称「VM C」を指定して、仮想マシン332のレスポンスタイムの計測を指示する。負荷計測部230は、計測指示に応じて、記憶部210に蓄積してあるリクエスト情報に基づいて、リクエストを仮想マシン332に送信し、そのリクエストに対するレスポンスタイムを計測する。例えば負荷計測部230は、複数のリクエストを仮想マシン332に送信し、各リクエストに対するレスポンスタイムの平均値を、仮想マシン332のレスポンスタイムとする。 [Step S515] The monitoring unit 120 specifies the name "VMC" of the virtual machine 332 to the load measuring unit 230 of the load balancer 200, and instructs the load measuring unit 230 to measure the response time of the virtual machine 332. The load measurement unit 230 transmits a request to the virtual machine 332 based on the request information stored in the storage unit 210 in response to the measurement instruction, and measures the response time for the request. For example, the load measurement unit 230 transmits a plurality of requests to the virtual machine 332, and sets the average value of the response times for each request as the response time of the virtual machine 332.

[ステップS516]監視部120は、負荷計測部230から、仮想マシン332のレスポンスタイムの計測結果を取得する。監視部120は、取得したレスポンスタイムを、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの計測値の欄に設定する。 [Step S516] The monitoring unit 120 acquires the measurement result of the response time of the virtual machine 332 from the load measuring unit 230. The monitoring unit 120 sets the acquired response time in the measured value column of the response time of the record of the purpose "response improvement" in the virtual machine management table 113.

[ステップS517]監視部120は、仮想マシン332のレスポンスタイムが、運用中の仮想マシン331に求められるレスポンスタイムの閾値(基準値×安全係数)未満か否かを判定する。監視部120は、レスポンスタイムが閾値未満の場合、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの判定結果の欄に「OK」と設定し、処理をステップS518に進める。また監視部120は、レスポンスタイムが閾値以上の場合、仮想マシン管理テーブル113内の目的「レスポンス改善」のレコードのレスポンスタイムの判定結果の欄に「NG」と設定し、処理をステップS504(図17参照)に進める。 [Step S517] The monitoring unit 120 determines whether or not the response time of the virtual machine 332 is less than the response time threshold value (reference value × safety factor) required for the virtual machine 331 in operation. When the response time is less than the threshold value, the monitoring unit 120 sets "OK" in the response time determination result column of the record of the purpose "response improvement" in the virtual machine management table 113, and proceeds to the process in step S518. When the response time is equal to or greater than the threshold value, the monitoring unit 120 sets "NG" in the response time determination result column of the record of the purpose "response improvement" in the virtual machine management table 113, and steps S504 (FIG. FIG. 17).

[ステップS518]監視部120は、サーバ300内のハイパーバイザ320に対し、運用中の仮想マシン331への割り当てリソース量の増強を指示する。例えば監視部120は、仮想マシン管理テーブル113の目的「レスポンス改善」の仮想マシンのリソース構成をハイパーバイザ320に通知し、運用中の仮想マシン331のリソース構成を、通知したリソース構成とするようにハイパーバイザ320に指示する。 [Step S518] The monitoring unit 120 instructs the hypervisor 320 in the server 300 to increase the amount of resources allocated to the virtual machine 331 in operation. For example, the monitoring unit 120 notifies the hypervisor 320 of the resource configuration of the virtual machine for the purpose “response improvement” of the virtual machine management table 113, and sets the resource configuration of the virtual machine 331 in operation as the notified resource configuration. Instruct the hypervisor 320.

[ステップS519]監視部120は、仮想マシン管理テーブル113における運用中の仮想マシン331のリソース構成を更新する。例えば監視部120は、目的「レスポンス改善」のレコードのリソース構成のコピーを、目的「運用」のレコードのリソース構成に上書きで書き込む。 [Step S519] The monitoring unit 120 updates the resource configuration of the virtual machine 331 in operation in the virtual machine management table 113. For example, the monitoring unit 120 writes a copy of the resource configuration of the record of the purpose "response improvement" by overwriting the resource configuration of the record of the purpose "operation".

このようにして、仮想マシンに対するリクエストの量の変化に応じて、仮想マシンに割り当てるリソースの量を変更することができる。例えば仮想マシンに対するリクエストの量が増加傾向にあれば、レスポンスタイムが悪化するのを待たずに、仮想マシンに割り当てるリソースの量を増加させることができる。その結果、仮想マシンのリソースの量の変更の遅延を抑止することができる。すなわち仮想マシンのレスポンスタイムが悪化したことを検知してから、その仮想マシンに割り当てるリソースの量を変更する場合に比べ、迅速にリソースの量を変更できる。その結果、仮想マシンの過負荷によりレスポンスタイムが悪化することが抑止される。 In this way, the amount of resources allocated to the virtual machine can be changed as the amount of requests to the virtual machine changes. For example, if the amount of requests to a virtual machine is on the rise, the amount of resources allocated to the virtual machine can be increased without waiting for the response time to deteriorate. As a result, it is possible to suppress the delay in changing the amount of resources of the virtual machine. That is, the amount of resources can be changed more quickly than when the amount of resources allocated to the virtual machine is changed after detecting that the response time of the virtual machine has deteriorated. As a result, it is possible to prevent the response time from deteriorating due to the overload of the virtual machine.

また仮想マシンに対するリクエストの量が減少傾向にあれば、仮想マシンに割り当てるリソースの量を減少させることができる。その結果、仮想マシンに過大にリソースを割り当ててしまうことを抑止し、システム全体のリソースの有効活用が可能となる。しかも、仮想マシンを使用しているユーザが、仮想マシンに割り当てられたリソース量に応じて費用を支払っている場合、リソースの量を最小限に抑えることで、仮想マシンの使用コストを低減させることができる。 If the amount of requests to the virtual machine is decreasing, the amount of resources allocated to the virtual machine can be reduced. As a result, it is possible to prevent excessive allocation of resources to the virtual machine and effectively utilize the resources of the entire system. Moreover, if the user using the virtual machine pays for the amount of resources allocated to the virtual machine, the cost of using the virtual machine can be reduced by minimizing the amount of resources. Can be done.

また第2の実施の形態では、運用中の仮想マシンに割り当てるリソースの量を変更する前に、改善マシンによって、レスポンスタイムに関する条件が満たされることを確認している。これにより、割り当てるリソースの量が過剰に削減されることが抑止されている。 Further, in the second embodiment, it is confirmed that the condition regarding the response time is satisfied by the improvement machine before changing the amount of resources allocated to the virtual machine in operation. This prevents the amount of resources allocated from being excessively reduced.

さらに第2の実施の形態では、リソースの種別ごとに、そのリソースの使用率に応じて、リソースの量を変更する際の優先度が定められている。そして優先度が高い種別のリソースから優先的にリソースの量の変更が決定され、改善マシンを用いてレスポンスタイムの条件が検証される。これにより、性能悪化の原因となる可能性の高い種別のリソースから順に、そのリソースを変更した場合のレスポンスタイムを検証でき、検証処理を効率的に行うことができる。 Further, in the second embodiment, the priority for changing the amount of resources is determined for each type of resource according to the usage rate of the resource. Then, the resource amount change is preferentially determined from the resource of the higher priority type, and the response time condition is verified using the improvement machine. As a result, the response time when the resource is changed can be verified in order from the type of resource that is likely to cause performance deterioration, and the verification process can be performed efficiently.

〔その他の実施の形態〕
第2の実施の形態では、リクエストとレスポンスとを中継するロードバランサが、リクエスト量とレスポンスタイムとを計測しているが、他の方法でリクエスト量とレスポンスタイムとを計測することもできる。例えば仮想マシン監視装置100が、業務ネットワーク41を介して通信されるパケットをキャプチャし、キャプチャしたパケットを解析して、特定の仮想マシンに関するリクエスト量とレスポンスタイムとを計測することもできる。
[Other embodiments]
In the second embodiment, the load balancer that relays the request and the response measures the request amount and the response time, but the request amount and the response time can also be measured by another method. For example, the virtual machine monitoring device 100 can capture packets communicated via the business network 41, analyze the captured packets, and measure the request amount and response time for a specific virtual machine.

以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 Although the embodiment has been illustrated above, the configuration of each part shown in the embodiment can be replaced with another having the same function. Further, any other components or processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

1a,1b 端末装置
2 ネットワーク
3 サーバ
3a−1,3a−2,・・・ CPU
3b−1,3b−2,・・・ メモリ
3c 仮想マシン
10 情報処理装置
11 記憶部
12 処理部
1a, 1b Terminal device 2 Network 3 Server 3a-1, 3a-2, ... CPU
3b-1, 3b-2, ... Memory 3c Virtual machine 10 Information processing device 11 Storage unit 12 Processing unit

Claims (6)

サーバが実行している第1の仮想マシンに送信された単位期間当たりのリクエストの量を監視し
直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する処理部、
を有する情報処理装置。
Monitor the amount of requests sent per unit period to the first virtual machine running on the server ,
The amount of the request in the most recent first unit period is smaller than the amount of the request in the second unit period immediately before the first unit period, and the degree of decrease is the first threshold value. If it exceeds, the decision is made to reduce the amount of hardware resources available to run the first virtual machine.
When it is decided to reduce the amount of the hardware resource available for executing the first virtual machine, the amount after the reduction of the hardware resource is determined, which is the same as the amount after the reduction to the server. The acquisition of the execution instruction of the second virtual machine in which the amount of the hardware resource can be used and the performance information of the second virtual machine from the server are acquired while reducing the amount after the reduction. Repeatedly while the performance information meets the specified conditions,
Reducing the amount of the hardware resources available to execute the first virtual machine to the reduced amount when the performance of the second virtual machine finally meets a predetermined condition . Processing unit instructing the server,
Information processing device with.
前記処理部は、
記第1の単位期間での前記リクエストの量が、前記第2の単位期間での前記リクエストの量よりも増加しており、増加の度合いが第2の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させることを決定し、
前記サーバへの指示では、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させることを、前記サーバに指示する、
請求項記載の情報処理装置。
The processing unit
If the amount of the request in the previous SL first unit period, the has increased than the amount of the request in the second unit period, the degree of increase exceeds a second threshold value, the second Decided to increase the amount of said hardware resources available to run one virtual machine,
The instructions to the server instruct the server to increase the amount of hardware resources available to execute the first virtual machine.
The information processing device according to claim 1.
前記処理部は、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を増加させると決定した場合、前記ハードウェアリソースの種別ごとに、前記第1の仮想マシンの実行に使用可能とする量の変更の優先度、前記第1の仮想マシンの実行に使用可能とする量の最小値、および前記第1の仮想マシンの実行に使用可能とする量の最大値が示されたリソース管理情報に基づいて、優先度が最も高い種別の前記ハードウェアリソースを、最大値を超えない範囲で増加させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記リソース管理情報に基づいて、優先度が最も高い種別の前記ハードウェアリソースを、最小値を下回らない範囲で減少させることを決定する、
請求項1または2記載の情報処理装置。
The processing unit
If it decides to increase the amount of the hardware resources available to run the first virtual machine, for each type of said hardware resource, the amount that allows uses to execute the first VM Based on resource management information that indicates the priority of changes, the minimum amount available to run the first virtual machine, and the maximum amount available to run the first virtual machine. Therefore, it was decided to increase the hardware resource of the highest priority type within a range not exceeding the maximum value.
If it is determined to reduce the amount of the hardware resource available to execute the first virtual machine, the highest priority type of the hardware resource is set to the minimum value based on the resource management information. Decide to reduce within the range not below,
The information processing device according to claim 1 or 2.
前記処理部は、
前記サーバから前記ハードウェアリソースの種別ごとの前記第1の仮想マシンの使用率を取得し、使用率が高い種別の前記ハードウェアリソースほど高い優先度を、前記リソース管理情報に設定する、
請求項記載の情報処理装置。
The processing unit
The usage rate of the first virtual machine for each type of the hardware resource is acquired from the server, and the higher priority of the hardware resource of the type with the higher usage rate is set in the resource management information.
The information processing device according to claim 3.
コンピュータに、
サーバが実行している第1の仮想マシンに送信された単位期間当たりのリクエストの量を監視し、
直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、
前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する、
処理を実行させる仮想マシン監視プログラム。
On the computer
Monitor the amount of requests sent per unit period to the first virtual machine running on the server,
The amount of the request in the most recent first unit period is smaller than the amount of the request in the second unit period immediately before the first unit period, and the degree of decrease is the first threshold value. If it exceeds, the decision is made to reduce the amount of hardware resources available to run the first virtual machine.
When it is decided to reduce the amount of the hardware resource available for executing the first virtual machine, the amount after the reduction of the hardware resource is determined, which is the same as the amount after the reduction to the server. The acquisition of the execution instruction of the second virtual machine in which the amount of the hardware resource can be used and the performance information of the second virtual machine from the server are acquired while reducing the amount after the reduction. Repeatedly while the performance information meets the specified conditions,
Reducing the amount of the hardware resources available to execute the first virtual machine to the reduced amount when the performance of the second virtual machine finally meets a predetermined condition . Instruct the server,
A virtual machine monitoring program that executes processing.
第1の仮想マシンを実行しているサーバと、
端末装置から送信されたリクエストを前記第1の仮想マシンに転送し、前記第1の仮想マシンに転送した単位期間当たりのリクエストの量を計数する中継装置と、
前記第1の仮想マシンに転送した単位期間当たりのリクエストの量を前記中継装置から取得し、直近の第1の単位期間での前記リクエストの量が、前記第1の単位期間の直前の第2の単位期間での前記リクエストの量よりも減少しており、減少の度合いが第1の閾値を超えている場合、前記第1の仮想マシンの実行に使用可能なハードウェアリソースの量を減少させることを決定し、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を減少させると決定した場合、前記ハードウェアリソースの削減後の量の決定、前記サーバへの、前記削減後の量と同量の前記ハードウェアリソースを使用可能な第2の仮想マシンの実行指示、および前記サーバからの前記第2の仮想マシンの性能情報の取得を、前記削減後の量を減少させながら、取得した前記性能情報が所定の条件を満たしている間繰り返し、前記第1の仮想マシンの実行に使用可能な前記ハードウェアリソースの量を、前記第2の仮想マシンの性能が所定の条件を最後に満たしたときの前記削減後の量へ減少させることを、前記サーバに指示する情報処理装置と、
を有する情報処理システム。
The server running the first virtual machine and
A relay device forwards the request transmitted from the terminal apparatus to the first virtual machine, counting the amount of requests per unit time that is transferred to the first virtual machine,
The amount of requests per unit period transferred to the first virtual machine is acquired from the relay device, and the amount of the requests in the most recent first unit period is the second immediately before the first unit period. If the amount of the request is less than the amount of the request in the unit period of, and the degree of the decrease exceeds the first threshold value, the amount of hardware resources available for executing the first virtual machine is reduced. If it is determined that the amount of the hardware resource available for execution of the first virtual machine is to be reduced, then the amount of the hardware resource after reduction is determined, the reduction to the server. The execution instruction of the second virtual machine that can use the same amount of the hardware resource as the later amount, and the acquisition of the performance information of the second virtual machine from the server are reduced by reducing the reduced amount. However, while the acquired performance information satisfies a predetermined condition, the amount of the hardware resource that can be used for executing the first virtual machine is repeatedly determined, and the performance of the second virtual machine is a predetermined condition. The information processing device instructing the server to reduce the amount to the amount after the reduction when is finally satisfied, and
Information processing system with.
JP2017168719A 2017-09-01 2017-09-01 Information processing equipment, virtual machine monitoring programs, and information processing systems Active JP6940761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017168719A JP6940761B2 (en) 2017-09-01 2017-09-01 Information processing equipment, virtual machine monitoring programs, and information processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017168719A JP6940761B2 (en) 2017-09-01 2017-09-01 Information processing equipment, virtual machine monitoring programs, and information processing systems

Publications (2)

Publication Number Publication Date
JP2019046163A JP2019046163A (en) 2019-03-22
JP6940761B2 true JP6940761B2 (en) 2021-09-29

Family

ID=65815740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017168719A Active JP6940761B2 (en) 2017-09-01 2017-09-01 Information processing equipment, virtual machine monitoring programs, and information processing systems

Country Status (1)

Country Link
JP (1) JP6940761B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7229888B2 (en) * 2019-09-13 2023-02-28 株式会社日立製作所 System and method for supporting optimization of resource utilization efficiency
CN111522843B (en) * 2020-06-01 2023-06-27 北京创鑫旅程网络技术有限公司 Control method, system, equipment and storage medium of data platform
CN117519956A (en) * 2022-07-26 2024-02-06 北京穿杨科技有限公司 Resource quota determination method, device, computing equipment and medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198843A (en) * 2011-03-23 2012-10-18 Fuji Xerox Co Ltd Virtual server regulating system, virtual server control device and program
JP6099323B2 (en) * 2012-06-13 2017-03-22 株式会社富士通マーケティング Server control apparatus and server control program
JP2014164425A (en) * 2013-02-22 2014-09-08 Sony Corp Information processing apparatus, resource control method, and program
JP6619938B2 (en) * 2015-02-13 2019-12-11 株式会社日立システムズ Resource control system and resource control method

Also Published As

Publication number Publication date
JP2019046163A (en) 2019-03-22

Similar Documents

Publication Publication Date Title
US10225333B2 (en) Management method and apparatus
US9594585B2 (en) Virtual machine control method, apparatus, and medium
JP6447329B2 (en) Parallel computing controller, parallel computing system, and migration time estimation program
JP5834939B2 (en) Program, virtual machine control method, information processing apparatus, and information processing system
JP5218390B2 (en) Autonomous control server, virtual server control method and program
WO2014073046A1 (en) Information processing device, program and virtual machine migration method
JP6940761B2 (en) Information processing equipment, virtual machine monitoring programs, and information processing systems
US20140304306A1 (en) Database Management System With Database Hibernation and Bursting
JP7011162B2 (en) Performance adjustment program and performance adjustment method
AU2010319840A1 (en) Allocating storage memory based on future use estimates
CN110196770B (en) Cloud system memory data processing method, device, equipment and storage medium
JP6293683B2 (en) Computer system and coping method for performance failure of computer system
US10754368B1 (en) Method and system for load balancing backup resources
JP6394313B2 (en) Storage management device, storage management method, and storage management program
JP6213148B2 (en) Storage device, storage device control method, and storage device control program
JP6451308B2 (en) Storage device and storage device control program
JP2012043098A (en) Management device, file server system, processing method and management program
JP2019191886A (en) Information processing apparatus, information processing method, and program
JP6679201B1 (en) Information processing apparatus, information processing system, program, and information processing method
JP2016119020A (en) Storage apparatus, control method of storage apparatus and storage apparatus control program
CN114896065A (en) Cloud host computing power providing method and system, server, equipment and storage medium
JP5751372B2 (en) Data processing system, computer program thereof, and data processing method
JP6885067B2 (en) Information processing equipment and information processing system
CN111090627A (en) Log storage method and device based on pooling, computer equipment and storage medium
US10459637B2 (en) Storage device and information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200611

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200625

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210816

R150 Certificate of patent or registration of utility model

Ref document number: 6940761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150