JP5556507B2 - Virtual machine management program, virtual machine management method, and virtual machine management apparatus - Google Patents

Virtual machine management program, virtual machine management method, and virtual machine management apparatus Download PDF

Info

Publication number
JP5556507B2
JP5556507B2 JP2010192281A JP2010192281A JP5556507B2 JP 5556507 B2 JP5556507 B2 JP 5556507B2 JP 2010192281 A JP2010192281 A JP 2010192281A JP 2010192281 A JP2010192281 A JP 2010192281A JP 5556507 B2 JP5556507 B2 JP 5556507B2
Authority
JP
Japan
Prior art keywords
virtual machines
virtual machine
arrangement
server
communication
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.)
Expired - Fee Related
Application number
JP2010192281A
Other languages
Japanese (ja)
Other versions
JP2012048629A (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 JP2010192281A priority Critical patent/JP5556507B2/en
Publication of JP2012048629A publication Critical patent/JP2012048629A/en
Application granted granted Critical
Publication of JP5556507B2 publication Critical patent/JP5556507B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は仮想マシンを管理する仮想マシン管理プログラム、仮想マシン管理方法、および仮想マシン管理装置に関する。   The present invention relates to a virtual machine management program, a virtual machine management method, and a virtual machine management apparatus that manage virtual machines.

従来、複数のコンピュータが階層的に処理を分担する情報処理システム(複数階層システム)が利用されている。複数階層システムとして、例えばシステム利用のためのインタフェースを提供するWebサーバ、システム上の処理を実行するApp(Application)サーバおよびデータを管理するDB(Database)サーバを有する3階層システムが知られている。各サーバは、ユーザからの処理要求に対して連携して処理を実行し、その処理要求に応答する。このように、各サーバに処理を分担させることで、システムの信頼性や応答性を向上できる。   Conventionally, an information processing system (multiple hierarchy system) in which a plurality of computers share processing hierarchically has been used. As a multi-tier system, for example, a three-tier system having a Web server that provides an interface for using the system, an App (Application) server that executes processing on the system, and a DB (Database) server that manages data is known. . Each server executes processing in cooperation with a processing request from a user, and responds to the processing request. In this way, the reliability and responsiveness of the system can be improved by sharing the processing among the servers.

Web3階層システムのような複数階層システムでは、各階層のサーバの機能を、仮想マシン(VM:Virtual Machine)で実現することもできる。VMは、コンピュータのCPU(Central Processing Unit)や記憶装置などのリソースを仮想化することで実現された仮想的なコンピュータである。コンピュータのリソースを仮想化させることで、1台の物理的なコンピュータ上で、OS(Operating System)の異なる複数のVMを同時に稼働させることなどが可能となる。このような仮想マシンを用いたコンピュータシステムを、仮想システムと呼ぶ。   In a multi-tier system such as the Web three-tier system, the server functions of each tier can be realized by a virtual machine (VM). The VM is a virtual computer realized by virtualizing resources such as a CPU (Central Processing Unit) and a storage device of the computer. By virtualizing computer resources, it becomes possible to simultaneously operate a plurality of VMs having different OSs (Operating Systems) on one physical computer. A computer system using such a virtual machine is called a virtual system.

ところで、複数階層システムでは、エンドユーザにおける応答時間が増大した場合などには、問題が発生しているサーバを特定することが、障害対応の第一歩として重要である。そのため、各階層のサーバにおいて処理時間を測定し、その推移を監視することによって問題の有無を判定する手法が広く一般に採用されている。例えば、ネットワークを介して送受信されるパケットをキャプチャし、キャプチャしたパケットに基づいて各階層のサーバでの処理時間を分析する技術がある。   By the way, in a multi-tier system, when the response time of an end user increases, it is important as a first step in dealing with a failure to identify a server in which a problem has occurred. For this reason, a method of determining the presence or absence of a problem by measuring the processing time in the server of each hierarchy and monitoring the transition is widely adopted. For example, there is a technique for capturing a packet transmitted / received via a network and analyzing a processing time at a server in each layer based on the captured packet.

特開2006−011683号公報JP 2006-011683 A

しかし、仮想システムでは、1つのコンピュータ上で稼動しているVM同士で通信するパケットはスイッチを通過しないためキャプチャできない。その結果、仮想システムでは、スイッチでキャプチャできるパケットなどの通信情報が、VM間で通信された全パケットのうちの一部に限定されてしまい、キャプチャした通信情報を用いた分析の精度が低下していた。   However, in the virtual system, a packet communicated between VMs operating on one computer cannot be captured because it does not pass through the switch. As a result, in the virtual system, communication information such as packets that can be captured by the switch is limited to a part of all packets communicated between VMs, and the accuracy of analysis using the captured communication information decreases. It was.

1つの側面では、本発明は、仮想マシン間の通信情報のうち、仮想マシンを実行するサーバ間を接続するネットワーク上で取得可能な通信情報の割合を増加させることができる仮想マシン管理プログラム、仮想マシン管理方法、および仮想マシン管理装置を提供することを目的とする。   In one aspect, the present invention provides a virtual machine management program capable of increasing the proportion of communication information that can be acquired on a network connecting servers that execute virtual machines, among virtual communication information between virtual machines, An object is to provide a machine management method and a virtual machine management apparatus.

1つの案では、コンピュータに、複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、処理を実行させることを特徴とする仮想マシン管理プログラムが提供される。   In one proposal, the computer refers to a storage unit in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the virtual path indicated in each communication path information is indicated. For a pair of machines, a server computer that executes each of the plurality of virtual machines is determined so that each of the two virtual machines that form the pair is executed by different server computers, and a server computer that executes each of the plurality of virtual machines is determined. A virtual machine management program is provided that outputs processing information and executes processing.

また他の1つの案では、コンピュータが、複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、ことを特徴とする仮想マシン管理方法が提供される。   In another plan, the computer refers to a storage unit in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and each of the communication path information For the pair of virtual machines shown, the server computer that executes each of the plurality of virtual machines is determined and each of the plurality of virtual machines is executed so that each of the two virtual machines of the pair is executed by different server computers A virtual machine management method is provided that outputs information indicating a server computer.

さらに他の1つの案では、複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する実行サーバ決定手段と、複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する出力手段と、を有することを特徴とする仮想マシン管理装置が提供される。   In yet another alternative, the storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered is referred to, and virtual An execution server determination means for determining a server computer that executes each of the plurality of virtual machines, and each of the plurality of virtual machines so that each of the two virtual machines that form the pair is executed by different server computers. There is provided a virtual machine management device comprising output means for outputting information indicating a server computer to be executed.

仮想マシン間の通信情報のうち、仮想マシンを実行するサーバ間を接続するネットワーク上で取得可能な通信情報の割合を増加させることができる。   Of the communication information between virtual machines, it is possible to increase the proportion of communication information that can be acquired on a network connecting servers that execute virtual machines.

第1の実施の形態に係るシステムを示す図である。It is a figure which shows the system which concerns on 1st Embodiment. 第2の実施の形態のシステム構成例を示す図である。It is a figure which shows the system configuration example of 2nd Embodiment. 運用ラックと可視化用ラックとの内部構造例を示す図である。It is a figure which shows the example of an internal structure of an operation rack and a visualization rack. 可視化装置のハードウェアの構成例を示す図である。It is a figure which shows the structural example of the hardware of a visualization apparatus. 仮想システム可視化処理の概要を示す図である。It is a figure which shows the outline | summary of a virtual system visualization process. 可視化装置の機能を示すブロック図である。It is a block diagram which shows the function of a visualization apparatus. アドレス記憶部のデータ構造例を示す図である。It is a figure which shows the data structure example of an address memory | storage part. 経路記憶部のデータ構造例を示す図である。It is a figure which shows the example of a data structure of a path | route storage part. 仮想システム可視化処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a virtual system visualization process. 通信経路検出用のVM再配置の概要を示す図である。It is a figure which shows the outline | summary of VM rearrangement for communication path | route detection. 通信の有無調査処理の概要を示す図である。It is a figure which shows the outline | summary of the presence or absence investigation process of communication. VM配置リストのデータ構造例を示す図である。It is a figure which shows the example of a data structure of VM arrangement | positioning list | wrist. 経路表のデータ構造例を示す図である。It is a figure which shows the example of a data structure of a routing table. 通信経路検出処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a communication path | route detection process. 通信経路検出処理の一例を示す図である。It is a figure which shows an example of a communication path | route detection process. 外部から入力された経路リストに基づく可視化用再配置処理の概要を示す図である。It is a figure which shows the outline | summary of the rearrangement process for visualization based on the path | route list input from the outside. VM配置リストのデータ構造例を示す図である。It is a figure which shows the example of a data structure of VM arrangement | positioning list | wrist. 配置可能リストのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the arrangement | positioning possible list | wrist. 可視化用再配置処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the rearrangement process for visualization. 配置パターン選択の第1の例を示す図である。It is a figure which shows the 1st example of arrangement | positioning pattern selection. 配置パターン選択の第2の例を示す図である。It is a figure which shows the 2nd example of arrangement | positioning pattern selection. 可視化処理の一例を示す図である。It is a figure which shows an example of a visualization process.

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るシステムを示す図である。仮想マシン管理装置1は、複数のサーバコンピュータ2,3で実行される仮想マシン7a,7b,7c,7dを管理する。例えば、仮想マシン管理装置1は、仮想マシン7a,7b,7c,7dそれぞれを実行するサーバコンピュータを決定する。仮想マシン配置装置6は、仮想マシン7a,7b,7c,7dそれぞれを、仮想マシン管理装置1で決定されたサーバコンピュータに実行させる。このようにサーバコンピュータに仮想マシンに実行させることを、サーバコンピュータに仮想マシンを配置すると呼ぶこともある。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a system according to the first embodiment. The virtual machine management device 1 manages virtual machines 7a, 7b, 7c, and 7d executed by a plurality of server computers 2 and 3. For example, the virtual machine management device 1 determines server computers that execute the virtual machines 7a, 7b, 7c, and 7d. The virtual machine arrangement device 6 causes the server computer determined by the virtual machine management device 1 to execute each of the virtual machines 7a, 7b, 7c, and 7d. In this way, causing the server computer to execute the virtual machine is sometimes referred to as arranging the virtual machine on the server computer.

また、サーバコンピュータ2,3は、共にスイッチ4に接続されている。サーバコンピュータ2,3は、スイッチ4を用いたネットワークを介して通信を行う。スイッチ4は、ポートミラーリング機能を有している。ポートミラーリング機能とは、所定のポートを介して送受信されるパケットのコピーを、ミラーポートから出力する(キャプチャする)機能である。なお、ポートミラーリング機能は、ポートモニタリングと呼ばれることもある。スイッチ4のミラーポートには、分析装置5が接続されている。分析装置5は、スイッチ4のポートミラーリングによりキャプチャされた通信情報に基づいて、仮想マシン7a,7b,7c,7dによる処理状況を分析する。   The server computers 2 and 3 are both connected to the switch 4. The server computers 2 and 3 communicate via a network using the switch 4. The switch 4 has a port mirroring function. The port mirroring function is a function of outputting (capturing) a copy of a packet transmitted / received via a predetermined port from a mirror port. The port mirroring function is sometimes referred to as port monitoring. The analyzer 5 is connected to the mirror port of the switch 4. The analysis device 5 analyzes the processing status by the virtual machines 7a, 7b, 7c, and 7d based on the communication information captured by the port mirroring of the switch 4.

このような構成のシステムにおいて、分析装置5による分析精度を向上させるには、スイッチ4においてより多くの通信情報をキャプチャすることが有効である。例えば仮想マシン7a,7b,7c,7dの変更前配置では、仮想マシン7aと仮想マシン7bとが、サーバコンピュータ2で実行され、仮想マシン7cと仮想マシン7dとが、サーバコンピュータ3で実行されている。また仮想マシン7aと仮想マシン7bとの間で通信が行われ、仮想マシン7bと仮想マシン7cとの間で通信が行われ、仮想マシン7cと仮想マシン7dとの間で通信が行われている。この場合、仮想マシン7bと仮想マシン7cとの間の通信情報は、スイッチ4でキャプチャ可能である。しかし、仮想マシン7aと仮想マシン7bとの間の通信情報は、サーバコンピュータ2内のホストOSを介して行われており、キャプチャできない。同様に仮想マシン7aと仮想マシン7bとの間の通信情報もキャプチャできない。そうすると、分析装置5で取得できる通信情報が限定的となり、仮想マシン7a,7b,7c,7dによる処理状況の分析精度が低下する。例えば仮想マシン7cと仮想マシン7dとの連携処理の処理時間を求めることはできても、その処理時間内に仮想マシン7cと仮想マシン7dとのそれぞれがどの程度の時間だけ処理を実行していたのかを求めることができない。   In a system having such a configuration, it is effective to capture more communication information in the switch 4 in order to improve the analysis accuracy of the analysis device 5. For example, in the pre-change arrangement of the virtual machines 7a, 7b, 7c, 7d, the virtual machine 7a and the virtual machine 7b are executed by the server computer 2, and the virtual machine 7c and the virtual machine 7d are executed by the server computer 3. Yes. Further, communication is performed between the virtual machine 7a and the virtual machine 7b, communication is performed between the virtual machine 7b and the virtual machine 7c, and communication is performed between the virtual machine 7c and the virtual machine 7d. . In this case, the communication information between the virtual machine 7b and the virtual machine 7c can be captured by the switch 4. However, the communication information between the virtual machine 7a and the virtual machine 7b is performed via the host OS in the server computer 2 and cannot be captured. Similarly, communication information between the virtual machine 7a and the virtual machine 7b cannot be captured. If it does so, the communication information which can be acquired with the analyzer 5 will become limited, and the analysis precision of the processing condition by virtual machine 7a, 7b, 7c, 7d will fall. For example, although the processing time of the cooperation processing between the virtual machine 7c and the virtual machine 7d can be obtained, how much time each of the virtual machine 7c and the virtual machine 7d executed within the processing time I can't ask.

そこで、仮想マシン管理装置1は、分析精度の向上を実現する機能として、記憶手段1a、実行サーバ決定手段1b、および出力手段1cを有している。
記憶手段1aは、少なくとも1つの通信経路情報9a,9b,9cを記憶する。通信経路情報9a,9b,9cは、複数の仮想マシン7a,7b,7c,7dのうち互いに通信を行う2つの仮想マシンの対を示す。図1の例では、3つの通信経路情報9a,9b,9cが格納されている。通信経路情報9aは、識別番号「1」の仮想マシン7aと識別番号「2」の仮想マシン7bとの対を示している。通信経路情報9bは、識別番号「2」の仮想マシン7bと識別番号「3」の仮想マシン7cとの対を示している。通信経路情報9cは、識別番号「3」の仮想マシン7cと識別番号「4」の仮想マシン7dとの対を示している。
Therefore, the virtual machine management apparatus 1 includes a storage unit 1a, an execution server determination unit 1b, and an output unit 1c as functions for improving analysis accuracy.
The storage means 1a stores at least one piece of communication path information 9a, 9b, 9c. The communication path information 9a, 9b, and 9c indicate a pair of two virtual machines that communicate with each other among the plurality of virtual machines 7a, 7b, 7c, and 7d. In the example of FIG. 1, three pieces of communication path information 9a, 9b, and 9c are stored. The communication path information 9a indicates a pair of a virtual machine 7a with an identification number “1” and a virtual machine 7b with an identification number “2”. The communication path information 9b indicates a pair of the virtual machine 7b with the identification number “2” and the virtual machine 7c with the identification number “3”. The communication path information 9c indicates a pair of the virtual machine 7c with the identification number “3” and the virtual machine 7d with the identification number “4”.

実行サーバ決定手段1bは、記憶手段1aを参照し、複数の仮想マシン7a,7b,7c,7dそれぞれを実行するサーバコンピュータを決定する。この際、実行サーバ決定手段1bは、通信経路情報9a,9b,9cそれぞれに示される仮想マシンの対について、対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、仮想マシン7a,7b,7c,7dを実行するサーバコンピュータを決定する。   The execution server determination unit 1b refers to the storage unit 1a and determines a server computer that executes each of the plurality of virtual machines 7a, 7b, 7c, and 7d. At this time, the execution server determination unit 1b performs the virtual machine 7a so that the two virtual machines forming the pair are executed by different server computers with respect to the virtual machine pairs indicated in the communication path information 9a, 9b, and 9c. , 7b, 7c, 7d are determined.

例えば、実行サーバ決定手段1bは、配置パターン生成手段1b−1、可否判定手段1b−2、選択手段1b−3、および決定手段1b−4を有する。
配置パターン生成手段1b−1は、複数の仮想マシンを所定数以下のサーバコンピュータで実行する場合の、複数の仮想マシンそれぞれと仮想マシンを実行するサーバコンピュータとの組み合わせを示す配置パターン8a,8b,8c,・・・を生成する。例えば、配置パターン生成手段1b−1は、複数の仮想マシン7a,7b,7c,7dの少なくとも一部を実行するサーバコンピュータが互いに異なるような複数の配置パターンを生成する。このとき、使用するサーバコンピュータの最大数が予め指定されていれば、例えば配置パターン生成手段1b−1は、サーバ数2台から使用するサーバコンピュータの最大数まで、サーバ台数を1台ずつ増加させたときのサーバ台数ごとに、配置パターンを生成する。
For example, the execution server determination unit 1b includes an arrangement pattern generation unit 1b-1, an availability determination unit 1b-2, a selection unit 1b-3, and a determination unit 1b-4.
The arrangement pattern generation means 1b-1 includes arrangement patterns 8a, 8b, which indicate combinations of a plurality of virtual machines and server computers that execute the virtual machines when a plurality of virtual machines are executed by a predetermined number or less of server computers. 8c,... Are generated. For example, the arrangement pattern generation unit 1b-1 generates a plurality of arrangement patterns in which server computers that execute at least some of the plurality of virtual machines 7a, 7b, 7c, and 7d are different from each other. At this time, if the maximum number of server computers to be used is designated in advance, for example, the arrangement pattern generation means 1b-1 increases the number of servers one by one from two servers to the maximum number of server computers to be used. An arrangement pattern is generated for each number of servers.

可否判定手段1b−2は、生成された配置パターン8a,8b,8c,・・・の適用の可否を判定する。例えば可否判定手段1b−2は、すべての通信経路情報9a,9b,9cそれぞれに示される仮想マシンの対について、対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行される配置パターンを適用可能と判定する。   The availability determining unit 1b-2 determines whether the generated arrangement patterns 8a, 8b, 8c,. For example, the availability determination unit 1b-2 can apply an arrangement pattern in which two virtual machines constituting a pair are executed by different server computers with respect to the virtual machine pairs indicated in all the communication path information 9a, 9b, 9c. Is determined.

選択手段1b−3は、適用可能な配置パターンが複数ある場合、予め指定された選択条件に適合する配置パターンを選択する。例えば選択手段1b−3は、選択条件が性能重視の場合、適用可能な配置パターンのうち、使用するサーバコンピュータの台数が最も多い配置パターンを選択する。また選択手段1b−3は、選択条件が台数節約の場合、適用可能な配置パターンのうち、使用するサーバコンピュータの台数が最も少ない配置パターンを選択する。   When there are a plurality of applicable arrangement patterns, the selection unit 1b-3 selects an arrangement pattern that meets a selection condition specified in advance. For example, when the selection condition places importance on performance, the selection unit 1b-3 selects an arrangement pattern having the largest number of server computers to be used among applicable arrangement patterns. In addition, when the selection condition is saving the number, the selection unit 1b-3 selects an arrangement pattern with the smallest number of server computers to be used among applicable arrangement patterns.

決定手段1b−4は、選択手段1b−3で選択された適用可能な配置パターンに従って、複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する。
出力手段1cは、実行サーバ決定手段1bで決定された、複数の仮想マシン7a,7b,7c,7dそれぞれを実行するサーバコンピュータを示す情報(配置情報)を出力する。配置情報は、例えば仮想マシン配置装置6に対して出力される。
The determining unit 1b-4 determines a server computer that executes each of the plurality of virtual machines according to the applicable arrangement pattern selected by the selecting unit 1b-3.
The output unit 1c outputs information (arrangement information) indicating a server computer that executes each of the plurality of virtual machines 7a, 7b, 7c, and 7d determined by the execution server determination unit 1b. The placement information is output to the virtual machine placement device 6, for example.

このようなシステムによれば、仮想マシン管理装置1の実行サーバ決定手段1bにより、仮想マシン7a,7b,7c,7dを実行するサーバコンピュータが決定される。このとき、通信経路情報9a,9b,9cそれぞれに示される仮想マシンの対について、対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、仮想マシン7a,7b,7c,7dを実行するサーバコンピュータが決定される。例えば、仮想マシン7a,7cをサーバコンピュータ2が実行すること、および仮想マシン7b,7dをサーバコンピュータ3が実行することが決定される。実行サーバ決定手段1bでの決定内容を示す配置情報は、出力手段1cにより、仮想マシン配置装置6に対して出力される。   According to such a system, a server computer that executes the virtual machines 7a, 7b, 7c, and 7d is determined by the execution server determination unit 1b of the virtual machine management apparatus 1. At this time, for the virtual machine pairs indicated in the communication path information 9a, 9b, and 9c, the virtual machines 7a, 7b, 7c, and 7d are set so that the two virtual machines that form the pair are executed by different server computers. A server computer to be executed is determined. For example, it is determined that the server computer 2 executes the virtual machines 7a and 7c and the server computer 3 executes the virtual machines 7b and 7d. Arrangement information indicating the contents determined by the execution server decision unit 1b is output to the virtual machine arrangement apparatus 6 by the output unit 1c.

仮想マシン配置装置6は、配置情報に従って、仮想マシン7a,7b,7c,7dを再配置する。図1の例では、仮想マシン配置装置6は、サーバコンピュータ2に対して、仮想マシン7bのサーバコンピュータ3への移動(マイグレーション)を指示する。するとサーバコンピュータ2は、仮想マシン7bの実行を停止し、仮想マシン7bの実行に必要なプログラムやデータをサーバコンピュータ3に転送する。サーバコンピュータ3は、サーバコンピュータ2から取得したプログラムやデータに基づいて、仮想マシン7bを実行する。同様に、仮想マシン配置装置6は、サーバコンピュータ3に対して、仮想マシン7cのサーバコンピュータ2への移動を指示する。その結果、仮想マシン7a,7cはサーバコンピュータ2で実行され、仮想マシン7b,7dはサーバコンピュータ3で実行される。   The virtual machine placement device 6 rearranges the virtual machines 7a, 7b, 7c, and 7d according to the placement information. In the example of FIG. 1, the virtual machine placement apparatus 6 instructs the server computer 2 to move (migrate) the virtual machine 7 b to the server computer 3. Then, the server computer 2 stops the execution of the virtual machine 7b and transfers a program and data necessary for the execution of the virtual machine 7b to the server computer 3. The server computer 3 executes the virtual machine 7b based on the program and data acquired from the server computer 2. Similarly, the virtual machine placement apparatus 6 instructs the server computer 3 to move the virtual machine 7c to the server computer 2. As a result, the virtual machines 7 a and 7 c are executed by the server computer 2, and the virtual machines 7 b and 7 d are executed by the server computer 3.

すると仮想マシン7a,7b,7c,7d間の通信は、すべてスイッチ4を介して行われる。すなわち通信情報がすべてスイッチ4を経由する。これにより仮想マシン7a,7b,7c,7d間のすべての通信情報がスイッチ4でキャプチャされ、分析装置5に入力される。その結果、分析装置5では、仮想マシン7a,7b,7c,7dによる処理状況を高精度に分析することができる。例えば、1つのトランザクションを仮想マシン7a,7b,7c,7dが連携して実行した場合に、個々の仮想マシン7a,7b,7c,7dがどの程度の時間を処理に費やしたのかを分析できる。   Then, all communication between the virtual machines 7a, 7b, 7c, and 7d is performed via the switch 4. That is, all communication information passes through the switch 4. As a result, all communication information between the virtual machines 7 a, 7 b, 7 c and 7 d is captured by the switch 4 and input to the analyzer 5. As a result, the analysis device 5 can analyze the processing status of the virtual machines 7a, 7b, 7c, and 7d with high accuracy. For example, when a single transaction is executed by the virtual machines 7a, 7b, 7c, and 7d in cooperation, it is possible to analyze how much time each virtual machine 7a, 7b, 7c, and 7d has spent on processing.

このように、第1の実施の形態に係るシステムによれば、仮想マシン間の通信情報のうち、仮想マシンを実行するサーバコンピュータ間を接続するネットワーク上で取得可能な通信情報の割合を増加させることができる。その結果、通信情報を利用した仮想マシンの処理状況の分析精度を向上させることができる。   As described above, according to the system according to the first embodiment, the ratio of the communication information that can be acquired on the network that connects the server computers that execute the virtual machines is increased among the communication information between the virtual machines. be able to. As a result, it is possible to improve the analysis accuracy of the processing status of the virtual machine using the communication information.

ところで、図1の例では、仮想マシン7a,7b,7c,7d間の通信情報がすべてキャプチャ可能なように、仮想マシン7a,7b,7c,7dを再配置しているが、一部の通信情報についてはキャプチャしなくてもよい場合もある。例えば、仮想マシン7a,7b,7c,7dで連携して実行されるトランザクションのうち、仮想マシン7cと仮想マシン7dとで実行される処理についての処理時間を知りたい場合がある。その場合、仮想マシン7bと仮想マシン7cとが別のサーバコンピュータで実行され、仮想マシン7cと仮想マシン7dとが別のサーバコンピュータで実行されていればよい。   In the example of FIG. 1, the virtual machines 7a, 7b, 7c, and 7d are rearranged so that all the communication information between the virtual machines 7a, 7b, 7c, and 7d can be captured. Information may not need to be captured. For example, among transactions executed in cooperation with the virtual machines 7a, 7b, 7c, and 7d, there is a case where it is desired to know the processing time for the processing executed with the virtual machine 7c and the virtual machine 7d. In that case, the virtual machine 7b and the virtual machine 7c may be executed by different server computers, and the virtual machine 7c and the virtual machine 7d may be executed by different server computers.

[第2の実施の形態]
第2の実施の形態は、運用サーバ群とは別に、システム可視化用のサーバ群を用意し、システム可視化用のサーバ群を用いてパケットのキャプチャを行うものである。なお、以下の説明では、仮想サーバは「VM」と略語で表記するものとする。また、VMを実行するサーバコンピュータを、物理サーバと呼ぶ。さらに、複数のVMによる処理状況を分析することを「可視化」と呼ぶ。
[Second Embodiment]
In the second embodiment, a server group for system visualization is prepared separately from the operation server group, and packets are captured using the server group for system visualization. In the following description, the virtual server is abbreviated as “VM”. A server computer that executes a VM is called a physical server. Furthermore, analyzing the processing status by a plurality of VMs is called “visualization”.

原理的には、通信するVMを異なる物理サーバに配置すればすべての通信経路をキャプチャすることが可能である。例えば図1に示したように、通信が発生するVM同士を異なる物理サーバに配置すれば、すべての通信を可視化することが可能である。しかし、常時この配置で固定するのは仮想システムの利点である柔軟な運用ができず、効率的ではない。一方、仮想システムでは、ライブマイグレーションの技術を用いて動的にVMを配置することが可能である。ライブマイグレーションは、1つの物理サーバで実行中のVMを別の物理サーバに、無停止で移動させる技術である。そこで第2の実施の形態では、システムに問題が発生した場合にシステムの機能が設計通りに稼動しているかどうかの調査(可視化)に使用する物理サーバ群を設ける。そして、システム可視化に使用する物理サーバ群に可視化対象のサービスを実現するVMを配置し、システム可視化を行う。   In principle, all communication paths can be captured if the communicating VMs are arranged in different physical servers. For example, as shown in FIG. 1, if VMs that generate communication are arranged in different physical servers, all communication can be visualized. However, fixing with this arrangement at all times is not efficient because flexible operation, which is an advantage of the virtual system, is not possible. On the other hand, in a virtual system, it is possible to dynamically arrange VMs using live migration technology. Live migration is a technique for moving a VM running on one physical server to another physical server without stopping. Therefore, in the second embodiment, when a problem occurs in the system, a physical server group used for investigation (visualization) of whether or not the system functions are operating as designed is provided. Then, a VM that realizes a service to be visualized is arranged in a physical server group used for system visualization, and system visualization is performed.

図2は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態では、運用ラックAと可視化用ラックBとが設けられている。運用ラックAには、可視化の対象とされていないサービスを実現するVMを配置する物理サーバが内蔵されている。可視化用ラックBには、可視化の対象とされるサービスを実現するVMを配置する物理サーバが内蔵されている。運用ラックAと可視化用ラックBとは、ネットワーク10に接続されている。   FIG. 2 is a diagram illustrating a system configuration example according to the second embodiment. In the second embodiment, an operation rack A and a visualization rack B are provided. The operation rack A has a built-in physical server in which a VM that realizes a service not targeted for visualization is arranged. The visualization rack B has a built-in physical server in which a VM that realizes a service to be visualized is arranged. The operation rack A and the visualization rack B are connected to the network 10.

ネットワーク10には、さらにVM配置装置11と複数の端末装置21,22,・・・とが接続されている。VM配置装置11は、運用ラックAと可視化用ラックBとのそれぞれに内蔵された物理サーバに対してVMの配置を指示するコンピュータである。各端末装置21,22,・・・は、運用ラックAまたは可視化用ラックB内の物理サーバに配置されたVMにより提供されるサービスを利用するユーザが使用するコンピュータである。   Further, a VM placement device 11 and a plurality of terminal devices 21, 22,... Are connected to the network 10. The VM placement device 11 is a computer that instructs the placement of VMs to physical servers built in the operation rack A and the visualization rack B, respectively. Each terminal device 21, 22,... Is a computer used by a user who uses a service provided by a VM arranged in a physical server in the operation rack A or the visualization rack B.

図3は、運用ラックと可視化用ラックとの内部構造例を示す図である。運用ラックAには、複数の物理サーバ31,32,33,・・・とスイッチ51とが搭載されている。物理サーバ31,32,33,・・・は、それぞれが個別のコンピュータである。各物理サーバ31,32,33,・・・は、スイッチ51に接続されている。各物理サーバ31,32,33,・・・は、スイッチ51経由で互いに通信を行う。スイッチ51は、ネットワーク10にも接続されている。   FIG. 3 is a diagram illustrating an example of the internal structure of the operation rack and the visualization rack. In the operation rack A, a plurality of physical servers 31, 32, 33,... And a switch 51 are mounted. Each of the physical servers 31, 32, 33,... Is an individual computer. Each physical server 31, 32, 33,... Is connected to a switch 51. The physical servers 31, 32, 33,... Communicate with each other via the switch 51. The switch 51 is also connected to the network 10.

可視化用ラックBには、複数の物理サーバ41,42,43,・・・、スイッチ52、および可視化装置100が搭載されている。物理サーバ41,42,43,・・・は、それぞれが個別のコンピュータである。各物理サーバ41,42,43,・・・は、スイッチ52に接続されている。各物理サーバ41,42,43,・・・は、スイッチ52経由で互いに通信を行う。   In the visualization rack B, a plurality of physical servers 41, 42, 43,..., A switch 52, and a visualization device 100 are mounted. Each of the physical servers 41, 42, 43,... Is an individual computer. Each physical server 41, 42, 43,... Is connected to a switch 52. The physical servers 41, 42, 43,... Communicate with each other via the switch 52.

スイッチ52は、ポートミラーリング機能を有するスイッチングハブである。各物理サーバ41,42,43,・・・が接続されているのは、スイッチ52のミラーポート52a以外の通常のポートである。スイッチ52には、さらにミラーポート52a以外のポートを介してネットワーク10に接続されている。またスイッチ52のミラーポート52aには、可視化装置100が接続されている。   The switch 52 is a switching hub having a port mirroring function. The physical servers 41, 42, 43,... Are connected to normal ports other than the mirror port 52a of the switch 52. The switch 52 is further connected to the network 10 via a port other than the mirror port 52a. The visualization device 100 is connected to the mirror port 52 a of the switch 52.

可視化装置100は、ミラーポートから出力されたパケットを受信し、物理サーバ41,42,43,・・・に配置されたVMが送受信したメッセージを解析する。また可視化装置100は、VMの配置を適宜決定することができる。例えば可視化装置100は、受信したパケットに基づいて互いに通信を行っているVMの対を検出し、キャプチャ可能なパケットの割合が高くなるようなVMの配置を決定する。可視化装置100は、VMの配置を決定すると、決定されたVMの配置を示す配置情報を、スイッチ52を介してVM配置装置11に送信する。   The visualization apparatus 100 receives a packet output from the mirror port, and analyzes a message transmitted / received by a VM arranged in the physical servers 41, 42, 43,. Further, the visualization apparatus 100 can appropriately determine the arrangement of VMs. For example, the visualization apparatus 100 detects a pair of VMs that are communicating with each other based on the received packet, and determines the placement of the VM so that the ratio of packets that can be captured is high. When determining the VM arrangement, the visualization apparatus 100 transmits arrangement information indicating the determined VM arrangement to the VM arrangement apparatus 11 via the switch 52.

図4は、可視化装置のハードウェアの構成例を示す図である。可視化装置100は、CPU101によって装置全体が制御されている。CPU101には、バス106を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。   FIG. 4 is a diagram illustrating a hardware configuration example of the visualization apparatus. The entire visualization apparatus 100 is controlled by the CPU 101. A random access memory (RAM) 102 and a plurality of peripheral devices are connected to the CPU 101 via a bus 106.

RAM102は、可視化装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。   The RAM 102 is used as a main storage device of the visualization device 100. The RAM 102 temporarily stores at least a part of OS programs and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101.

バス106に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、および複数の通信インタフェース104,105がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、可視化装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
Peripheral devices connected to the bus 106 include a hard disk drive (HDD) 103 and a plurality of communication interfaces 104 and 105.
The HDD 103 magnetically writes and reads data to and from the built-in disk. The HDD 103 is used as a secondary storage device of the visualization device 100. The HDD 103 stores an OS program, application programs, and various data. Note that a semiconductor storage device such as a flash memory can also be used as the secondary storage device.

通信インタフェース104は、スイッチ52の通常の通信用のポート52bに接続されている。通信インタフェース104は、スイッチ52を介して、VM配置装置11などの他の通信機器との間でデータの送受信を行う。   The communication interface 104 is connected to the normal communication port 52 b of the switch 52. The communication interface 104 transmits / receives data to / from other communication devices such as the VM placement device 11 via the switch 52.

通信インタフェース105は、スイッチ52のミラーポート52aに接続されている。通信インタフェース105は、スイッチ52のミラーポート52aから出力されるパケットを受信し、CPU101に転送する。なお通信インタフェース105は、受信したパケットの宛先が可視化装置100以外の装置であっても、そのパケットを破棄せずに取得する。   The communication interface 105 is connected to the mirror port 52 a of the switch 52. The communication interface 105 receives a packet output from the mirror port 52 a of the switch 52 and transfers it to the CPU 101. Even if the destination of the received packet is an apparatus other than the visualization apparatus 100, the communication interface 105 acquires the packet without discarding it.

なお、可視化装置100は、さらにグラフィック処理装置、入力インタフェース、光学ドライブ装置などを有していてもよい。例えば、可視化装置100がグラフィック処理装置を有している場合、グラフィック処理装置にモニタが接続される。そして、グラフィック処理装置は、CPU101からの命令に従って、画像をモニタの画面に表示させる。モニタとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   The visualization device 100 may further include a graphic processing device, an input interface, an optical drive device, and the like. For example, when the visualization apparatus 100 has a graphic processing apparatus, a monitor is connected to the graphic processing apparatus. Then, the graphic processing apparatus displays an image on the monitor screen in accordance with a command from the CPU 101. Examples of the monitor include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

また可視化装置100が入力インタフェースを有していた場合、例えば入力インタフェースには、キーボードとマウスとが接続される。その場合、入力インタフェースは、キーボードやマウスから送られてくる信号をCPU101に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   When the visualization apparatus 100 has an input interface, for example, a keyboard and a mouse are connected to the input interface. In this case, the input interface transmits a signal sent from the keyboard or mouse to the CPU 101. Note that the mouse is an example of a pointing device, and other pointing devices can be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

さらに可視化装置100が光学ドライブ装置を有していた場合、その光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りを行う。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   Further, when the visualization apparatus 100 has an optical drive device, the optical drive device reads data recorded on the optical disk using a laser beam or the like. An optical disc is a portable recording medium on which data is recorded so that it can be read by reflection of light. Optical disks include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図4には可視化装置100のハードウェア構成例を示したが、運用ラックA内の各物理サーバ31,32,33,・・・、可視化用ラックB内の物理サーバ41,42,43,・・・、VM配置装置11も同様のハードウェアで実現できる。端末装置21,22,・・・は、図4に示したハードウェア構成に加え、グラフィック処理装置や入力インタフェースを有する。端末装置21,22,・・・は、入力インタフェースを介して、入力インタフェースに接続されたキーボードやマウスなどの入力装置に対するユーザの操作入力を受け付ける。また端末装置21,22,・・・は、グラフィック処理装置に接続されたモニタに、VMによる処理結果などの各種情報を表示する。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. 4 shows an example of the hardware configuration of the visualization apparatus 100. However, the physical servers 31, 32, 33,... In the operation rack A and the physical servers 41, 42, 43 in the visualization rack B are shown. ,..., The VM placement device 11 can be realized by similar hardware. The terminal devices 21, 22,... Have a graphic processing device and an input interface in addition to the hardware configuration shown in FIG. The terminal devices 21, 22,... Receive user operation inputs to input devices such as a keyboard and a mouse connected to the input interface via the input interface. Further, the terminal devices 21, 22,... Display various information such as processing results by the VM on a monitor connected to the graphic processing device.

次に、第2の実施の形態における仮想システム可視化処理の概要について説明する。
図5は、仮想システム可視化処理の概要を示す図である。図5の例では、運用ラックA内の物理サーバ31,32,33,・・・で、VM81〜86が実行されている。なお各VM81〜86には、システム内で一意に識別可能な識別子(VM番号)が設定されている。VM81のVM番号は「1」である。VM82のVM番号は「2」である。VM83のVM番号は「3」である。VM84のVM番号は「4」である。VM85のVM番号は「5」である。VM86のVM番号は「6」である。
Next, an overview of virtual system visualization processing in the second embodiment will be described.
FIG. 5 is a diagram showing an outline of the virtual system visualization process. In the example of FIG. 5, VMs 81 to 86 are executed on the physical servers 31, 32, 33,. Each VM 81 to 86 is set with an identifier (VM number) that can be uniquely identified in the system. The VM number of the VM 81 is “1”. The VM number of the VM 82 is “2”. The VM number of the VM 83 is “3”. The VM number of the VM 84 is “4”. The VM number of the VM 85 is “5”. The VM number of the VM 86 is “6”.

物理サーバ31,32,33,・・・は、それぞれホストOS31a,32a,33a,・・・によって動作が制御されている。同様に可視化用ラックB内の物理サーバ41,42,43,・・・は、それぞれホストOS41a,42a,43a,・・・によって動作が制御されている。なお仮想システムでは、動的にVMの配置を変更することが可能である。   The operations of the physical servers 31, 32, 33,... Are controlled by the host OSs 31a, 32a, 33a,. Similarly, the operations of the physical servers 41, 42, 43,... In the visualization rack B are controlled by the host OSs 41a, 42a, 43a,. In the virtual system, the VM arrangement can be dynamically changed.

異なる物理サーバに配置されたVM同士は、物理サーバ同士を接続するスイッチを介した通信を行う。例えば、物理サーバ31内のVM82と物理サーバ32内のVM83とは、スイッチ51を介した通信を行う。他方、同一物理サーバに配置されたVM同士は、その物理サーバのホストOSを介して通信を行う。例えば、物理サーバ31内のVM81,82は、ホストOS31aを介して通信を行う。   VMs arranged on different physical servers communicate via a switch that connects the physical servers. For example, the VM 82 in the physical server 31 and the VM 83 in the physical server 32 perform communication via the switch 51. On the other hand, VMs arranged on the same physical server communicate with each other via the host OS of the physical server. For example, the VMs 81 and 82 in the physical server 31 communicate via the host OS 31a.

第2の実施の形態では、運用ラックA内の物理サーバ31,32,33,・・・で実行されているVMのうち、可視化対象のサービス(例えばWeb3階層システムによるWebサービス)を実行するVMのみの再配置が行われる。図5の例では、4つのVM81〜84で実現されるサービスが、可視化の対象であるものとする。   In the second embodiment, among VMs executed on the physical servers 31, 32, 33,... In the operation rack A, a VM that executes a service to be visualized (for example, a Web service based on a Web three-tier system). Only relocation is done. In the example of FIG. 5, it is assumed that services realized by the four VMs 81 to 84 are objects to be visualized.

VM81〜84を再配置する場合、通信するVMの対を異なる物理サーバに配置すれば、すべての通信経路をキャプチャすることが可能となる。なお、スイッチ51にポートミラーリング機能を設け、運用ラックA内に可視化装置を実装すれば、運用ラックA内でVMの再配置を行い、仮想システム可視化を実現することが可能である。だたし、運用ラックA内において、可視化対象のサービスを実行するVMを、可視化用の配置で固定するのは効率的ではない。また、運用ラックA内の物理サーバでは、可視化対象のサービスとは関係のないVM85,86も動作している。運用ラックAにおいてパケットのキャプチャを行うと、VM85とVM86との間の通信に関するパケットもキャプチャされる。キャプチャ対象のパケットが多すぎると、可視化装置100におけるパケットの受信が間に合わず、受信できないパケットが発生する可能性がある。そこで、第2の実施の形態では、可視化対象のサービスを実行するVMを、可視化用ラックB内の物理サーバ41,42,43,・・・に配置する。これにより、キャプチャするパケットの取りこぼしを抑制するとともに、仮想システム可視化処理を実行することによる運用中の他のサービスへの悪影響を抑止することができる。   When the VMs 81 to 84 are rearranged, it is possible to capture all communication paths if the communicating VM pairs are arranged in different physical servers. If the switch 51 is provided with a port mirroring function and a visualization device is mounted in the operation rack A, VMs can be rearranged in the operation rack A and virtual system visualization can be realized. However, it is not efficient to fix the VM that executes the service to be visualized in the operation rack A with the arrangement for visualization. Further, in the physical server in the operation rack A, VMs 85 and 86 that are not related to the visualization target service are also operating. When a packet is captured in the operation rack A, a packet related to communication between the VM 85 and the VM 86 is also captured. If there are too many packets to be captured, the visualization apparatus 100 may not be able to receive the packets in time, and packets that cannot be received may occur. Therefore, in the second embodiment, VMs that execute the services to be visualized are arranged on the physical servers 41, 42, 43,... In the visualization rack B. As a result, it is possible to prevent the packet to be captured from being missed and to prevent adverse effects on other services being operated by executing the virtual system visualization process.

このように、第2の実施の形態では、システムに問題が発生した場合などの調査用に、専用の物理サーバ41,42,43,・・・を可視化用ラックB内に設けられている。そして、調査対象のサービスを実行するVM81〜84が物理サーバ41,42,43に再配置される。   As described above, in the second embodiment, dedicated physical servers 41, 42, 43,... Are provided in the visualization rack B for investigation when a problem occurs in the system. Then, the VMs 81 to 84 that execute the investigation target service are relocated to the physical servers 41, 42, and 43.

VM81〜84を再配置する場合、可視化装置100は、互いに通信するVMが異なる物理サーバに配置されるように、VM81〜84の配置先を決定する。図5の例では、VM81を物理サーバ41に配置し、VM82を物理サーバ42に配置し、VM83を物理サーバ41に配置し、VM84を物理サーバ42に配置することが決定されている。そして、可視化装置100が決定した配置を示す配置情報に基づいて、VM配置装置11が再配置処理を実行する。   When rearranging the VMs 81 to 84, the visualization apparatus 100 determines the placement destination of the VMs 81 to 84 so that the VMs communicating with each other are placed on different physical servers. In the example of FIG. 5, it is determined that the VM 81 is arranged on the physical server 41, the VM 82 is arranged on the physical server 42, the VM 83 is arranged on the physical server 41, and the VM 84 is arranged on the physical server 42. Then, based on the placement information indicating the placement determined by the visualization device 100, the VM placement device 11 executes a rearrangement process.

可視化用ラックB内の物理サーバ41,42に再配置されたVM81〜84は、VM間のすべての通信がスイッチ52を介して行われる。従って、すべての通信に関するパケットがスイッチ52でキャプチャされ、可視化装置100に入力される。その結果、可視化装置100において、複数VM81〜84による連携した処理を高精度に分析することが可能となる。   In the VMs 81 to 84 rearranged in the physical servers 41 and 42 in the visualization rack B, all communication between the VMs is performed via the switch 52. Accordingly, all communication-related packets are captured by the switch 52 and input to the visualization apparatus 100. As a result, in the visualization apparatus 100, it is possible to analyze the coordinated processing by the plurality of VMs 81 to 84 with high accuracy.

次に、図5に示した仮想システム可視化処理を実現するための可視化装置100の機能について説明する。
図6は、可視化装置の機能を示すブロック図である。可視化装置100は、分析部110、アドレス記憶部120、経路検出部130、経路記憶部140、および配置決定部150を有する。
Next, functions of the visualization apparatus 100 for realizing the virtual system visualization process illustrated in FIG. 5 will be described.
FIG. 6 is a block diagram illustrating functions of the visualization apparatus. The visualization apparatus 100 includes an analysis unit 110, an address storage unit 120, a route detection unit 130, a route storage unit 140, and an arrangement determination unit 150.

分析部110は、スイッチ52からキャプチャしたパケットに基づいて、複数のVMによって複数階層のシステム構成を取る処理の処理状況を分析する。例えば、分析部110は、1つのトランザクションの実行に当たり、各VMが処理に要した時間を分析する。分析部110は、例えば、分析結果をシステムの管理者が使用する端末装置に送信する。   Based on the packet captured from the switch 52, the analysis unit 110 analyzes the processing status of a process that takes a multi-layer system configuration by a plurality of VMs. For example, the analysis unit 110 analyzes the time required for processing by each VM when executing one transaction. For example, the analysis unit 110 transmits the analysis result to a terminal device used by the system administrator.

アドレス記憶部120は、各VMを識別するアドレスを記憶する。第2の実施の形態では、アドレス記憶部120は、各VMのIP(Internet Protocol)アドレスを記憶する。例えば、RAM102またはHDD103の記憶領域の一部がアドレス記憶部120として使用される。   The address storage unit 120 stores an address for identifying each VM. In the second embodiment, the address storage unit 120 stores the IP (Internet Protocol) address of each VM. For example, a part of the storage area of the RAM 102 or the HDD 103 is used as the address storage unit 120.

経路検出部130は、スイッチ52からキャプチャしたパケットに基づいて、通信が発生しているVM間の通信経路を検出する。例えば経路検出部130は、分析対象のサービスを実行するVMから2つのVMを選択して得られるVMの対について、通信が発生したか否かを判断する。VMの対における通信の有無は、パケットのヘッダ情報を解析することで判断できる。例えば経路検出部130は、アドレス記憶部120を参照し、通信されたパケットのヘッダ情報から、送信元と宛先とのアドレスを抽出する。そして経路検出部130は、抽出したアドレスに対応するVMの対の間で通信が発生したものと判断する。   The path detection unit 130 detects a communication path between VMs that are communicating based on the packet captured from the switch 52. For example, the path detection unit 130 determines whether communication has occurred for a VM pair obtained by selecting two VMs from VMs that execute the analysis target service. The presence or absence of communication in the VM pair can be determined by analyzing the header information of the packet. For example, the path detection unit 130 refers to the address storage unit 120 and extracts the addresses of the transmission source and the destination from the header information of the communicated packet. Then, the path detection unit 130 determines that communication has occurred between the VM pair corresponding to the extracted address.

また、経路検出部130は、通信の発生の有無を判断していないVMの対について、そのVMの対が異なる物理サーバに配置されるような配置情報61を生成する。そして経路検出部130は、生成した配置情報61をVM配置装置11に送信する。VM配置装置11は、配置情報61に従って可視化用ラックB内の物理サーバ41,42,43,・・・に可視化対象のサービスを実行するVMを配置する。その後、配置されたVMに負荷がかけられる。例えば、端末装置からのリクエストメッセージが物理サーバ41,42,43,・・・に配置されたVMに入力される。するとリクエストメッセージに応じて、複数のVMで連携した動作が実行され、VMの連携動作に使用されたパケットがスイッチ52でキャプチャされる。すると、経路検出部130は、キャプチャされたパケットに基づいて、通信の発生の有無を判断していないVMの対について、通信の有無を判断できる。なお、通信経路は、例えば、通信を行ったVMの対のVM番号で表される。経路検出部130は、検出した通信経路を示す通信経路情報を経路記憶部140に格納する。   Further, the path detection unit 130 generates the arrangement information 61 such that the VM pair for which the presence / absence of communication is not determined is arranged on a different physical server. Then, the path detection unit 130 transmits the generated arrangement information 61 to the VM arrangement apparatus 11. The VM placement apparatus 11 places VMs that execute the services to be visualized on the physical servers 41, 42, 43,... In the visualization rack B according to the placement information 61. Thereafter, the placed VM is loaded. For example, a request message from the terminal device is input to a VM arranged in the physical servers 41, 42, 43,. Then, in response to the request message, an operation linked with a plurality of VMs is executed, and the packet used for the VM linked operation is captured by the switch 52. Then, the path detection unit 130 can determine the presence / absence of communication for a VM pair that has not determined the presence / absence of communication based on the captured packet. Note that the communication path is represented by, for example, the VM number of a pair of VMs that performed communication. The route detection unit 130 stores communication route information indicating the detected communication route in the route storage unit 140.

経路記憶部140は、通信を行うVMの対を示す通信経路情報を記憶する。例えば、RAM102またはHDD103の記憶領域の一部が経路記憶部140として使用される。
配置決定部150は、経路記憶部140を参照し、できるだけ多くのVM間の通信がスイッチ52経由で行われるような各VMの配置を決定する。例えば配置決定部150は、通信を行っている2つのVMの対を、可能な限り異なる物理サーバに配置するように決定する。配置決定部150は、決定された配置を示す配置情報62を、VM配置装置11に送信する。VM配置装置11は、配置情報62に従って可視化用ラックB内の物理サーバ41,42,43,・・・に可視化対象のサービスを実行するVMを配置する。その後、配置されたVMに負荷がかけられる。例えば、端末装置からのリクエストメッセージが物理サーバ41,42,43,・・・に配置されたVMに入力される。するとリクエストメッセージに応じて、複数のVMが連携した動作が実行され、VMが連携に使用したパケットがスイッチ52でキャプチャされる。このときキャプチャしたパケットを分析部110が分析することで、例えば可視化対象のサービスを実行するVMの1トランザクション当たりの処理時間が算出される。
The path storage unit 140 stores communication path information indicating a pair of VMs that perform communication. For example, a part of the storage area of the RAM 102 or the HDD 103 is used as the path storage unit 140.
The placement determination unit 150 refers to the path storage unit 140 and determines the placement of each VM such that communication between as many VMs as possible is performed via the switch 52. For example, the arrangement determining unit 150 determines to arrange two VM pairs that are performing communication on different physical servers as much as possible. The placement determining unit 150 transmits placement information 62 indicating the determined placement to the VM placement device 11. The VM placement apparatus 11 places VMs that execute the services to be visualized on the physical servers 41, 42, 43,... In the visualization rack B according to the placement information 62. Thereafter, the placed VM is loaded. For example, a request message from the terminal device is input to a VM arranged in the physical servers 41, 42, 43,. Then, according to the request message, an operation in which a plurality of VMs cooperate with each other is executed, and a packet used by the VM for cooperation is captured by the switch 52. When the analysis unit 110 analyzes the captured packet at this time, for example, the processing time per transaction of the VM that executes the service to be visualized is calculated.

次に、可視化装置100に格納される情報について説明する。
図7は、アドレス記憶部のデータ構造例を示す図である。アドレス記憶部120には、アドレス対応表121が格納されている。アドレス対応表121には、各VMについて、VM番号とIPアドレスとの組が設定されている。このようなアドレス対応表121を参照することで、キャプチャしたパケットの送信元のVMと宛先のVMとを特定することができる。
Next, information stored in the visualization device 100 will be described.
FIG. 7 is a diagram illustrating an example of a data structure of the address storage unit. The address storage unit 120 stores an address correspondence table 121. In the address correspondence table 121, a set of a VM number and an IP address is set for each VM. By referring to such an address correspondence table 121, it is possible to identify the transmission source VM and the destination VM of the captured packet.

図8は、経路記憶部のデータ構造例を示す図である。経路記憶部140には、経路リスト141が格納されている。経路リスト141には、互いに通信を行う2つVMのVM番号の対が、通信経路情報として登録されている。   FIG. 8 is a diagram illustrating an example of the data structure of the path storage unit. The route storage unit 140 stores a route list 141. In the route list 141, pairs of VM numbers of two VMs that communicate with each other are registered as communication route information.

図6〜図8に示したような構成の可視化装置100により、仮想システムを用いた複数階層システムにおいて、可視化対象のサービスを実行するVM間の通信パケットを高い確率で採取可能となり、高精度の処理状況の分析が可能となる。   The visualization apparatus 100 configured as shown in FIG. 6 to FIG. 8 makes it possible to collect communication packets between VMs that execute services to be visualized with a high probability in a multi-tier system using a virtual system. The processing status can be analyzed.

図9は、仮想システム可視化処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS11]経路検出部130は、可視化対象のサービスを実行するVM間の通信経路を検出する。例えば経路検出部130は、VMの再配置を繰り返し、VMを再配置するごとにVM間の通信の有無を調査する。これにより、自動的にVM間の通信経路が検出される。検出した通信経路は、通信経路情報として経路記憶部140内の経路リスト141に登録される。
FIG. 9 is a flowchart illustrating a procedure of virtual system visualization processing. In the following, the process illustrated in FIG. 9 will be described in order of step number.
[Step S11] The route detection unit 130 detects a communication route between VMs that execute the services to be visualized. For example, the path detection unit 130 repeats the rearrangement of VMs, and checks the presence / absence of communication between VMs every time the VMs are rearranged. Thereby, the communication path between VMs is automatically detected. The detected communication path is registered in the path list 141 in the path storage unit 140 as communication path information.

[ステップS12]配置決定部150は、経路リスト141内の通信経路情報で示されるVMの対が互いに異なる物理サーバに配置されるように、可視化用のVMの配置を決定する。そして配置決定部150は、決定した配置を示す配置情報をVM配置装置11に送信する。これにより、可視化用ラックB内の物理サーバ41,42,43,・・・に、サービスを実行するVMが再配置される。   [Step S12] The placement determining unit 150 determines the placement of the VMs for visualization so that the VM pairs indicated by the communication route information in the route list 141 are placed on different physical servers. Then, the placement determination unit 150 transmits placement information indicating the determined placement to the VM placement device 11. As a result, VMs that execute services are rearranged on the physical servers 41, 42, 43,... In the visualization rack B.

[ステップS13]分析部110は、再配置されたVMの動作状況を可視化する。すなわち、分析部110は、再配置されたVMに負荷を与え、そのVMに入出力されるパケットをキャプチャすることで、サービスの処理状況を分析する。そして分析部110は、分析結果を、管理者が使用する端末装置に送信する。   [Step S13] The analysis unit 110 visualizes the operation status of the rearranged VM. That is, the analysis unit 110 applies a load to the rearranged VM and captures packets input / output to / from the VM, thereby analyzing the service processing status. And the analysis part 110 transmits an analysis result to the terminal device which an administrator uses.

なお、ステップS11に示した通信経路検出処理は、予めVM間の通信経路が分かっている場合には不要である。予めVM間の通信経路が分かっている場合、例えば、管理者が端末装置に対して通信経路情報の操作入力を行う。経路検出部130は、管理者が使用する端末装置から通信経路情報を取得し、経路記憶部140に格納する。   Note that the communication path detection process shown in step S11 is unnecessary when the communication path between VMs is known in advance. When the communication path between VMs is known in advance, for example, the administrator inputs an operation input of communication path information to the terminal device. The route detection unit 130 acquires communication route information from the terminal device used by the administrator and stores it in the route storage unit 140.

以下、図9に示した各処理を詳細に説明する。
<通信経路検出処理>
経路検出処理では、1回以上のVMの再配置が行われる。VMの再配置が何回行われるかは、可視化用ラックB内の物理サーバ数と、可視化対象のサービスを実行するVM数に応じて決まる。なお、可視化用ラックB内の各物理サーバの物理サーバ番号と可視化対象のサービスを実行する各VMのVM番号とは、例えば端末装置を用いた管理者の操作入力により、可視化装置100に予め設定される。
Hereinafter, each process shown in FIG. 9 will be described in detail.
<Communication path detection processing>
In the route detection process, one or more VMs are rearranged. The number of times VM rearrangement is performed depends on the number of physical servers in the visualization rack B and the number of VMs that execute the services to be visualized. The physical server number of each physical server in the visualization rack B and the VM number of each VM that executes the service to be visualized are set in advance in the visualization device 100 by, for example, an operation input by an administrator using a terminal device. Is done.

図10は、通信経路検出用のVM再配置の概要を示す図である。図10の例では、可視化用ラックB内にM個(Mは2以上の整数)の物理サーバ41,42,43,・・・,4mが搭載されているものとする。また、可視化対象のサービスの処理は、n個(nは2以上の整数)のVM91,92,93,・・・,9nが連携して実行されるものとする。   FIG. 10 is a diagram showing an outline of VM rearrangement for communication path detection. In the example of FIG. 10, it is assumed that M physical servers 41, 42, 43,..., 4m are mounted in the visualization rack B (M is an integer of 2 or more). In addition, it is assumed that n (n is an integer of 2 or more) VMs 91, 92, 93,.

なお、可視化用ラックB内の物理サーバ数Mと、可視化対象のサービスを実行するVM数nとは、仮想システム可視化処理の開始前に、予め経路検出部130に設定されているものとする。例えば、システムの管理者が端末装置を用いた操作入力により、端末装置経由で、可視化用ラックB内の物理サーバ数Mと、可視化対象のサービスを実行するVM数nとが、経路検出部130に設定される。   It is assumed that the number M of physical servers in the visualization rack B and the number n of VMs that execute the services to be visualized are set in advance in the path detection unit 130 before the virtual system visualization process is started. For example, when the system administrator inputs an operation using the terminal device, the number M of physical servers in the visualization rack B and the number n of VMs that execute the services to be visualized via the terminal device are determined by the route detection unit 130. Set to

経路検出部130は、VM91,92,93,・・・,9nを可視化用の物理サーバ41,42,43,・・・,4mに配置する。そして経路検出部130は、VM91,92,93,・・・,9n間の通信をキャプチャすることで通信経路を検出する。VM間の全通信経路を検出するために、経路検出部130は、VMの対すべてに関し、少なくとも1回、対を成す2つのVMを異なる物理サーバに配置する。   The path detection unit 130 arranges the VMs 91, 92, 93,..., 9n on the physical servers 41, 42, 43,. And the path | route detection part 130 detects a communication path | route by capturing the communication between VM91,92,93, ..., 9n. In order to detect all communication paths between VMs, the path detection unit 130 places two VMs that form a pair on different physical servers at least once for all pairs of VMs.

例えば経路検出部130は、1回目のVM再配置において、n個のVM91,92,93,・・・,9nを、M個の物理サーバ41,42,43,・・・,4mに均等に配置する。VM数(n)≦物理サーバ数(M)であれば、すべてのVM91,92,93,・・・,9nを異なる物理サーバに配置することができる。この場合、1回のVMの再配置により、全経路を検出することができる。   For example, in the first VM rearrangement, the path detection unit 130 equally distributes n VMs 91, 92, 93,..., 9n to M physical servers 41, 42, 43,. Deploy. If the number of VMs (n) ≦ the number of physical servers (M), all the VMs 91, 92, 93,..., 9n can be arranged in different physical servers. In this case, all paths can be detected by one VM rearrangement.

一方、VM数(n)>物理サーバ数(M)の場合は、複数回にわけて調査を実行する必要がある。1回目の調査でVMを均等に物理サーバに配置して経路を検出する。1回目の調査では同じ物理サーバ上に配置されたVMの経路を検出することができない。そこで経路検出部130は、2回目の調査では、1回目の再配置において同じ物理サーバに配置されたVM同士が別の物理サーバになるように配置する。   On the other hand, when the number of VMs (n)> the number of physical servers (M), the investigation needs to be performed in multiple times. In the first investigation, the VMs are evenly arranged on the physical servers to detect the path. In the first investigation, the path of the VM arranged on the same physical server cannot be detected. Thus, in the second investigation, the path detection unit 130 arranges the VMs arranged on the same physical server in the first rearrangement to be different physical servers.

「VM数(n)≦物理サーバ数の2乗(M2)」の場合は2回の調査で全経路を検出することができる。さらに多い場合は同様にして3回目以降の調査を実行する。VMの対のすべてを調査し、全経路を検出することができれば完了となる。例えば10台の物理サーバがあれば、2回の調査で100個、3回の調査で1000個までのVMを調査することが可能である。 When “the number of VMs (n) ≦ the square of the number of physical servers (M 2 )”, all routes can be detected by two investigations. If there are more, perform the third and subsequent surveys in the same way. If all VM pairs are examined and all paths are detected, the process is complete. For example, if there are 10 physical servers, it is possible to investigate 100 VMs in 2 investigations and 1000 VMs in 3 investigations.

このように、VMの再配置を行うことで、VMの対のすべてを、少なくとも1回、異なる物理サーバに配置することができる。そして、VMの再配置を行うごとに可視化対象のサービスに関する処理をVMに実行させることで、VMの対ごとに通信の有無を調査できる。   In this way, by performing VM relocation, all of the VM pairs can be allocated to different physical servers at least once. Then, each time a VM is rearranged, the VM can execute the process related to the service to be visualized, whereby the presence / absence of communication can be investigated for each pair of VMs.

図11は、通信の有無調査処理の概要を示す図である。なお、図11では、各物理サーバに配置されるVMを円で表している。円の中には、その円に対応するVMのVM番号が示されている。図15、図16、図20、図21、および図22においても同様に、VMは、内部にVM番号を示した円で表すものとする。   FIG. 11 is a diagram showing an outline of the communication presence / absence investigation process. In FIG. 11, VMs arranged in each physical server are represented by circles. In the circle, the VM number of the VM corresponding to the circle is shown. Similarly, in FIGS. 15, 16, 20, 21, and 22, the VM is represented by a circle having a VM number inside.

可視化装置100の経路検出部130は、VM配置リスト131と経路表132とを有している。VM配置リスト131と経路表132とは経路検出部130によって作成される。またVM配置リスト131と経路表132とは、例えばRAM102内の記憶領域のうち、経路検出部130が管理する記憶領域に格納される。   The path detection unit 130 of the visualization apparatus 100 includes a VM arrangement list 131 and a path table 132. The VM placement list 131 and the route table 132 are created by the route detection unit 130. Further, the VM arrangement list 131 and the path table 132 are stored in a storage area managed by the path detection unit 130 among the storage areas in the RAM 102, for example.

VM配置リスト131には、VMの配置パターンが登録される。VMの配置パターンは、再配置対象のVMそれぞれに関し、どの物理サーバに配置するのかを示す情報である。またVM配置リスト131には、VMの配置パターンごとに、該当配置パターンにおいて新たに通信の有無を調査可能な経路の数が設定される。経路検出部130は、例えばVM配置リスト131を参照して、調査可能な経路の数が多い配置パターンを優先的に選択し、選択した配置パターンに応じた配置情報61をVM配置装置11に送信する。   In the VM arrangement list 131, VM arrangement patterns are registered. The VM placement pattern is information indicating on which physical server each VM to be rearranged is placed. In the VM arrangement list 131, for each VM arrangement pattern, the number of paths that can be newly investigated for the presence or absence of communication in the corresponding arrangement pattern is set. The path detection unit 130 refers to, for example, the VM arrangement list 131 and preferentially selects an arrangement pattern having a large number of paths that can be investigated, and transmits arrangement information 61 corresponding to the selected arrangement pattern to the VM arrangement apparatus 11. To do.

経路表132には、VMの対ごとに、該当VM間の通信経路において通信があるか否かの調査状況が設定される。経路検出部130は、経路表132を参照して、VMの対のうち、未調査の対を判断することができる。   In the route table 132, for each pair of VMs, an investigation status as to whether there is communication on the communication route between the corresponding VMs is set. The route detection unit 130 can determine an uninvestigated pair among the VM pairs with reference to the route table 132.

図11の例では、物理サーバ番号「1」の物理サーバ41に対してVM番号「1」、「2」、「3」のVMを配置し、物理サーバ番号「2」の物理サーバ42に対してVM番号「4」、「5」、「6」のVMを配置することを示す配置情報61が生成されている。配置情報61は、経路検出部130からVM配置装置11に送られる。するとVM配置装置11によって、配置情報61に従ってVMが物理サーバ41,42に配置される。   In the example of FIG. 11, VMs with VM numbers “1”, “2”, and “3” are allocated to the physical server 41 with physical server number “1”, and the physical server with physical server number “2” is allocated. Thus, the arrangement information 61 indicating that the VMs having the VM numbers “4”, “5”, and “6” are arranged is generated. The placement information 61 is sent from the path detection unit 130 to the VM placement device 11. Then, the VM placement apparatus 11 places the VM on the physical servers 41 and 42 according to the placement information 61.

その後、配置されたVMに、可視化対象のサービスを実行させる。するとVM間での連携処理に伴うパケット63がスイッチ52を介して通信される。パケット63のヘッダ部には、例えば、宛先のIPアドレスと送信元のIPアドレスとが設定されている。   Thereafter, the arranged VM is caused to execute the service to be visualized. Then, the packet 63 accompanying the cooperation process between VMs is communicated via the switch 52. For example, a destination IP address and a source IP address are set in the header portion of the packet 63.

パケット63はスイッチ52でキャプチャされ、可視化装置100の経路検出部130に渡される。経路検出部130は、取得したパケット63の宛先と送信元とのIPアドレスに対応するVM番号を、アドレス記憶部120から取得する。図11の例では、宛先のIPアドレスは「192.168.0.4」であり、対応するVM番号は「4」である。また送信元のIPアドレスは「192.168.0.1」であり、対応するVM番号は「1」である。   The packet 63 is captured by the switch 52 and passed to the route detection unit 130 of the visualization device 100. The path detection unit 130 acquires the VM number corresponding to the IP address of the destination and transmission source of the acquired packet 63 from the address storage unit 120. In the example of FIG. 11, the destination IP address is “192.168.0.4”, and the corresponding VM number is “4”. The source IP address is “192.168.0.1”, and the corresponding VM number is “1”.

経路検出部130は、キャプチャしたパケット63の宛先のVMと送信元のVMとの間で通信が行われたことを認識し、それらのVMのVM番号の対を示す通信経路情報65を生成する。そして経路検出部130は、生成した通信経路情報65を、経路記憶部140内の経路リスト141に登録する。   The path detection unit 130 recognizes that communication has been performed between the destination VM of the captured packet 63 and the transmission source VM, and generates communication path information 65 indicating the VM number pair of the VM. . Then, the route detection unit 130 registers the generated communication route information 65 in the route list 141 in the route storage unit 140.

このようにして、通信経路ごとの通信有無を調査することができる。
以下、VM配置リスト131と経路表132とのデータ構造について説明する。
図12は、VM配置リストのデータ構造例を示す図である。VM配置リスト131には、複数の配置パターンが登録されている。配置パターンには、配置パターン番号が付与されている。n個のVMをM個の物理サーバに配置する場合、「Mのn乗(Mn)」通りの配置パターンが生成される。
In this way, the presence or absence of communication for each communication path can be investigated.
Hereinafter, the data structure of the VM arrangement list 131 and the route table 132 will be described.
FIG. 12 is a diagram illustrating a data structure example of the VM arrangement list. A plurality of arrangement patterns are registered in the VM arrangement list 131. An arrangement pattern number is assigned to the arrangement pattern. When n VMs are allocated to M physical servers, “M raised to the nth power (M n )” layout patterns are generated.

VM配置リスト131では、配置パターンごとに、各VMのVM番号に対応付けて、そのVMの配置先とする物理サーバの物理サーバ番号が設定されている。また、VM配置リスト131では、配置パターンごとに、調査可能経路数が設定されている。調査可能経路数は、対応する配置パターンにより調査可能となる未調査の通信経路の数である。調査可能経路数は、1つの配置パターンによる通信の有無を調査するごとに更新される。   In the VM placement list 131, the physical server number of the physical server that is the placement destination of the VM is set in association with the VM number of each VM for each placement pattern. In the VM arrangement list 131, the number of surveyable paths is set for each arrangement pattern. The number of searchable paths is the number of unsearched communication paths that can be checked by the corresponding arrangement pattern. The number of surveyable paths is updated every time the presence / absence of communication according to one arrangement pattern is investigated.

図13は、経路表のデータ構造例を示す図である。経路表132には、VMの対ごとの調査フラグが設定さている。n個のVMから、対を成す2つのVMを選択する総当たりの組み合わせの数(n2通り)分の調査フラグが設定される。経路表123の各セルの行方向のVM番号と列方向のVM番号とにより、セルに設定される調査フラグに対応するVMの対が示される。 FIG. 13 is a diagram illustrating an example of the data structure of the routing table. In the route table 132, a check flag for each VM pair is set. Investigation flags corresponding to the number of brute force combinations ( n C 2 ways) for selecting two VMs that form a pair from n VMs are set. The VM number in the row direction and the VM number in the column direction of each cell in the routing table 123 indicates a VM pair corresponding to the investigation flag set in the cell.

調査フラグは、「0」、「1」、「2」のいずれかの値を取る。調査フラグ「0」は、対応するVMの対について、通信の有無が未調査であることを示している。調査フラグ「1」は、対応するVMの対について、通信の有無の調査が終了し、通信が行われる経路(通信検出経路)であると判定されたことを示している。調査フラグ「2」は、対応するVMの対について、通信の有無の調査が終了し、通信が行われない経路(通信非検出経路)であると判定されたことを示している。   The investigation flag takes one of the values “0”, “1”, and “2”. The investigation flag “0” indicates that the presence or absence of communication has not been investigated for the corresponding VM pair. The investigation flag “1” indicates that the investigation of the presence / absence of communication is completed for the corresponding VM pair, and it is determined that the route is a communication path (communication detection path). The investigation flag “2” indicates that the investigation of the presence / absence of communication has been completed for the corresponding VM pair, and it has been determined that the route is a route where communication is not performed (communication non-detection route).

次に、通信経路検出処理の手順について説明する。
図14は、通信経路検出処理の手順を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
Next, the procedure of the communication path detection process will be described.
FIG. 14 is a flowchart illustrating a procedure of communication path detection processing. In the following, the process illustrated in FIG. 14 will be described in order of step number.

[ステップS21]経路検出部130は、VMを物理サーバに割り当てるすべての配置パターンを生成し、生成した配置パターンを登録したVM配置リスト131を作成する。この時点では、VM配置リスト131の調査可能経路数の欄は空欄である。   [Step S <b> 21] The path detection unit 130 generates all arrangement patterns for assigning VMs to physical servers, and creates a VM arrangement list 131 in which the generated arrangement patterns are registered. At this time, the field of the number of searchable paths in the VM arrangement list 131 is blank.

[ステップS22]経路検出部130は、VM間の総当たりの組み合わせを示す経路表132を作成する。この際、経路検出部130は、経路表132の調査フラグを、すべて「0」に初期化する。   [Step S22] The route detection unit 130 creates a route table 132 indicating brute force combinations between VMs. At this time, the route detection unit 130 initializes all the investigation flags in the route table 132 to “0”.

[ステップS23]経路検出部130は、VM配置リスト131の全配置パターンについて、経路表132の調査フラグが「0」の経路に対応する2つのVMが異なる物理サーバに配置される数(調査可能経路数)を算出する。そして、経路検出部130は、各配置パターンの調査可能経路数を、VM配置リスト131に設定する。   [Step S23] The path detection unit 130, for all the arrangement patterns in the VM arrangement list 131, is the number of two VMs corresponding to the paths having the investigation flag “0” in the route table 132 arranged in different physical servers (investigable) Path number). Then, the path detection unit 130 sets the number of paths that can be investigated for each layout pattern in the VM layout list 131.

[ステップS24]経路検出部130は、調査可能経路数が最大の配置パターンに従ってVMを配置させる。具体的には、経路検出部130は、VM配置リスト131の配置パターンのうち、調査可能経路数が最大の配置パターンを選択する。なお経路検出部130は、調査可能経路数が最大の配置パターンが複数ある場合には、そのうちの1つを選択する。経路検出部130は、選択した配置パターンに従った配置情報を生成し、VM配置装置11に送信する。すると、VM配置装置11により配置情報通りにVMが再配置される。   [Step S24] The route detection unit 130 arranges VMs according to an arrangement pattern having the maximum number of routes that can be investigated. Specifically, the path detection unit 130 selects an arrangement pattern having the maximum number of searchable paths from the arrangement patterns in the VM arrangement list 131. In addition, when there are a plurality of arrangement patterns having the maximum number of surveyable routes, the route detection unit 130 selects one of them. The path detection unit 130 generates arrangement information according to the selected arrangement pattern and transmits it to the VM arrangement apparatus 11. Then, the VM placement apparatus 11 rearranges the VM according to the placement information.

[ステップS25]経路検出部130は、配置したVMに処理を実行させる。例えば、システムの運用中であれば、複数階層システムにおける最上位の階層のVMに対する端末装置からのリクエストメッセージが、可視化用ラックB内の物理サーバ41,42,43,・・・に配置されたVMに入力される。すると、リクエストメッセージに応じてトランザクション処理が複数のVMによって実行される。トランザクション処理を実行するVM間では、リクエストメッセージによる処理の呼び出しや、レスポンスメッセージによる処理結果の応答が行われる。リクエストメッセージやレスポンスメッセージは、例えばIPパケットによって通信される。経路検出部130は、例えば、所定時間経過後、処理をステップS26に進める。   [Step S25] The path detection unit 130 causes the arranged VMs to execute processing. For example, if the system is in operation, the request message from the terminal device for the VM in the highest hierarchy in the multi-tier system is arranged in the physical servers 41, 42, 43,... In the visualization rack B. Input to VM. Then, transaction processing is executed by a plurality of VMs according to the request message. Between VMs that execute transaction processing, processing is called by a request message and a processing result is responded by a response message. Request messages and response messages are communicated by, for example, IP packets. For example, the route detection unit 130 proceeds to step S26 after a predetermined time has elapsed.

[ステップS26]経路検出部130は、ステップS25において配置したVMに処理を実行させた期間にキャプチャされたパケットを解析し、通信に使用された通信経路を判断する。具体的には、経路検出部130は、キャプチャされたパケットから宛先のIPアドレスと送信元のIPアドレスとの組を抽出する。次に経路検出部130は、アドレス記憶部120内のアドレス対応表121を参照し、抽出したIPアドレスの組に対応するVM番号の対を特定し、通信検出経路とする。   [Step S26] The path detection unit 130 analyzes a packet captured during a period in which the VM arranged in Step S25 executes processing, and determines a communication path used for communication. Specifically, the route detection unit 130 extracts a set of a destination IP address and a transmission source IP address from the captured packet. Next, the path detection unit 130 refers to the address correspondence table 121 in the address storage unit 120, identifies a VM number pair corresponding to the extracted set of IP addresses, and sets it as a communication detection path.

[ステップS27]経路検出部130は、経路表132の調査フラグを更新する。具体的には、経路検出部130は、ステップS23で選択した配置パターンによって新たに調査される経路のうち、ステップS26で通信検出経路とされたVM番号の対に対応する調査フラグに「1」を設定する。また、経路検出部130は、ステップS23で選択した配置パターンによって新たに調査される経路のうち、ステップS26で通信検出経路とされなかったVM番号の対に対応する調査フラグに「2」を設定する。   [Step S27] The route detection unit 130 updates the investigation flag in the route table 132. Specifically, the route detection unit 130 sets “1” to the investigation flag corresponding to the VM number pair determined as the communication detection route in step S26 among the routes newly investigated by the arrangement pattern selected in step S23. Set. In addition, the route detection unit 130 sets “2” in the investigation flag corresponding to the VM number pair that has not been determined as the communication detection route in step S26 among the routes newly investigated by the arrangement pattern selected in step S23. To do.

[ステップS28]経路検出部130は、未調査の通信経路があるか否かを判断する。経路表132において調査フラグ「0」の通信経路(VM番号の対)が存在する場合、未調査の通信経路ありと判断される。経路検出部130は、未調査の通信経路がある場合、処理をステップS23に進める。また経路検出部130は、すべての通信経路が調査された場合、処理をステップS29に進める。   [Step S28] The path detection unit 130 determines whether there is an uninvestigated communication path. If there is a communication route (a pair of VM numbers) with the investigation flag “0” in the route table 132, it is determined that there is an uninvestigated communication route. If there is an uninvestigated communication path, the path detection unit 130 proceeds with the process to step S23. In addition, the route detection unit 130 advances the process to step S29 when all the communication routes have been investigated.

[ステップS29]経路検出部130は、通信検出経路の通信経路情報を、経路記憶部140内の経路リスト141に出力する。具体的には、経路検出部130は、経路表132を参照し、調査フラグが「1」の通信経路のVM番号の対を抽出し、通信経路情報を生成する。そして、経路検出部130は、生成した通信経路情報を経路リスト141に登録する。   [Step S29] The route detection unit 130 outputs the communication route information of the communication detection route to the route list 141 in the route storage unit 140. Specifically, the route detection unit 130 refers to the route table 132, extracts the VM number pair of the communication route whose investigation flag is “1”, and generates communication route information. Then, the route detection unit 130 registers the generated communication route information in the route list 141.

このようにして、通信が行われた通信経路を示す経路リスト141が生成される。
図15は、通信経路検出処理の一例を示す図である。図15の例では、物理サーバ2台、VM6個の場合の通信経路検出の例である。6個のVMから、対を成す2つのVMを選択する組み合わせは、15通り存在する。なお図15では、調査された通信経路のうち、通信が検出された通信経路を実線で示し、通信が検出されなかった通信経路を波線で示している。
In this way, the route list 141 indicating the communication route through which communication has been performed is generated.
FIG. 15 is a diagram illustrating an example of the communication path detection process. The example of FIG. 15 is an example of communication path detection in the case of two physical servers and six VMs. There are 15 combinations that select two VMs that form a pair from six VMs. In FIG. 15, among the investigated communication paths, communication paths in which communication is detected are indicated by solid lines, and communication paths in which communication is not detected are indicated by wavy lines.

1回目のVM配置では、VM番号が「1」、「2」、「3」のVMが物理サーバ41に配置され、VM番号が「4」、「5」、「6」のVMが物理サーバ42に配置されている。1回目の配置では、9本の通信経路が調査され、そのうち6本の通信経路において通信が検出されている。   In the first VM placement, VMs with VM numbers “1”, “2”, and “3” are placed on the physical server 41, and VMs with VM numbers “4”, “5”, and “6” are physical servers. 42. In the first arrangement, nine communication paths are investigated, and communication is detected in six communication paths.

2回目のVM配置では、VM番号が「1」、「2」、「4」、「5」のVMが物理サーバ41に配置され、VM番号が「3」、「6」のVMが物理サーバ42に配置されている。2回目の配置では、4本の通信経路が調査され、そのうち2本の通信経路において通信が検出されている。   In the second VM placement, VMs with VM numbers “1”, “2”, “4”, and “5” are placed on the physical server 41, and VMs with VM numbers “3” and “6” are physical servers. 42. In the second arrangement, four communication paths are investigated, and communication is detected on two of the communication paths.

3回目のVM配置では、VM番号が「1」、「4」のVMが物理サーバ41に配置され、VM番号が「2」、「5」のVMが物理サーバ42に配置されている。3回目の配置では、2本の通信経路が調査され、調査されたすべての通信経路において通信が検出されていない。なお、3回目のVM配置では、VM番号が「3」、「6」のVMは、どちらの物理サーバに配置してもよい。   In the third VM placement, VMs with VM numbers “1” and “4” are placed on the physical server 41, and VMs with VM numbers “2” and “5” are placed on the physical server 42. In the third arrangement, two communication paths are investigated, and no communication is detected in all the investigated communication paths. In the third VM placement, VMs with VM numbers “3” and “6” may be placed on either physical server.

このように、3回の調査で15通りの組み合わせを調査し、全通信経路66を検出することができる。
<可視化用再配置>
次に、可視化用再配置処理について説明する。可視化用再配置処理は、経路検出部130が算出した経路リスト141に基づいて実行する場合と、外部から入力された経路リストに基づいて実行する場合とがある。
In this way, 15 combinations can be investigated in three investigations, and all communication paths 66 can be detected.
<Relocation for visualization>
Next, the visualization rearrangement process will be described. The visualization rearrangement process may be executed based on the route list 141 calculated by the route detection unit 130 or may be executed based on the route list input from the outside.

図16は、外部から入力された経路リストに基づく可視化用再配置処理の概要を示す図である。可視化装置100に対して経路リスト142が入力される。例えば、管理者が使用する端末装置から可視化装置100へ経路リスト142が送信される。入力された経路リスト142は、例えば経路記憶部140に格納される。その後、可視化装置100では、可視化用ラックBの物理サーバ41,42,43,・・・にどのようにVMを配置するかが算出される。具体的には、可視化装置100の配置決定部150が、経路リスト142に示された通信検出経路のVMの対ができるだけ異なる物理サーバに配置される配置パターンを選択する。その際、配置決定部150は、配置先の物理サーバの台数ごとのVM配置リスト151a,151b,151c,・・・を生成する。VM配置リスト151a,151b,151c,・・・には、所定の台数の物理サーバにVMを再配置する場合のVMの配置パターンが設定される。配置決定部150は、VM配置リスト151a,151b,151c,・・・に設定された配置パターンの中から、経路リスト142に示された通信検出経路のVMの対のすべてが、互いに異なる物理サーバに配置される配置パターンを抽出する。次に配置決定部150は、抽出した配置パターンを配置可能リスト152に登録する。そして配置決定部150は、配置可能リスト152に登録された配置パターンのなかから、予め指定された選択条件に従って配置パターンを選択する。予め指定された選択条件では、例えば、性能を重視した配置パターンを選択するのか、あるいは台数を節約する配置パターンを選択するのかが指定される。   FIG. 16 is a diagram showing an overview of the visualization rearrangement process based on a route list input from the outside. A route list 142 is input to the visualization device 100. For example, the route list 142 is transmitted from the terminal device used by the administrator to the visualization device 100. The input route list 142 is stored in the route storage unit 140, for example. Thereafter, the visualization apparatus 100 calculates how to arrange the VMs on the physical servers 41, 42, 43,... Of the visualization rack B. Specifically, the arrangement determining unit 150 of the visualization device 100 selects an arrangement pattern in which VM pairs of communication detection paths indicated in the path list 142 are arranged on different physical servers as much as possible. At that time, the placement determining unit 150 generates VM placement lists 151a, 151b, 151c,... For each number of placement destination physical servers. In the VM placement lists 151a, 151b, 151c,..., VM placement patterns when VMs are rearranged on a predetermined number of physical servers are set. The placement determination unit 150 is a physical server in which all of the VM pairs of the communication detection paths indicated in the path list 142 are different from each other among the placement patterns set in the VM placement lists 151a, 151b, 151c,. The arrangement pattern arranged in is extracted. Next, the arrangement determining unit 150 registers the extracted arrangement pattern in the arrangement possible list 152. Then, the arrangement determining unit 150 selects an arrangement pattern from the arrangement patterns registered in the arrangement possible list 152 according to a selection condition specified in advance. In the selection condition designated in advance, for example, it is designated whether to select an arrangement pattern that emphasizes performance or to select an arrangement pattern that saves the number.

配置決定部150は、選択された配置パターンの配置情報をVM配置装置11に送る。すると、VM配置装置11は、運用ラックA内の物理サーバ31,32,33から可視化用ラックB内の物理サーバ41,42,43にVMを移動することで再配置を実行する。   The placement determination unit 150 sends the placement information of the selected placement pattern to the VM placement device 11. Then, the VM placement apparatus 11 executes the rearrangement by moving the VM from the physical servers 31, 32, 33 in the operation rack A to the physical servers 41, 42, 43 in the visualization rack B.

なお、図16には外部から入力された経路リストに基づく可視化用再配置処理を示したが、経路検出部130が生成した経路リスト141に基づいて可視化用再配置処理を行うこともできる。その場合、経路検出部130による通信経路検出処理の際に、可視化対象のサービスを実行するVMは、すでに可視化用ラックB内の物理サーバ41,42,43,・・・に配置されている。そのため、VM配置装置11による再配置指示は、可視化用ラックB内の物理サーバ41,42,43,・・・に対して行われる。   Although FIG. 16 shows the visualization rearrangement process based on the route list input from the outside, the visualization rearrangement process can also be performed based on the route list 141 generated by the route detection unit 130. In that case, when the communication path detection processing by the path detection unit 130, the VM that executes the service to be visualized is already arranged in the physical servers 41, 42, 43,... In the visualization rack B. Therefore, the rearrangement instruction by the VM placement device 11 is issued to the physical servers 41, 42, 43,... In the visualization rack B.

また、VM配置リスト151a,151b,151c,・・・と配置可能リスト152とは、例えば配置決定部150が管理するRAM102内の記憶領域に格納される。
図17は、VM配置リストのデータ構造例を示す図である。配置決定部150では、VMの配置先として使用する物理サーバ台数ごとのVM配置リスト151a,・・・,151lが生成される。VM配置リスト151a,・・・,151lには、対応する台数の物理サーバにVMを配置する場合の配置パターンが設定される。例えば、VM配置リスト151aには、物理サーバ台数が2台の場合の2のn乗(2n)通りの配置パターンが設定されている。またVM配置リスト151lには、物理サーバ台数がM台の場合のMのn乗(Mn)通りの配置パターンが設定されている。配置パターンは、配置するVMそれぞれのVM番号に対応する物理サーバ番号の配列である。
Further, the VM arrangement lists 151a, 151b, 151c,... And the arrangement possible list 152 are stored in a storage area in the RAM 102 managed by the arrangement determining unit 150, for example.
FIG. 17 is a diagram illustrating an example of a data structure of the VM arrangement list. In the placement determination unit 150, VM placement lists 151a,..., 151l are generated for each number of physical servers used as VM placement destinations. In the VM placement list 151a,..., 151l, a placement pattern for placing a VM on the corresponding number of physical servers is set. For example, in the VM arrangement list 151a, 2 n (2 n ) arrangement patterns when the number of physical servers is two are set. In the VM arrangement list 151l, arrangement patterns of M to the nth power (M n ) when the number of physical servers is M are set. The arrangement pattern is an array of physical server numbers corresponding to the VM numbers of the VMs to be arranged.

また各VM配置リスト151a,・・・,151lには、各配置パターンに対する判定結果が設定されている。判定結果は「可」または「不可」のいずれかである。経路リストに示されるVMの対すべてに関し、対を成すVMが互いに異なる物理サーバに配置される配置パターンは、配置可能と判定され、判定結果「可」が設定される。他方、経路リストに示されるVMの対の少なくとも1つに関し、対を成すVMが同じ物理サーバに配置される配置パターンは、配置不可能と判定され、判定結果「不可」が設定される。   In addition, determination results for each arrangement pattern are set in each VM arrangement list 151a,. The determination result is “possible” or “impossible”. With respect to all VM pairs shown in the path list, an arrangement pattern in which VMs constituting a pair are arranged in different physical servers is determined to be arrangeable, and a determination result “OK” is set. On the other hand, with respect to at least one of the VM pairs shown in the path list, an arrangement pattern in which the VMs forming a pair are arranged in the same physical server is determined to be impossible, and the determination result “impossible” is set.

図18は、配置可能リストのデータ構造例を示す図である。配置可能リスト152には、物理サーバ台数に対応付けて、その物理サーバ台数の配置パターンのうち、VM配置リストにおいて判定結果が「可」とされている配置パターンの配置パターン番号が設定されている。   FIG. 18 is a diagram illustrating an example of the data structure of the arrangement possible list. In the arrangement possible list 152, the arrangement pattern number of the arrangement pattern whose determination result is “possible” in the VM arrangement list among the arrangement patterns of the number of physical servers is set in association with the number of physical servers. .

次に、可視化用再配置処理の手順について説明する。
図19は、可視化用再配置処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
Next, the procedure of the visualization rearrangement process will be described.
FIG. 19 is a flowchart illustrating a procedure of the visualization rearrangement process. In the following, the process illustrated in FIG. 19 will be described in order of step number.

[ステップS31]配置決定部150は、物理サーバ数ごとのVM配置リストを作成する。例えば、配置決定部150は、n個のVMを2〜M台の物理サーバに割り当てた場合についてVM配置リストを作成する。配置決定部150は、作成したVM配置リストを、例えばRAM102に格納する。   [Step S31] The placement determination unit 150 creates a VM placement list for each number of physical servers. For example, the placement determination unit 150 creates a VM placement list when n VMs are assigned to 2 to M physical servers. The placement determination unit 150 stores the created VM placement list in, for example, the RAM 102.

[ステップS32]配置決定部150は、作成されたVM配置リストそれぞれに登録された各配置パターンについて、配置可能か否かを判定する。配置可能か否かの判定とは、通信経路の両端となる2つのVMが異なる物理サーバに配置されるという条件が、経路リストに示される通信検出経路のすべてについて満たされるかどうかの判定である。配置決定部150は、配置可能か否かの判定結果を、VM配置リストに設定する。例えば配置決定部150は、配置可能と判定した配置パターンにして、判定結果「可」を設定する。また配置決定部150は、配置不可能と判定した配置パターンに対して、判定結果「不可」を設定する。   [Step S32] The placement determination unit 150 determines whether or not each placement pattern registered in each of the created VM placement lists can be placed. The determination of whether or not placement is possible is a determination of whether or not the condition that two VMs at both ends of a communication path are placed on different physical servers is satisfied for all the communication detection paths shown in the path list. . The placement determination unit 150 sets the determination result of whether or not placement is possible in the VM placement list. For example, the arrangement determination unit 150 sets the determination result “permitted” as the arrangement pattern determined to be available for arrangement. Further, the arrangement determining unit 150 sets a determination result “impossible” for the arrangement pattern determined to be impossible to arrange.

[ステップS33]配置決定部150は、配置結果が「可」となった配置パターンをリストアップし、配置可能リスト152を生成する。具体的には、配置決定部150は、VM配置リストを1つずつ選択する。次に配置決定部150は、選択したVM配置リストに登録されている配置パターンのうち、評価結果が「可」の配置パターンの配置パターン番号を取得する。そして、配置決定部150は、選択したVM配置リストに対応する物理サーバ台数に対応付けて、評価結果が「可」の配置パターンの配置パターン番号を配置可能リスト152に登録する。   [Step S <b> 33] The arrangement determining unit 150 lists the arrangement patterns whose arrangement result is “OK”, and generates the arrangement possible list 152. Specifically, the placement determination unit 150 selects VM placement lists one by one. Next, the arrangement determining unit 150 acquires an arrangement pattern number of an arrangement pattern whose evaluation result is “OK” among the arrangement patterns registered in the selected VM arrangement list. Then, the arrangement determining unit 150 registers the arrangement pattern number of the arrangement pattern having the evaluation result “OK” in the arrangement possible list 152 in association with the number of physical servers corresponding to the selected VM arrangement list.

[ステップS34]配置決定部150は、判定結果「可」の配置パターンが、少なくとも1つ存在するか否かを判断する。配置決定部150は、判定結果「可」の配置パターンがあれば、処理をステップS36に進める。配置決定部150は、判定結果「可」の配置パターンがなければ、処理をステップS35に進める。   [Step S34] The arrangement determining unit 150 determines whether or not there is at least one arrangement pattern having the determination result “OK”. If there is an arrangement pattern with the determination result “OK”, the arrangement determining unit 150 advances the process to step S36. If there is no arrangement pattern with the determination result “OK”, the arrangement determining unit 150 advances the process to step S35.

[ステップS35]配置決定部150は、経路リスト内の一部の通信経路を削除する。例えば、配置決定部150は、経路リストを管理者が使用する端末装置に送信する。管理者は、端末装置を用いて経路リストに登録されている通信経路の一部を削除する。管理者により更新された経路リストは、端末装置から配置決定部150に送信される。配置決定部150は、端末装置から受信した経路リストで、経路記憶部140内の経路リストを更新する。配置決定部150は、経路リスト内の一部の通信経路を削除後、処理をステップS32に進める。   [Step S35] The placement determining unit 150 deletes some of the communication paths in the path list. For example, the arrangement determining unit 150 transmits the route list to the terminal device used by the administrator. The administrator deletes a part of the communication route registered in the route list using the terminal device. The route list updated by the administrator is transmitted from the terminal device to the arrangement determining unit 150. The arrangement determining unit 150 updates the route list in the route storage unit 140 with the route list received from the terminal device. After deleting some communication paths in the path list, the placement determining unit 150 advances the process to step S32.

[ステップS36]配置決定部150は、判定結果「可」の配置パターンが存在する場合、配置パターンの選択条件を判断する。選択条件は、予め設定されている。選択条件が「台数節約」であれば、配置決定部150は、処理をステップS37に進める。選択条件が「性能重視」であれば、配置決定部150は、処理をステップS38に進める。   [Step S36] When there is an arrangement pattern with the determination result “OK”, the arrangement determining unit 150 determines an arrangement pattern selection condition. Selection conditions are set in advance. If the selection condition is “number saving”, the arrangement determining unit 150 advances the process to step S37. If the selection condition is “performance-oriented”, the arrangement determining unit 150 advances the processing to step S38.

[ステップS37]選択条件が「台数節約」の場合、配置決定部150は、配置可能リスト152に登録された配置パターンのなかで、最も物理サーバの台数が少ない配置パターンを選択する。配置決定部150は、最も物理サーバの台数が少ない配置パターンが複数ある場合、そのなかのいずれか1つを選択する。その後、配置決定部150は、処理をステップS39に進める。   [Step S37] When the selection condition is “number saving”, the arrangement determining unit 150 selects an arrangement pattern having the smallest number of physical servers among the arrangement patterns registered in the arrangement available list 152. When there are a plurality of arrangement patterns with the smallest number of physical servers, the arrangement determining unit 150 selects one of them. Thereafter, the arrangement determining unit 150 proceeds with the process to step S39.

[ステップS38]選択条件が「性能重視」の場合、配置決定部150は、配置可能リスト152に登録された配置パターンのなかで、最も物理サーバの台数が多い配置パターンを選択する。配置決定部150は、最も物理サーバの台数が多い配置パターンが複数ある場合、そのなかのいずれか1つを選択する。   [Step S38] When the selection condition is “performance-oriented”, the arrangement determining unit 150 selects an arrangement pattern having the largest number of physical servers among the arrangement patterns registered in the arrangement available list 152. When there are a plurality of arrangement patterns with the largest number of physical servers, the arrangement determining unit 150 selects one of them.

[ステップS39]配置決定部150は、選択した配置パターンに沿った物理サーバへのVMの配置をVM配置装置11に指示する。すると、VM配置装置11により、VMが再配置される。   [Step S39] The placement determination unit 150 instructs the VM placement device 11 to place a VM on a physical server according to the selected placement pattern. Then, the VM placement apparatus 11 rearranges the VM.

このようにして、経路リストに示された通信経路におけるVMの対を、異なる物理サーバに配置することができる。その結果、通信経路を介したVM間の通信がスイッチ52経由で行われ、ポートミラーリングによりキャプチャ可能となる。   In this way, VM pairs in the communication path indicated in the path list can be arranged in different physical servers. As a result, communication between VMs via the communication path is performed via the switch 52, and can be captured by port mirroring.

図20は、配置パターン選択の第1の例を示す図である。図20の例では、4個のVM201〜204を、最大4台の物理サーバに配置する場合を想定している。VM201のVM番号は「1」、VM202のVM番号は「2」、VM203のVM番号は「3」、VM204のVM番号は「4」である。VM201〜204間の通信経路を示す経路リスト143には、4つの通信経路が登録されている。登録されている通信経路は、VM201とVM203との間の通信経路、VM202とVM203との間の通信経路、VM202とVM204との間の通信経路、およびVM203とVM204との間の通信経路である。   FIG. 20 is a diagram illustrating a first example of arrangement pattern selection. In the example of FIG. 20, it is assumed that four VMs 201 to 204 are arranged on a maximum of four physical servers. The VM number of the VM 201 is “1”, the VM number of the VM 202 is “2”, the VM number of the VM 203 is “3”, and the VM number of the VM 204 is “4”. Four communication paths are registered in the path list 143 indicating the communication paths between the VMs 201 to 204. The registered communication path is a communication path between the VM 201 and the VM 203, a communication path between the VM 202 and the VM 203, a communication path between the VM 202 and the VM 204, and a communication path between the VM 203 and the VM 204. .

4個のVM201〜204を、最大4台の物理サーバに配置する場合、14通りの配置パターン211〜224が生成できる。なお、図20の配置パターン211〜224では、物理サーバを矩形で表している。各物理サーバに配置されるVMは、物理サーバを表す矩形内にVM番号を付した円で示されている。   When four VMs 201 to 204 are arranged on a maximum of four physical servers, 14 arrangement patterns 211 to 224 can be generated. In the arrangement patterns 211 to 224 in FIG. 20, the physical server is represented by a rectangle. The VMs arranged in each physical server are indicated by circles with VM numbers in a rectangle representing the physical server.

14通りの配置パターン211〜224のうち、3通りの配置パターン222〜224は、配置可能と判定される。すなわち、配置パターン222〜224は、経路リスト143に示される通信経路のすべてについて、通信経路の両端のVMが互いに異なる物理サーバに配置される。   Of the 14 arrangement patterns 211 to 224, the three arrangement patterns 222 to 224 are determined to be arrangeable. That is, the arrangement patterns 222 to 224 are arranged in physical servers having different VMs at both ends of the communication path for all the communication paths indicated in the path list 143.

配置可能な配置パターン222〜224のうち、配置パターン222,223は、3台の物理サーバにVM201〜204が配置される。また配置パターン224は、4台の物理サーバにVM201〜204が配置される。   Among the arrangement patterns 222 to 224 that can be arranged, the VMs 201 to 204 are arranged on three physical servers in the arrangement patterns 222 and 223. In the arrangement pattern 224, the VMs 201 to 204 are arranged on four physical servers.

ここで、選択条件が「台数優先」であれば、配置パターン222,223のいずれかが選択される。他方、選択条件が「性能重視」であれば、配置パターン224が選択される。   Here, if the selection condition is “number priority”, one of the arrangement patterns 222 and 223 is selected. On the other hand, if the selection condition is “performance-oriented”, the arrangement pattern 224 is selected.

図21は、配置パターン選択の第2の例を示す図である。図21の例では、4個のVM201〜204を、最大2台の物理サーバに配置する場合を想定している。
4個のVM201〜204を、最大2台の物理サーバに配置する場合、7通りの配置パターン231〜237が生成できる。なお図20と同様に、図21の配置パターン231〜237では、物理サーバを矩形で表している。各物理サーバに配置されるVMは、物理サーバを表す矩形内にVM番号を付した円で示されている。
FIG. 21 is a diagram illustrating a second example of arrangement pattern selection. In the example of FIG. 21, it is assumed that four VMs 201 to 204 are arranged in a maximum of two physical servers.
When four VMs 201 to 204 are arranged on a maximum of two physical servers, seven arrangement patterns 231 to 237 can be generated. Similar to FIG. 20, in the arrangement patterns 231 to 237 of FIG. 21, the physical server is represented by a rectangle. The VMs arranged in each physical server are indicated by circles with VM numbers in a rectangle representing the physical server.

図21の例では、生成された配置パターン231〜237には、経路リスト143に示された条件を満たす配置パターンがない。そこで、経路リスト143から通信経路情報が削除される。例えば、可視化の優先順位が低い処理に関する通信経路が削除される。図21の例では、VM201とVM203との間の通信は、IIOP(Internet Inter-ORB Protocol)を用いて行われている。VM203とVM204との間の通信は、SQL(Structured Query Language)を用いて行われている。VM202とVM203との間の通信は、IIOPを用いて行われている。VM202とVM204との間の通信は、ssh(Secure SHell)を用いて行われている。   In the example of FIG. 21, the generated arrangement patterns 231 to 237 do not have an arrangement pattern that satisfies the conditions shown in the route list 143. Therefore, the communication route information is deleted from the route list 143. For example, a communication path related to a process with a low visualization priority is deleted. In the example of FIG. 21, the communication between the VM 201 and the VM 203 is performed using IIOP (Internet Inter-ORB Protocol). Communication between the VM 203 and the VM 204 is performed using SQL (Structured Query Language). Communication between the VM 202 and the VM 203 is performed using IIOP. Communication between the VM 202 and the VM 204 is performed using ssh (Secure SHell).

例えば、管理者がsshの通信については可視化の必要性が低いが判断した場合、sshの通信経路を示す通信経路情報が、経路リスト143から削除される。そして、残りも3つの通信経路情報を含む経路リスト144が新たに作成される。通信経路情報が削除されたことで、配置可能と判断するための条件が緩和されている。その結果、通信経路の削除後の経路リスト144に基づいて配置パターン231〜237それぞれについて配置可能か否かを判定すると、配置可能な配置パターン233が検出される。そこで、配置可能な配置パターン233が選択される。   For example, when the administrator determines that the communication of ssh is less necessary to be visualized, the communication path information indicating the ssh communication path is deleted from the path list 143. Then, a route list 144 including the remaining three communication route information is newly created. Since the communication path information has been deleted, the conditions for determining that arrangement is possible are relaxed. As a result, when it is determined whether or not each of the arrangement patterns 231 to 237 can be arranged based on the path list 144 after the communication path is deleted, the arrangement pattern 233 that can be arranged is detected. Therefore, an arrangement pattern 233 that can be arranged is selected.

このように、経路リストから所定の通信経路情報を削除することで、適切な配置パターンの選択が可能となる。
なお、上記の例では、経路リストからの通信経路情報の削除を、管理者からの操作入力によって行うものとしているが、通信経路情報の削除を自動化することも可能である。例えば、通信に用いるプロトコルごとに、調査の優先順位を配置決定部150に予め設定しておく。図21の例であれば、「IIOP」や「SQL」よりも「ssh」の優先順位を低く設定しておく。また、経路リストを作成する際には、各通信経路に対応付けて、その通信経路で使用されるプロトコルを設定しておく。配置決定部150は、図19のステップS35の処理において、優先順位の最も低いプロトコルで通信を行う通信経路の1つを、経路リストから削除する。このようにして、経路リストからの通信経路情報の削除処理の自動化が可能となる。
Thus, by deleting predetermined communication path information from the path list, it is possible to select an appropriate arrangement pattern.
In the above example, the deletion of the communication path information from the path list is performed by an operation input from the administrator. However, the deletion of the communication path information can be automated. For example, for each protocol used for communication, the priority of investigation is set in the arrangement determination unit 150 in advance. In the example of FIG. 21, the priority of “ssh” is set lower than “IIOP” and “SQL”. When creating a route list, a protocol used in each communication route is set in association with each communication route. In the process of step S35 of FIG. 19, the arrangement determining unit 150 deletes one of the communication paths for performing communication using the protocol with the lowest priority from the path list. In this way, it is possible to automate the process of deleting communication path information from the path list.

<システム可視化>
次にシステム可視化処理について説明する。
図22は、可視化処理の一例を示す図である。図22には、Web3階層システムの処理状況を分析する場合の例である。Web3階層システムは、最上位の階層がWebサーバで構成される。Webサーバは、例えばHTTP(HyperText Transfer Protocol)に従ったリクエストメッセージを解釈し、リクエストメッセージに示された処理を実行する。2階層目が、アプリケーションサーバで構成される。アプリケーションサーバは、例えばIIOPに従ったリクエストメッセージを解釈し、リクエストメッセージに示された処理を実行する。3階層目がDBサーバで構成される。DBサーバは、例えばSQLに従ったリクエストメッセージを解釈し、リクエストメッセージに示された処理を実行する。
<System visualization>
Next, system visualization processing will be described.
FIG. 22 is a diagram illustrating an example of the visualization process. FIG. 22 shows an example of analyzing the processing status of the Web three-tier system. In the Web 3-level system, the highest level is configured by a Web server. The Web server interprets a request message in accordance with, for example, HTTP (HyperText Transfer Protocol), and executes the processing indicated in the request message. The second layer is composed of application servers. For example, the application server interprets a request message according to IIOP and executes the processing indicated in the request message. The third layer is composed of DB servers. The DB server interprets a request message according to, for example, SQL, and executes the processing indicated in the request message.

図22の例では、6個のVM71〜76を用いて、Web3階層システムが構築される。VM71〜73は、Webサーバの機能を有する。VM74,75は、アプリケーションサーバの機能を有する。VM76は、DBサーバの機能を有する。   In the example of FIG. 22, a Web three-tier system is constructed using six VMs 71 to 76. The VMs 71 to 73 have a Web server function. The VMs 74 and 75 have an application server function. The VM 76 has a DB server function.

Web3階層システムでは、Webサーバの機能を有するVM71〜73それぞれと、アプリケーションサーバの機能を有するVM74,75それぞれとの間で通信が発生する。またアプリケーションサーバの機能を有するVM74,75それぞれと、DBサーバの機能を有するVM76との間で通信が発生する。   In the Web three-tier system, communication occurs between each of the VMs 71 to 73 having a Web server function and each of the VMs 74 and 75 having an application server function. Further, communication occurs between each of the VMs 74 and 75 having the application server function and the VM 76 having the DB server function.

VM配置装置11は、例えば可視化装置100からの指示に応じて、VM71〜76を可視化用ラックB内の物理サーバ41〜43に配置する。例えば、運用ラックA内の物理サーバ31,32,33,・・・のいずれかで動作していたVM71〜76が、物理サーバ41〜43に再配置される。この場合、VM配置装置11は、VM71〜76が動作していた運用ラックA内の物理サーバに対して、可視化用ラックB内の物理サーバのいずれかへのVMのライブマイグレーションを指示する。配置先の物理サーバは、例えば、その物理サーバのOSが有するIPアドレスによって特定される。ライブマイグレーションの指示を受けた運用ラックA内の物理サーバは、配置先の物理サーバに対して再配置対象のVMに関する情報を送信する。送信する情報には、例えば、VMの機能を実現するプログラムやデータが含まれる。図22の例では、VM71〜73が物理サーバ41に配置されている。VM74,75が、物理サーバ42に配置されている。VM76が、物理サーバ43に配置されている。   The VM placement device 11 places the VMs 71 to 76 on the physical servers 41 to 43 in the visualization rack B in accordance with, for example, an instruction from the visualization device 100. For example, VMs 71 to 76 operating on any of the physical servers 31, 32, 33,... In the operation rack A are relocated to the physical servers 41 to 43. In this case, the VM placement apparatus 11 instructs the physical server in the operation rack A in which the VMs 71 to 76 were operating to perform live migration of the VM to one of the physical servers in the visualization rack B. For example, the physical server of the placement destination is specified by the IP address of the OS of the physical server. The physical server in the operation rack A that has received the live migration instruction transmits information on the VM to be rearranged to the physical server of the placement destination. The information to be transmitted includes, for example, a program and data for realizing a VM function. In the example of FIG. 22, VMs 71 to 73 are arranged in the physical server 41. VMs 74 and 75 are arranged in the physical server 42. The VM 76 is arranged on the physical server 43.

再配置後は、Web3階層システム宛のクライアントからのリクエストメッセージは、物理サーバ41内のWebサーバとして機能するいずれかのVM71〜73に渡される。なお、Web3階層システムに対するクライアントは、例えば端末装置21,22,・・・である。クライアントからのリクエストメッセージを受け取ったVMは、リクエストメッセージに応じた処理にアプリケーションサーバの機能が利用される場合、アプリケーションサーバとして機能するVM74,75にリクエストメッセージを送信する。Webサーバとして機能するVMからのリクエストメッセージを受け取ったVMは、リクエストメッセージに応じた処理にDBサーバの機能が利用される場合、DBサーバとして機能するVM76にリクエストメッセージを送信する。VM76は、受け取ったリクエストメッセージに応じた処理を実行し、リクエストメッセージを送信したVMに対してレスポンスメッセージを応答する。VM76からのレスポンスメッセージを受け取ったVMは、所定の処理完了後、レスポンスメッセージをWebサーバとして機能するVMに応答する。そして、アプリケーションサーバとして機能するVMからのレスポンスメッセージを受け取ったVMは、所定の処理完了後、クライアントに対してレスポンスメッセージを送信する。   After the rearrangement, the request message from the client addressed to the Web 3-tier system is passed to any VM 71 to 73 that functions as the Web server in the physical server 41. Note that the clients for the Web three-tier system are, for example, terminal devices 21, 22,. When the function of the application server is used for processing according to the request message, the VM that has received the request message from the client transmits the request message to the VMs 74 and 75 that function as the application server. The VM that has received the request message from the VM that functions as the Web server transmits the request message to the VM 76 that functions as the DB server when the function of the DB server is used for processing according to the request message. The VM 76 executes processing according to the received request message, and returns a response message to the VM that transmitted the request message. The VM that has received the response message from the VM 76 responds to the VM functioning as a Web server with the response message after completion of predetermined processing. Then, the VM that has received the response message from the VM functioning as the application server transmits a response message to the client after completion of predetermined processing.

このようにして、複数のVMによる連携した処理が実行される。図22の例では、互いに通信が発生するVMが異なる物理サーバに配置されているため、VM間で通信されたすべてのリクエストメッセージとレスポンスメッセージとが、スイッチ52においてキャプチャされる。すなわち、すべてのリクエストメッセージとレスポンスメッセージとを構成するパケットが、ミラーポート52aから出力される。   In this way, a coordinated process by a plurality of VMs is executed. In the example of FIG. 22, VMs that generate communication with each other are arranged in different physical servers. Therefore, all request messages and response messages communicated between VMs are captured by the switch 52. That is, the packets constituting all the request messages and response messages are output from the mirror port 52a.

可視化装置100の分析部110は、ミラーポート52aから出力されたパケットに基づいて、Web3階層システムで実行された処理(トランザクション)を再構成する。例えば分析部110には、予めトランザクションモデルが格納されている。トランザクションモデルは、トランザクション種別ごとに、該当種別のトランザクションにおいて各階層のサーバとして機能するVMで実行される処理内容と、処理間の呼び出し関係を定義した情報である。   Based on the packet output from the mirror port 52a, the analysis unit 110 of the visualization device 100 reconfigures the process (transaction) executed in the Web three-tier system. For example, the analysis unit 110 stores a transaction model in advance. The transaction model is information that defines, for each transaction type, processing contents executed by a VM functioning as a server in each hierarchy in a transaction of the corresponding type, and a calling relationship between the processes.

分析部110は、キャプチャしたパケットを解析し、通信されたリクエストメッセージとレスポンスメッセージとを再構成する。この際、分析部110は、リクエストメッセージとレスポンスメッセージとに対して、通信された時刻情報(タイムスタンプ)を付与する。リクエストメッセージとレスポンスメッセージには、送信元のIPアドレスと宛先のIPアドレスが含まれている。そのため、分析部110は、リクエストメッセージとレスポンスメッセージに基づいて、処理の呼び出し元のVMと呼び出し先のVMとを認識できる。処理の呼び出し元のVMとは、リクエストメッセージの送信元のVMである。また処理の呼び出し元のVMは、レスポンスメッセージの宛先のVMでもある。処理の呼び出し先のVMとは、リクエストメッセージの宛先のVMである。また処理の呼び出し先のVMは、レスポンスメッセージの送信元のVMでもある。   The analysis unit 110 analyzes the captured packet and reconfigures the communicated request message and response message. At this time, the analysis unit 110 gives the time information (time stamp) for the communication to the request message and the response message. The request message and the response message include the source IP address and the destination IP address. Therefore, the analysis unit 110 can recognize the VM that is the caller of the process and the VM that is the callee based on the request message and the response message. The process call source VM is the VM of the request message transmission source. Further, the VM that called the process is also the destination VM of the response message. The process call destination VM is the destination VM of the request message. Further, the VM that is the call destination of the process is also the VM that is the transmission source of the response message.

分析部110は、処理の呼び出し元のVMと呼び出し先のVMとが一致するリクエストメッセージとレスポンスメッセージとのペア(メッセージ対)を作成する。メッセージ対は、いずれかのVMでの1つの処理に対応付けられる。そして分析部110は、処理間の呼び出しに関する制約条件を満たすメッセージ対を組み合わせて、実行されたトランザクション77を再現する。処理間の呼び出しに関する制約条件とは、例えば、「呼び出し元の処理の時間帯は、呼び出し先の処理の時間帯を包含する」という条件である。なお各処理の時間帯は、処理のリクエストメッセージが出力されてから、そのリクエストメッセージに応じた処理がレスポンスメッセージを出力するまでの時間帯である。分析部110は、再現したトランザクション77を、トランザクションモデルと照合し、実行されたトランザクション77の種別を判断する。また、分析部110は、再現したトランザクション77に含まれる各メッセージの時刻情報に基づいて、各VMでの処理時間を計算する。これにより、トランザクション種別ごとの各階層のサーバとして機能するVMでの処理時間を、分析結果として得ることができる。このようなキャプチャしたパケットを用いて処理内容を可視化する分析技術は、例えば特開2006−011683号公報に詳細に開示されている。   The analysis unit 110 creates a pair (message pair) of a request message and a response message in which a process calling VM and a calling VM match. A message pair is associated with one process in any VM. Then, the analysis unit 110 reproduces the executed transaction 77 by combining message pairs that satisfy the constraint conditions regarding the call between processes. The constraint condition regarding the call between processes is, for example, a condition that “the time zone of the call source process includes the time zone of the call destination process”. The time zone of each process is a time zone from when a process request message is output until a process corresponding to the request message outputs a response message. The analysis unit 110 checks the reproduced transaction 77 against the transaction model, and determines the type of the executed transaction 77. Further, the analysis unit 110 calculates the processing time in each VM based on the time information of each message included in the reproduced transaction 77. Thereby, the processing time in VM which functions as a server of each hierarchy for every transaction classification can be obtained as an analysis result. An analysis technique for visualizing processing contents using such captured packets is disclosed in detail in, for example, Japanese Patent Application Laid-Open No. 2006-011683.

このように互いに通信するVMが異なる物理サーバに配置されていれば、キャプチャしたパケットに基づいて複数階層システムにおけるトランザクション77全体の処理を可視化することができる。すなわち、複数のVMによる複数階層システムの処理状況を、詳細に分析することができる。   As described above, if VMs communicating with each other are arranged in different physical servers, it is possible to visualize the processing of the entire transaction 77 in the multi-tier system based on the captured packet. That is, it is possible to analyze in detail the processing status of a multi-tier system by a plurality of VMs.

〔その他の実施の形態〕
上記の第1・第2の実施の形態では、スイッチを介してキャプチャした通信情報(パケット)を用いた分析を行っているが、単に通信ログとしてパケットを記録しておくこともできる。
[Other Embodiments]
In the first and second embodiments described above, the analysis is performed using the communication information (packet) captured via the switch, but the packet can be simply recorded as a communication log.

また、上記の第1・第2の実施の形態では、スイッチのポートミラーリング機能を用いて通信情報(パケット)をキャプチャしているが、他の方法でキャプチャしてもよい。例えば、スイッチに代えて、リピータバブを用いて各物理サーバと可視化装置とを接続することで、パケットのキャプチャが可能となる。すなわちリピータハブでは、すべてのパケットが、入力されたポート以外の全ポートから出力される。そのため、可視化装置において各物理サーバ宛のパケットを取得することができる。   In the first and second embodiments described above, communication information (packets) is captured using the port mirroring function of the switch, but may be captured by other methods. For example, instead of a switch, a packet can be captured by connecting each physical server and a visualization device using a repeater bubble. That is, in the repeater hub, all packets are output from all ports other than the input port. Therefore, the packet addressed to each physical server can be acquired in the visualization device.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、仮想マシン管理装置1や可視化装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。   The above processing functions can be realized by a computer. In that case, a program describing processing contents of functions that the virtual machine management apparatus 1 and the visualization apparatus 100 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disc).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。   In addition, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).

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

以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) コンピュータに、
複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、
処理を実行させることを特徴とする仮想マシン管理プログラム。
The techniques disclosed in the above embodiments include the techniques shown in the following supplementary notes.
(Supplementary note 1)
Reference is made to a storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the pair of virtual machines indicated in each of the communication path information is determined as the pair. Determining a server computer to execute each of the plurality of virtual machines so that each of the two virtual machines to be executed is executed by a different server computer;
Outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management program characterized by causing a process to be executed.

(付記2) 前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する際には、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す配置パターンを生成し、
生成された配置パターンのうち、すべての通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行される配置パターンを適用可能と判定し、
適用可能な配置パターンに従って、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定することを特徴とする付記1記載の仮想マシン管理プログラム。
(Supplementary Note 2) When determining a server computer that executes each of the plurality of virtual machines,
Generating an arrangement pattern indicating a server computer that executes each of the plurality of virtual machines;
Among the generated arrangement patterns, for the virtual machine pairs indicated in all the communication path information, it is determined that the arrangement patterns executed by different server computers in each of the two virtual machines constituting the pair are applicable,
The virtual machine management program according to appendix 1, wherein a server computer that executes each of the plurality of virtual machines is determined according to an applicable arrangement pattern.

(付記3) 配置パターンを生成する際には、前記複数の仮想マシンの少なくとも一部を実行するサーバコンピュータが互いに異なる複数の配置パターンを生成し、
適用可能な配置パターンが複数ある場合、予め指定された選択条件に合った配置パターンを選択し、
選択した適用可能な配置パターンに従って、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定することを特徴とする付記2記載の仮想マシン管理プログラム。
(Supplementary Note 3) When generating an arrangement pattern, a server computer that executes at least a part of the plurality of virtual machines generates a plurality of different arrangement patterns,
When there are multiple applicable arrangement patterns, select an arrangement pattern that meets the selection conditions specified in advance.
The virtual machine management program according to appendix 2, wherein a server computer that executes each of the plurality of virtual machines is determined according to the selected applicable arrangement pattern.

(付記4) 前記選択条件が性能重視の場合、適用可能な配置パターンのうち、使用するサーバコンピュータの台数が最も多い配置パターンを選択することを特徴とする付記3記載の仮想マシン管理プログラム。   (Supplementary note 4) The virtual machine management program according to supplementary note 3, wherein, when the selection condition is performance-oriented, an arrangement pattern having the largest number of server computers to be used is selected from among applicable arrangement patterns.

(付記5) 前記選択条件が台数節約の場合、適用可能な配置パターンのうち、使用するサーバコンピュータの台数が最も少ない配置パターンを選択することを特徴とする付記3または4のいずれかに記載の仮想マシン管理プログラム。   (Additional remark 5) When the said selection conditions are number saving, the arrangement pattern with the few number of server computers to be used is selected from the applicable arrangement patterns, The additional description 3 or 4 characterized by the above-mentioned Virtual machine management program.

(付記6) 適用可能な配置パターンがない場合、前記記憶手段内の一部の通信経路情報を削除し、削除後に前記記憶手段に残されたすべての通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行される配置パターンを、適用可能と判定することを特徴とする付記3乃至5のいずれかに記載の仮想マシン管理プログラム。   (Additional remark 6) When there is no applicable arrangement pattern, a part of communication path information in the said memory | storage means is deleted, and the virtual machine pair shown by each of all the communication path information left in the said memory | storage means after deletion is deleted The virtual machine management program according to any one of appendices 3 to 5, wherein an arrangement pattern that is executed by different server computers in each of the two virtual machines that form the pair is determined to be applicable.

(付記7) 前記コンピュータにさらに、
前記複数の仮想マシンそれぞれをスイッチで接続された複数のサーバコンピュータで実行させ、前記複数の仮想マシンを用いた処理の実行に伴い仮想マシン間で前記スイッチを介して通信された情報を前記スイッチから取得し、
取得した情報の宛先の仮想マシンと送信元の仮想マシンとの対を示す通信経路情報を生成し、生成した通信経路情報を前記記憶手段に格納する、
処理を実行させることを特徴とする付記1乃至6のいずれかに記載の仮想マシン管理プログラム。
(Appendix 7) Further to the computer,
Each of the plurality of virtual machines is executed by a plurality of server computers connected by a switch, and information communicated between the virtual machines via the switch in accordance with execution of processing using the plurality of virtual machines is transmitted from the switch. Acquired,
Generating communication path information indicating a pair of a destination virtual machine and a transmission source virtual machine of the acquired information, and storing the generated communication path information in the storage unit;
The virtual machine management program according to any one of appendices 1 to 6, wherein the virtual machine management program executes processing.

(付記8) 前記複数の仮想マシンそれぞれをスイッチで接続された複数のサーバコンピュータで実行させる際には、
前記複数の仮想マシンのうちの2つの仮想マシンを選ぶことで得られる仮想マシンの対のすべてについて、少なくとも1回は対を成す仮想マシンが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれと仮想マシンを実行するサーバコンピュータとの組み合わせを示す少なくとも1つの配置パターンを生成し、
配置パターンを生成するごとに、該配置パターンに従って、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、
ことを特徴とする付記7記載の仮想マシン管理プログラム。
(Supplementary Note 8) When each of the plurality of virtual machines is executed by a plurality of server computers connected by a switch,
For all of the virtual machine pairs obtained by selecting two virtual machines of the plurality of virtual machines, the virtual machines that are paired are executed on different server computers at least once. Generating at least one arrangement pattern indicating a combination of each machine and a server computer executing a virtual machine;
Each time a placement pattern is generated, information indicating a server computer that executes each of the plurality of virtual machines is output according to the placement pattern.
The virtual machine management program according to appendix 7, wherein

(付記9) コンピュータが、
複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、
ことを特徴とする仮想マシン管理方法。
(Supplementary note 9)
Reference is made to a storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the pair of virtual machines indicated in each of the communication path information is determined as the pair. Determining a server computer to execute each of the plurality of virtual machines so that each of the two virtual machines to be executed is executed by a different server computer;
Outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management method.

(付記10) 複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する実行サーバ決定手段と、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する出力手段と、
を有することを特徴とする仮想マシン管理装置。
(Additional remark 10) With reference to the memory | storage means to which the at least 1 communication path information which shows the pair of two virtual machines which mutually communicate among several virtual machines is registered, About the virtual machine pair shown by each communication path information Execution server determining means for determining a server computer for executing each of the plurality of virtual machines so that each of the two virtual machines in the pair is executed by different server computers;
Output means for outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management apparatus comprising:

1 仮想マシン管理装置
1a 記憶手段
1b 実行サーバ決定手段
1b−1 配置パターン生成手段
1b−2 可否判定手段
1b−3 選択手段
1b−4 決定手段
1c 出力手段
2,3 サーバコンピュータ
4 スイッチ
5 分析装置
6 仮想マシン配置装置
7a,7b,7c,7d 仮想マシン
8a,8b,8c,・・・ 配置パターン
9a,9b,9c 通信経路情報
DESCRIPTION OF SYMBOLS 1 Virtual machine management apparatus 1a Storage | storage means 1b Execution server determination means 1b-1 Arrangement pattern generation means 1b-2 Availability determination means 1b-3 Selection means 1b-4 Determination means 1c Output means 2, 3 Server computer 4 Switch 5 Analysis apparatus 6 Virtual machine placement device 7a, 7b, 7c, 7d Virtual machine 8a, 8b, 8c,... Placement pattern 9a, 9b, 9c Communication path information

Claims (7)

コンピュータに、
複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、
処理を実行させることを特徴とする仮想マシン管理プログラム。
On the computer,
Reference is made to a storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the pair of virtual machines indicated in each of the communication path information is determined as the pair. Determining a server computer to execute each of the plurality of virtual machines so that each of the two virtual machines to be executed is executed by a different server computer;
Outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management program characterized by causing a process to be executed.
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する際には、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す配置パターンを生成し、
生成された配置パターンのうち、すべての通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行される配置パターンを適用可能と判定し、
適用可能な配置パターンに従って、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定することを特徴とする請求項1記載の仮想マシン管理プログラム。
When determining a server computer for executing each of the plurality of virtual machines,
Generating an arrangement pattern indicating a server computer that executes each of the plurality of virtual machines;
Among the generated arrangement patterns, for the virtual machine pairs indicated in all the communication path information, it is determined that the arrangement patterns executed by different server computers in each of the two virtual machines constituting the pair are applicable,
The virtual machine management program according to claim 1, wherein a server computer that executes each of the plurality of virtual machines is determined according to an applicable arrangement pattern.
配置パターンを生成する際には、前記複数の仮想マシンの少なくとも一部を実行するサーバコンピュータが互いに異なる第1の複数の配置パターンを生成し、
適用可能な配置パターンが複数ある場合、予め指定された選択条件に合った配置パターンを選択し、
選択した適用可能な配置パターンに従って、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定することを特徴とする請求項2記載の仮想マシン管理プログラム。
When generating the arrangement pattern, a server computer that executes at least a part of the plurality of virtual machines generates a first plurality of arrangement patterns different from each other,
When there are multiple applicable arrangement patterns, select an arrangement pattern that meets the selection conditions specified in advance.
3. The virtual machine management program according to claim 2, wherein a server computer that executes each of the plurality of virtual machines is determined in accordance with the selected applicable arrangement pattern.
適用可能な配置パターンがない場合、前記記憶手段内の一部の通信経路情報を削除し、削除後に前記記憶手段に残されたすべての通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行される配置パターンを、適用可能と判定することを特徴とする請求項3記載の仮想マシン管理プログラム。   When there is no applicable arrangement pattern, a part of the communication path information in the storage unit is deleted, and the virtual machine pair indicated in each of all the communication path information remaining in the storage unit after the deletion is 4. The virtual machine management program according to claim 3, wherein it is determined that an arrangement pattern that is executed by different server computers in each of the two virtual machines that constitute a virtual machine is applicable. 前記コンピュータにさらに、
スイッチで接続された複数のサーバコンピュータのうち、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す第2の複数の配置パターンそれぞれにしたがって、前記複数の仮想マシンそれぞれを前記複数のサーバコンピュータで繰り返し実行させ、前記複数の仮想マシンを前記複数のサーバコンピュータで実行させるごとに、前記複数の仮想マシンを用いた処理の実行に伴い仮想マシン間で前記スイッチを介して通信された情報を前記スイッチから取得し、
取得した情報の宛先の仮想マシンと送信元の仮想マシンとの対を示す通信経路情報を生成し、生成した通信経路情報を前記記憶手段に格納する、
処理を実行させることを特徴とする請求項1乃至4のいずれかに記載の仮想マシン管理プログラム。
In addition to the computer,
Among a plurality of server computers connected by the switch, in accordance with the respective second plurality of arrangement patterns indicating the server computer to perform each of the plurality of virtual machines, repeated each of the plurality of virtual machines in the plurality of server computers Each time the plurality of virtual machines are executed on the plurality of server computers, information communicated between the virtual machines via the switch is executed from the switch along with execution of the process using the plurality of virtual machines. Acquired,
Generating communication path information indicating a pair of a destination virtual machine and a transmission source virtual machine of the acquired information, and storing the generated communication path information in the storage unit;
The virtual machine management program according to claim 1, wherein the virtual machine management program executes processing.
コンピュータが、
複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定し、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する、
ことを特徴とする仮想マシン管理方法。
Computer
Reference is made to a storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the pair of virtual machines indicated in each of the communication path information is determined as the pair. Determining a server computer to execute each of the plurality of virtual machines so that each of the two virtual machines to be executed is executed by a different server computer;
Outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management method.
複数の仮想マシンのうち互いに通信を行う2つの仮想マシンの対を示す少なくとも1つの通信経路情報が登録された記憶手段を参照し、通信経路情報それぞれに示される仮想マシンの対について、該対を成す2つの仮想マシンそれぞれが異なるサーバコンピュータで実行されるように、前記複数の仮想マシンそれぞれを実行するサーバコンピュータを決定する実行サーバ決定手段と、
前記複数の仮想マシンそれぞれを実行するサーバコンピュータを示す情報を出力する出力手段と、
を有することを特徴とする仮想マシン管理装置。
Reference is made to a storage means in which at least one communication path information indicating a pair of two virtual machines that communicate with each other among a plurality of virtual machines is registered, and the pair of virtual machines indicated in each of the communication path information is determined as the pair. Execution server determining means for determining a server computer for executing each of the plurality of virtual machines, such that each of the two virtual machines is executed by different server computers;
Output means for outputting information indicating a server computer that executes each of the plurality of virtual machines;
A virtual machine management apparatus comprising:
JP2010192281A 2010-08-30 2010-08-30 Virtual machine management program, virtual machine management method, and virtual machine management apparatus Expired - Fee Related JP5556507B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010192281A JP5556507B2 (en) 2010-08-30 2010-08-30 Virtual machine management program, virtual machine management method, and virtual machine management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010192281A JP5556507B2 (en) 2010-08-30 2010-08-30 Virtual machine management program, virtual machine management method, and virtual machine management apparatus

Publications (2)

Publication Number Publication Date
JP2012048629A JP2012048629A (en) 2012-03-08
JP5556507B2 true JP5556507B2 (en) 2014-07-23

Family

ID=45903383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010192281A Expired - Fee Related JP5556507B2 (en) 2010-08-30 2010-08-30 Virtual machine management program, virtual machine management method, and virtual machine management apparatus

Country Status (1)

Country Link
JP (1) JP5556507B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5825360B2 (en) * 2012-01-27 2015-12-02 富士通株式会社 Information processing apparatus, information processing system, communication data output method, and communication data output program
JP5377775B1 (en) 2012-09-21 2013-12-25 株式会社東芝 System management apparatus, network system, system management method and program
WO2014119719A1 (en) * 2013-02-01 2014-08-07 日本電気株式会社 Resource control system, control pattern generation device, control device, resource control method and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140240A (en) * 2006-12-04 2008-06-19 Hitachi Ltd Virtual server distributed arrangement method
JP2008299791A (en) * 2007-06-04 2008-12-11 Hitachi Ltd Virtual computer system
JP5035011B2 (en) * 2008-02-22 2012-09-26 日本電気株式会社 Virtual server management apparatus and virtual server management method
JP5217886B2 (en) * 2008-10-14 2013-06-19 富士通株式会社 Loopback device and mirroring method

Also Published As

Publication number Publication date
JP2012048629A (en) 2012-03-08

Similar Documents

Publication Publication Date Title
CN110865867B (en) Method, device and system for discovering application topological relation
JP5834999B2 (en) Data collection method, information processing system, and program
US9727439B2 (en) Tracking application deployment errors via cloud logs
JP5325230B2 (en) Methods, computer programs, and devices for monitoring the operation of a designated transaction server having an associated network topology (synthetic transactions dynamically scheduled to monitor the performance and availability of e-business systems) How to use)
JP5670598B2 (en) Computer program and management computer
JP2019525302A (en) Application migration system
US20020156884A1 (en) Method and system for providing and viewing performance analysis of resource groups
CN103718535B (en) The alleviation of hardware fault
US9218231B2 (en) Diagnosing a problem of a software product running in a cloud environment
US11036608B2 (en) Identifying differences in resource usage across different versions of a software application
TW200417221A (en) Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US8041683B1 (en) Methods and apparatus for locating network logs
US11354152B2 (en) Self-evolving microservices
CN111597099B (en) Non-invasive simulation method for monitoring running quality of application deployed on cloud platform
CN106095483A (en) The Automation arranging method of service and device
US20210344777A1 (en) Enhanced self-assembling and self-configuring microservices
JP5556507B2 (en) Virtual machine management program, virtual machine management method, and virtual machine management apparatus
WO2013171865A1 (en) Management method and management system
JP6303300B2 (en) Control request method, information processing apparatus, system, and program
US7260689B1 (en) Methods and apparatus for detecting use of common resources
JP2010146146A (en) Transaction model generation support program, transaction model generation support apparatus, and transaction model generation support method
JP2004118250A (en) Computer management system and management program
Kratzke et al. How to operate container clusters more efficiently
US10148518B2 (en) Method and apparatus for managing computer system
US20220321457A1 (en) Route discovery for failure detection in computer networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R150 Certificate of patent or registration of utility model

Ref document number: 5556507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees