JP2016053781A - Dispersion application arrangement system - Google Patents

Dispersion application arrangement system Download PDF

Info

Publication number
JP2016053781A
JP2016053781A JP2014178766A JP2014178766A JP2016053781A JP 2016053781 A JP2016053781 A JP 2016053781A JP 2014178766 A JP2014178766 A JP 2014178766A JP 2014178766 A JP2014178766 A JP 2014178766A JP 2016053781 A JP2016053781 A JP 2016053781A
Authority
JP
Japan
Prior art keywords
server
distributed application
virtual machine
servers
virtual machines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014178766A
Other languages
Japanese (ja)
Other versions
JP6243817B2 (en
Inventor
雅志 金子
Masashi Kaneko
雅志 金子
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014178766A priority Critical patent/JP6243817B2/en
Publication of JP2016053781A publication Critical patent/JP2016053781A/en
Application granted granted Critical
Publication of JP6243817B2 publication Critical patent/JP6243817B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To properly arrange a virtual machine when utilizing a dispersion application on a virtualization system.SOLUTION: A virtualization infrastructure system 8 being a dispersion application arrangement system comprises: servers 2 on respective footholds 1; a line concentration switch 13, relay switch 12, and router 11 for relaying communication between servers 2 and/or the respective servers 2 and external network; a facility constitution database for storing information of connection constitution of the relay device and server 2 on the foothold 1; an in-foothold constitution management part for arranging respective virtual machine 3 for forming the dispersion application to the server 3; and a VM dispersion management arrangement part for, based on the facility constitution database, calculating logical distance between the respective virtual machines forming the same dispersion application, and selecting the server 2 on which the respective virtual machine 3 is arranged so that the logical distance becomes proper distance.SELECTED DRAWING: Figure 1

Description

本発明は、複数のサーバが処理プログラムを実行して具現化される各処理部で構成される分散アプリケーションにおいて、この処理プログラムを実行するサーバを好適に選択して、処理部を配置する分散アプリケーション配置システムに関する。   The present invention provides a distributed application in which a plurality of servers are implemented by executing a processing program and each processing unit is implemented, and a server that executes the processing program is preferably selected and the processing unit is arranged. Concerning the placement system.

通信サービスには、高い稼働率が求められる。そのため、従来の通信事業者におけるネットワークサーバは厳密な信頼性設計を行い、よって高い稼働率を実現してきた。   High availability is required for communication services. For this reason, network servers in conventional telecommunications carriers have been designed with strict reliability, thus realizing a high operating rate.

近年、ネットワークサーバを仮想マシン(VM:Virtual Machine)として実現することが提唱されている。ネットワークサーバを仮想マシンとして実現することにより、障害時の自律復旧や仮想マシンの動的な増減設による負荷変動への自律的な対応など、様々なメリットが期待される。
非特許文献1には、仮想化されたサーバインフラ(リソースプール)を利用したサーバ障害処理・ソフトウェアアップデートの実現方式が記載されている。
In recent years, it has been proposed to realize a network server as a virtual machine (VM). Realizing a network server as a virtual machine is expected to provide various benefits such as autonomous recovery in the event of a failure and autonomous response to load fluctuations by dynamically increasing and decreasing virtual machines.
Non-Patent Document 1 describes a server failure processing / software update implementation method using a virtualized server infrastructure (resource pool).

非特許文献2には、従来ハードウェアアプライアンスで実現されてきた様々な通信装置を仮想化技術等によりソフトウェア化することが記載されている。非特許文献2には更に、スイッチ故障により当該スイッチに帰属する複数サーバが同時に利用不能になることや、激甚災害・電源障害等により特定拠点のサーバが全て利用不能になることが記載されている。   Non-Patent Document 2 describes that various communication devices that have been realized by hardware appliances in the past are converted into software by a virtualization technique or the like. Non-Patent Document 2 further describes that a plurality of servers belonging to the switch cannot be used at the same time due to a switch failure, or that all servers at a specific site are unusable due to a catastrophic disaster, a power failure, etc. .

西村豪生、岩佐絵里子、入江道生、金子雅志、福元健、「リソースプールを活用してキャリアグレード保守運用を実現する通信制御サーバミドルウェア」、電子情報通信学会技術研究報告、電子情報通信学会、2013年7月4日、第113巻、第124号、ICM2013 9-22、pp.63-68Gosei Nishimura, Eriko Iwasa, Michio Irie, Masashi Kaneko, Takeshi Fukumoto, “Communication control server middleware that realizes carrier-grade maintenance operation using resource pools”, IEICE technical report, IEICE, 2013 July 4th, Volume 113, No. 124, ICM2013 9-22, pp.63-68 金子雅志、森谷俊之、「NFVにおけるシステム稼働率に関する一考察」、電子情報通信学会大会講演論文集(CD-ROM)資料、電子情報通信学会、2014年3月4日、G0508B、2014巻、ROMBUNNO.B-6-27頁Masashi Kaneko, Toshiyuki Moriya, “A Study on System Availability in NFV”, IEICE Conference Proceedings (CD-ROM), IEICE, March 4, 2014, G0508B, 2014, ROMBUNNO .B-6-27 pages

仮想化されたシステムにおいて高い信頼性を実現するため、仮想マシンの配置方法は重要である。仮想化技術を適用したシステムにおいては物理サーバと仮想マシンとの組み合わせが自由になることによる問題が発生するためである。
仮想化されたシステムにおいて、耐障害性を高めるために1つのシステムを複数の仮想マシンで分散処理させることが考えられるが、同じシステムを構成する複数の仮想マシンを同一の物理サーバ上で稼働させた場合、その物理サーバの故障により、仮想化システムを構成する複数の仮想マシンが同時に消失する。これによりシステムの性能不足が発生し、データの信頼性を高めるために複数の仮想マシン間で持ち合っていたレプリケーションデータが消失するなどの問題が発生するおそれがある。
In order to achieve high reliability in a virtualized system, the arrangement method of virtual machines is important. This is because in a system to which the virtualization technology is applied, a problem due to the free combination of the physical server and the virtual machine occurs.
In a virtualized system, in order to improve fault tolerance, one system may be distributed and processed by multiple virtual machines. However, multiple virtual machines that make up the same system are operated on the same physical server. In this case, due to the failure of the physical server, a plurality of virtual machines constituting the virtualization system disappear simultaneously. As a result, the performance of the system is insufficient, and there is a possibility that problems such as loss of replication data held between a plurality of virtual machines in order to improve data reliability may occur.

しかし非特許文献1では、物理サーバに対する仮想マシンの配置方法や、仮想マシンの配置に伴う問題については言及されていない。   However, Non-Patent Document 1 does not mention a virtual machine placement method with respect to a physical server or problems associated with virtual machine placement.

1つのシステムを構成する複数の仮想マシンにおいては、レプリケーションデータの転送などにより、仮想マシン間でのトラフィックが多く発生する場合がある。そのため、闇雲に仮想マシンを遠隔に配置すると、中継トラフィックが増大して上位のルータや中継回線が処理のボトルネックとなり、性能が低下するおそれがある。また、仮想マシンの配置においては特定の物理サーバに仮想マシンが集中することで特定の仮想マシンの性能が低下しないように物理サーバの混雑具合を考慮して仮想マシンを配置する必要がある。
また、仮想化されたシステムに限定されず、複数のサーバが処理プログラムを実行して具現化される各処理部で構成される分散アプリケーションにおいても同様である。
In a plurality of virtual machines constituting one system, a large amount of traffic may occur between virtual machines due to transfer of replication data or the like. For this reason, when a virtual machine is remotely located in the dark clouds, the relay traffic increases and the upper routers and relay lines become processing bottlenecks, which may reduce the performance. Further, in the arrangement of virtual machines, it is necessary to arrange the virtual machines in consideration of the congestion of the physical servers so that the performance of the specific virtual machines does not deteriorate due to the concentration of the virtual machines on the specific physical server.
Further, the present invention is not limited to a virtualized system, and the same applies to a distributed application configured by processing units implemented by a plurality of servers executing processing programs.

本発明は、前記した問題を解決し、分散アプリケーションを稼働させる場合に、複数のサーバを適切に選択して各処理部を配置することができる分散アプリケーション配置システムを提供することを課題とする。   It is an object of the present invention to provide a distributed application arrangement system that can solve the above-described problems and appropriately select a plurality of servers and arrange each processing unit when operating a distributed application.

前記課題を解決するため、請求項1に記載の発明では、各拠点の一または複数のサーバと、各前記サーバ間または/および各前記サーバと外部ネットワーク間の通信を中継する中継装置と、当該拠点に係る前記中継装置および前記サーバの接続構成の情報を格納する設備構成データベースと、分散アプリケーションを構成する各処理部を具現化する各プログラムを、それぞれ各前記拠点の前記サーバに実行させる拠点管理手段と、前記設備構成データベースに基づいて、同一の分散アプリケーションを構成する各前記処理部間の論理的距離を算出し、前記論理的距離が適正距離となるように、各前記処理部を具現化する各プログラムを実行させるサーバを選択する分散配置手段と、を備えることを特徴とする分散アプリケーション配置システムとした。   In order to solve the above-mentioned problem, in the invention according to claim 1, one or a plurality of servers of each base, a relay device that relays communication between each of the servers or / and between each of the servers and an external network, Site management for causing the server of each base to execute each program that embodies each processing unit constituting a distributed application and an equipment configuration database that stores information on the connection configuration of the relay device and the server related to the base Based on the means and the equipment configuration database, the logical distance between the processing units constituting the same distributed application is calculated, and the processing units are implemented so that the logical distance is an appropriate distance. A distributed application arrangement system comprising: a distributed arrangement means for selecting a server that executes each program to be executed And the.

このようにすることで、同一の分散アプリケーションを構成する各処理部間の論理的距離が適正距離となるように配置できる。この分散アプリケーションは、装置の故障に対する所定の耐性と、所定のレイテンシとを得ることができる。この分散アプリケーション配置システムは、廉価な低信頼性の各サーバに処理部を具現化させ、かつ、廉価で低信頼性の各中継装置を活用できるので、廉価に分散アプリケーションを実現可能である。   By doing in this way, it can arrange | position so that the logical distance between each process part which comprises the same distributed application may become an appropriate distance. This distributed application can obtain a predetermined tolerance against a device failure and a predetermined latency. This distributed application arrangement system can realize a distributed application at low cost because the processing unit can be realized in each low-cost and low-reliability server and each low-priced and low-reliability relay device can be used.

請求項2に記載の発明にて、前記分散配置手段は、各前記処理部を具現化するプログラムを実行させる各サーバ間に存在する中継装置の数によって前記論理的距離を算出する、ことを特徴とする請求項1に記載の分散アプリケーション配置システムとした。   The invention according to claim 2, wherein the distributed arrangement unit calculates the logical distance based on the number of relay devices existing between servers that execute a program that embodies each processing unit. The distributed application arrangement system according to claim 1 is provided.

このようにすることで、拠点内に配備された各中継装置の故障に対する分散アプリケーションの耐性を容易に評価可能となる。   By doing in this way, it becomes possible to easily evaluate the tolerance of the distributed application against the failure of each relay device deployed in the base.

請求項3に記載の発明で、前記分散アプリケーションを構成する各前記処理部は、仮想マシンとして具現化される、ことを特徴とする請求項1に記載の分散アプリケーション配置システムとした。   The distributed application arrangement system according to claim 1, wherein each of the processing units configuring the distributed application is embodied as a virtual machine.

このようにすることで、仮想化技術を用いた分散アプリケーションに対して、本発明を適用することができる。   In this way, the present invention can be applied to distributed applications using virtualization technology.

請求項4に記載の発明での前記適正距離は、同一の中継装置を介して接続される異なる2台のサーバ上に具現化される2個の処理部間の論理的距離である、ことを特徴とする請求項1に記載の分散アプリケーション配置システムとした。   In the invention according to claim 4, the appropriate distance is a logical distance between two processing units embodied on two different servers connected via the same relay device. The distributed application placement system according to claim 1 is characterized.

このようにすることで、同一の中継装置を介して接続される異なる2台のサーバ上に各処理部を具現化させることができる。   In this way, each processing unit can be realized on two different servers connected via the same relay device.

請求項5に記載の発明での前記適正距離は、同一の集線スイッチに接続される異なる2台のサーバ上に具現化される2個の処理部間の論理的距離である、ことを特徴とする請求項1に記載の分散アプリケーション配置システムとした。   In the invention according to claim 5, the appropriate distance is a logical distance between two processing units embodied on two different servers connected to the same line switch. The distributed application arrangement system according to claim 1 is provided.

このようにすることで、同一の集線スイッチに接続される異なる2台のサーバ上に各処理部を具現化させることができる。   In this way, each processing unit can be embodied on two different servers connected to the same line collecting switch.

請求項6に記載の発明で、前記分散配置手段は更に、各前記サーバにおける各前記処理部の密集度を加味して、各前記処理部を具現化する各プログラムを動作させるサーバを決定する、ことを特徴とする請求項1に記載の分散アプリケーション配置システムとした。   In the invention according to claim 6, the distributed arrangement means further determines a server that operates each program that embodies each processing unit, taking into account the density of each processing unit in each server. The distributed application placement system according to claim 1 is provided.

このようにすることで、同一のサーバが具現化する異なる分散アプリケーションの処理部の数を制限して、処理部の集中を抑止可能である。   By doing in this way, the number of processing units of different distributed applications realized by the same server can be limited, and concentration of processing units can be suppressed.

本発明によれば、分散アプリケーションを稼働させる場合に、複数のサーバを適切に選択して各処理部を配置することができる分散アプリケーション配置システムを提供可能である。   ADVANTAGE OF THE INVENTION According to this invention, when operating a distributed application, the distributed application arrangement | positioning system which can select a some server appropriately and can arrange | position each process part can be provided.

本実施形態における仮想化インフラシステムの概略を示す構成図である。It is a block diagram which shows the outline of the virtualization infrastructure system in this embodiment. 仮想マシンによって構成される分散アプリケーションの一例を示す図である。It is a figure which shows an example of the distributed application comprised by a virtual machine. 拠点管理サーバの概略を示す構成図である。It is a block diagram which shows the outline of a base management server. 設備構成データベースで管理される装置構成の例を示す図である。It is a figure which shows the example of the apparatus structure managed with an installation structure database. 仮想マシンのストレス値の説明図である。It is explanatory drawing of the stress value of a virtual machine. 仮想マシンの配置の一例を示す図である。It is a figure which shows an example of arrangement | positioning of a virtual machine. 仮想マシンの配置の一例の再配置後を示す図である。It is a figure which shows the rearrangement of an example of arrangement | positioning of a virtual machine. 仮想マシン最適配置の探索処理を示すフローチャートである。It is a flowchart which shows the search process of virtual machine optimal arrangement | positioning.

次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本実施形態における仮想化インフラシステム8の概略を示す構成図である。
本実施形態の仮想化インフラシステム8は、遠隔して配置された複数の拠点1−1〜1−3によって構成される分散アプリケーション配置システムである。これら拠点1−1〜1−3は、拠点間ネットワーク5によって相互に接続される。ここでは、拠点間ネットワーク5を構成する各装置を、拠点間転送装置6として示している。なお、仮想化インフラシステム8は、例えば単一の拠点1−1によって構成されていてもよい。以下、各拠点1−1〜1−3を特に区別しないときには、単に拠点1と記載する。
Next, modes for carrying out the present invention (referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
FIG. 1 is a configuration diagram showing an outline of a virtual infrastructure system 8 in the present embodiment.
The virtual infrastructure system 8 according to the present embodiment is a distributed application arrangement system including a plurality of bases 1-1 to 1-3 arranged remotely. These bases 1-1 to 1-3 are connected to each other by a network 5 between bases. Here, each device constituting the inter-base network 5 is shown as an inter-base transfer device 6. The virtual infrastructure system 8 may be configured by a single base 1-1, for example. Hereinafter, when the bases 1-1 to 1-3 are not particularly distinguished, they are simply referred to as the bases 1.

拠点1は、例えば通信の局舎やデータセンタなどであり、ルータ11と、中継スイッチ12と、集線スイッチ13と、サーバ2と、拠点管理サーバ4とを備えている。
集線スイッチ13は、例えばスイッチングハブやL2(Layer 2)スイッチやL3(Layer3)スイッチなどの中継装置であり、各サーバ2と直接に接続される。
中継スイッチ12は、例えばスイッチングハブやL2スイッチやL3スイッチなどの中継装置であり、各集線スイッチ13間に接続されて、拠点1内のトラヒックを中継する。
ルータ11は、トラヒックを中継する中継装置であり、中継スイッチ12に接続されて、拠点1内のトラヒックと、拠点1と拠点間ネットワーク5との間のトラヒックを中継する。
拠点間転送装置6は、異なる拠点1間のトラヒックをそれぞれ転送する。
サーバ2は、物理サーバであり、VM管理部21により、1または複数の仮想マシン3を稼働させる。なお、各図面では、仮想マシン3のことを「VM」と省略して記載している。サーバ2は、VM管理部21により、この仮想マシン3を他のサーバ2に移行させることも可能である。VM管理部21はハイパーバイザであり、コンピュータの仮想化技術のひとつである仮想マシン3を具現化する制御部である。各サーバ2は、集線スイッチ13、中継スイッチ12およびルータ11などの中継装置によって相互に接続される。サーバ2間の接続構成は、グラフ構造で示すことができる。
集線スイッチ13、中継スイッチ12およびルータ11などの中継装置は、サーバ2間の通信を疎通させる。サーバ2の稼働は、これら中継装置の稼働が前提である。そのため、これら中継装置の故障は、複数のサーバ2に影響を与えるおそれがある。よって、仮想マシン3は、中継装置の故障に備えて、それぞれ異なる中継装置下のサーバ2に分散して配置することが望ましい。
拠点管理サーバ4は、自身の拠点1−1や他の拠点1−2,1−3などの装置構成やサーバ2の利用状況を把握する。この拠点管理サーバ4は、後記する図3で詳細に説明する。
The base 1 is, for example, a communication station or data center, and includes a router 11, a relay switch 12, a line concentrator switch 13, a server 2, and a base management server 4.
The line concentrator switch 13 is a relay device such as a switching hub, an L2 (Layer 2) switch, or an L3 (Layer 3) switch, and is directly connected to each server 2.
The relay switch 12 is a relay device such as a switching hub, an L2 switch, or an L3 switch, for example, and is connected between the concentrator switches 13 to relay the traffic in the base 1.
The router 11 is a relay device that relays traffic. The router 11 is connected to the relay switch 12 and relays traffic in the base 1 and traffic between the base 1 and the inter-base network 5.
The inter-base transfer device 6 transfers traffic between different bases 1.
The server 2 is a physical server, and the VM management unit 21 operates one or a plurality of virtual machines 3. In each drawing, the virtual machine 3 is abbreviated as “VM”. The server 2 can also migrate this virtual machine 3 to another server 2 by the VM management unit 21. The VM management unit 21 is a hypervisor, and is a control unit that embodies the virtual machine 3 that is one of computer virtualization technologies. Each server 2 is connected to each other by a relay device such as a line concentrator switch 13, a relay switch 12, and a router 11. The connection configuration between the servers 2 can be shown in a graph structure.
Relay devices such as the line concentrator switch 13, the relay switch 12, and the router 11 allow communication between the servers 2. The operation of the server 2 is premised on the operation of these relay devices. Therefore, the failure of these relay devices may affect a plurality of servers 2. Therefore, it is desirable that the virtual machines 3 are distributed and arranged on the servers 2 under different relay apparatuses in preparation for failure of the relay apparatus.
The site management server 4 grasps device configurations such as its own site 1-1 and other sites 1-2 and 1-3 and the usage status of the server 2. The base management server 4 will be described in detail with reference to FIG.

図2は、仮想マシン3によって構成される分散アプリケーション7の一例を示す図である。
仮想化インフラシステム8上で実現されるネットワークサーバは、複数の仮想マシン3で構成された分散アプリケーション7として実装される。分散アプリケーション7は、複数の仮想マシン3によって所定の処理を行う。仮想マシン3は、この分散アプリケーション7に係る処理を実行する処理部である。各分散アプリケーション7は、物理サーバ2への仮想マシン3の配置を最適化するVM分散管理配置部31と、それらの稼働状態を管理する分散アプリケーション管理部32とによって制御される。仮想化インフラシステム8上では、複数個の分散アプリケーション7が稼働することになる。
また、図2ではVM分散管理配置部31と分散アプリケーション管理部32とは、仮想マシン3上で実現されているが、拠点管理サーバ4上で実装されていてもよい。
分散アプリケーション管理部32は、拠点管理サーバ4の機能を利用することで、分散アプリケーション7を構成する仮想マシン3の配置などを取得し、仮想マシン3を再配置することができる。
VM分散管理配置部31(分散配置手段)は、仮想マシン3の配置にあたり、どのサーバ2に仮想マシン3を配置すべきか、現在の仮想マシン3の配置に改善の余地がないかを判定する。
分散アプリケーション管理部32は、分散アプリケーション7ごとに、それを構成する1または複数の仮想マシン3の識別子を管理する。分散アプリケーション管理部32は、仮想マシン3の増設時に、VM分散管理配置部31により、どのサーバ2に仮想マシン3を配置するかを後記する最適配置の探索処理によって判断する。また、定期的に現状の仮想マシン3の配置に改善余地があるか否かを判定し、仮想マシン3の配置の最適化を随時行う。これにより、拠点1の構成の変更や仮想マシン3の配置状況の変動に対して分散アプリケーション7の構成が最適になるように追従させることができる。
FIG. 2 is a diagram illustrating an example of the distributed application 7 configured by the virtual machine 3.
A network server realized on the virtual infrastructure system 8 is implemented as a distributed application 7 composed of a plurality of virtual machines 3. The distributed application 7 performs predetermined processing by the plurality of virtual machines 3. The virtual machine 3 is a processing unit that executes processing related to the distributed application 7. Each distributed application 7 is controlled by a VM distributed management arrangement unit 31 that optimizes the arrangement of the virtual machines 3 on the physical server 2 and a distributed application management unit 32 that manages their operating state. On the virtual infrastructure system 8, a plurality of distributed applications 7 operate.
In FIG. 2, the VM distributed management arrangement unit 31 and the distributed application management unit 32 are implemented on the virtual machine 3, but may be implemented on the site management server 4.
The distributed application management unit 32 can use the functions of the site management server 4 to acquire the placement of the virtual machines 3 constituting the distributed application 7 and rearrange the virtual machines 3.
The VM distribution management arrangement unit 31 (distribution arrangement unit) determines in which server 2 the virtual machine 3 should be arranged and whether there is room for improvement in the arrangement of the current virtual machine 3 when the virtual machine 3 is arranged.
The distributed application management unit 32 manages the identifiers of one or more virtual machines 3 constituting each distributed application 7. When the virtual machine 3 is added, the distributed application management unit 32 uses the VM distributed management arrangement unit 31 to determine which server 2 the virtual machine 3 is arranged by the optimum arrangement search process described later. Further, it is periodically determined whether there is room for improvement in the current arrangement of the virtual machines 3, and the arrangement of the virtual machines 3 is optimized as needed. Thereby, it is possible to follow the change of the configuration of the base 1 and the change of the arrangement state of the virtual machine 3 so that the configuration of the distributed application 7 is optimized.

図3は、拠点管理サーバ4の概略を示す構成図である。
拠点管理サーバ4は、各拠点1−1,1−2にそれぞれ配置される。拠点管理サーバ4は、他拠点構成管理部41と、拠点内構成管理部42と、設備構成データベース43と、VM配置データベース44とを備えている。
他拠点構成管理部41(拠点管理手段)は、他の拠点1−1の設備構成や仮想マシン3の配置状況を問い合わせると共に、分散アプリケーション管理部32やVM分散管理配置部31からの問い合わせに応答する。
拠点内構成管理部42(拠点管理手段)は、VM配置管理部421とサーバ監視部422とを備えており、設備構成データベース43により、自身の拠点1の設備構成であるサーバ2の台数やスペックや接続構成の情報を管理する。VM配置管理部421は、拠点1内のサーバ2のVM管理部21と通信して、仮想マシン3の配置状況をVM配置データベース44として管理する。サーバ監視部422は、サーバ2の稼働状態を監視する。他拠点構成管理部41は、設備構成データベース43とVM配置データベース44とを参照する。拠点管理サーバ4により、各拠点1に配置されるサーバ2や各種中継装置、および、各サーバ2上に具現化される仮想マシン3を管理することができる。VM分散管理配置部31(図2参照)は、他拠点構成管理部41や拠点内構成管理部42に、サーバ2や各種中継装置、および、各サーバ2上に具現化される仮想マシン3の配置を問い合わせる。これにより、VM分散管理配置部31は、自身の分散アプリケーション7に係る1または複数の仮想マシン3を、好適なサーバ2上に再配置することができる。
FIG. 3 is a configuration diagram showing an outline of the site management server 4.
The site management server 4 is arranged at each site 1-1 and 1-2. The site management server 4 includes an other site configuration management unit 41, an in-site configuration management unit 42, an equipment configuration database 43, and a VM arrangement database 44.
The other site configuration management unit 41 (site management means) inquires about the equipment configuration of the other site 1-1 and the arrangement status of the virtual machine 3, and responds to an inquiry from the distributed application management unit 32 or the VM distributed management arrangement unit 31. To do.
The intra-site configuration management unit 42 (base management means) includes a VM arrangement management unit 421 and a server monitoring unit 422, and the number and specifications of the servers 2 that are the equipment configuration of the base 1 are determined by the equipment configuration database 43. And connection configuration information. The VM placement management unit 421 communicates with the VM management unit 21 of the server 2 in the base 1 and manages the placement state of the virtual machine 3 as the VM placement database 44. The server monitoring unit 422 monitors the operating state of the server 2. The other site configuration management unit 41 refers to the facility configuration database 43 and the VM arrangement database 44. The site management server 4 can manage the servers 2 and various relay devices arranged at each site 1 and the virtual machine 3 embodied on each server 2. The VM distributed management arrangement unit 31 (see FIG. 2) has the server 2, various relay devices, and the virtual machine 3 embodied on each server 2 in the other site configuration management unit 41 and the site configuration management unit 42. Queries the arrangement. As a result, the VM distributed management arrangement unit 31 can rearrange one or more virtual machines 3 related to its own distributed application 7 on a suitable server 2.

図4は、設備構成データベース43で管理される装置構成の例を示す図である。
設備構成データベース43で管理されている装置構成は、図4のようなグラフ構造で表現されている。これを、設備構成グラフという。各サーバ2の稼働可否は、上位装置の稼働が条件となっている。設備構成データベース43は、この拠点1に係る各中継装置の接続構成の情報を格納する。
FIG. 4 is a diagram illustrating an example of a device configuration managed by the facility configuration database 43.
The apparatus configuration managed in the facility configuration database 43 is represented by a graph structure as shown in FIG. This is called an equipment configuration graph. Whether or not each server 2 can be operated is conditional on the operation of the host device. The equipment configuration database 43 stores information on the connection configuration of each relay device related to the base 1.

例えば、或る集線スイッチ13が故障したとき、その配下のサーバ2は、全て稼働不可となる。サーバ2−1,2−2は、共通に接続されている集線スイッチ13が故障したときには両方とも稼働不可となる。
或る中継スイッチ12が故障したとき、その配下のサーバ2は、全て稼働不可となる。2台のサーバ2は、共通に接続されている中継スイッチ12が故障したときには両方とも稼働不可となる。
或るルータ11が故障したとき、その配下のサーバ2は、全て稼働不可となる。2台のサーバ2は、共通に接続されているルータ11が故障したときには両方とも稼働不可となる。
For example, when a certain line collecting switch 13 breaks down, all the servers 2 under the switch are disabled. The servers 2-1 and 2-2 cannot be operated when the concentrator switch 13 connected in common fails.
When a certain relay switch 12 breaks down, all the servers 2 under the relay switch 12 cannot be operated. The two servers 2 cannot be operated when the relay switch 12 connected in common fails.
When a certain router 11 breaks down, all of the servers 2 under that router become inoperable. The two servers 2 cannot be operated when the commonly connected routers 11 fail.

各サーバ2には仮想マシン3が配置される。仮想マシン3間の論理的な距離として、仮想マシン間距離dを定義する。ここで、dは任意の仮想マシン3を2つ選択したときに、設備構成グラフによって表現される距離で算出される。この論理的な距離は、設備構成グラフにおいて、2台の仮想マシン3の間の通信経路に存在する節の数である。例えば、同一のサーバ2の配下の仮想マシン3は、通信経路が2本の直線で示される。このとき通信経路の節の数は、1である。同一の集線スイッチ13の配下の異なるサーバ2上の仮想マシン3は、通信経路が4本の直線で示される。このとき通信経路の節の数は、3である。
本実施形態の設備構成グラフのうち、スイッチやルータとして定義する中継装置は物理的な個々の装置として示すものであってもよいし、ソフトウェアとして機能する仮想的な装置として示すものであってもよい。設備構成グラフを、仮想的に定義したスイッチやルータのグラフ構造とすれば、各拠点1の物理構成によらず、共通する仮想的な指標で仮想マシン間距離dを算出可能である。
また、実際には経路上複数存在する複数の中継装置を1台の中継装置として抽象化して定義してもよい。例えば、拠点間ネットワーク5内の経路が複数の装置により構成される場合において、それらの故障率が極めて小さく、拠点1内の中継装置に比べ無視しうるようなときは、図4における拠点間転送装置6のように1台の装置として定義することは適当である。
Each server 2 is provided with a virtual machine 3. As a logical distance between the virtual machines 3, an inter-virtual machine distance d is defined. Here, d is calculated by the distance expressed by the equipment configuration graph when two arbitrary virtual machines 3 are selected. This logical distance is the number of nodes existing in the communication path between the two virtual machines 3 in the equipment configuration graph. For example, the communication paths of the virtual machines 3 under the same server 2 are indicated by two straight lines. At this time, the number of nodes in the communication path is one. The virtual machines 3 on different servers 2 under the same line switch 13 have communication paths indicated by four straight lines. At this time, the number of nodes in the communication path is three.
In the equipment configuration graph of the present embodiment, the relay device defined as a switch or a router may be shown as a physical individual device, or may be shown as a virtual device functioning as software. Good. If the facility configuration graph is a graph structure of virtually defined switches and routers, the inter-virtual machine distance d can be calculated using a common virtual index regardless of the physical configuration of each site 1.
In practice, a plurality of relay apparatuses existing on a route may be abstracted and defined as one relay apparatus. For example, when the route in the inter-base network 5 is constituted by a plurality of devices, when the failure rate is extremely small and can be ignored as compared with the relay device in the base 1, the inter-base transfer in FIG. It is appropriate to define it as one device like the device 6.

同一のサーバ2−1上に配置された異なる仮想マシン3−1,3−2の仮想マシン間距離dは、1となる。同一の集線スイッチ13に接続された異なる2台のサーバ2−1,2−2に配置された各仮想マシン3の仮想マシン間距離dは、3となる。   The inter-virtual machine distance d of the different virtual machines 3-1 and 3-2 arranged on the same server 2-1 is 1. The inter-virtual machine distance d of each virtual machine 3 arranged in two different servers 2-1 and 2-2 connected to the same line concentrator switch 13 is 3.

また、前記した距離計算方法については、単純に節の数を足しあわせるのではなく、各スイッチ/各ルータの性能や中継回線の転送遅延などによって節に重みを付ける計算方法も考えられる。各スイッチ/各ルータの性能や中継回線の転送遅延は、設備費用とのトレードオフの関係がある。よって、各スイッチ/各ルータの性能や中継回線の転送遅延で重み付けした距離に対して、仮想マシン間適正距離Dだけ離間させて各仮想マシン3を配置することで、適切なコストの廉価なスイッチ/ルータ/中継回線を活用することができる。廉価な低信頼性の各サーバ2や各中継装置に仮想マシン3を配置できるので、廉価に分散アプリケーション7を実現可能である。   As for the distance calculation method described above, a calculation method in which the nodes are weighted according to the performance of each switch / router, the transfer delay of the trunk line, or the like, instead of simply adding the number of nodes, can be considered. The performance of each switch / router and the transfer delay of the trunk line have a trade-off relationship with the equipment cost. Therefore, by arranging each virtual machine 3 at an appropriate distance D between the virtual machines with respect to the distance weighted by the performance of each switch / router and the transfer delay of the relay line, an inexpensive switch with an appropriate cost is arranged. / Routers / relay lines can be used. Since the virtual machine 3 can be arranged in each inexpensive low-reliability server 2 or each relay device, the distributed application 7 can be realized at low cost.

図5は、仮想マシン3のストレス値の説明図である。
分散アプリケーション7は、仮想マシン3−1,3−4,3−5,…,3−nで構成される。
サーバ2には、仮想マシン3−1が配置され、更に他の分散アプリケーション7を構成する仮想マシン3x,3yが配置される。仮想マシン3−4,3−5,…,3−nは、サーバ2以外に配置される。
本実施形態の仮想マシン3の配置の最適化は、同一の分散アプリケーション7を構成する2台の仮想マシン3間の距離によって生じる距離ストレス値sdを最小化することで実現する。ここで仮想マシン3−1は、仮想マシン3−4,3−5,…,3−nとの間で、距離ストレスが生じる。
更に、他の仮想マシン3とサーバ2や中継装置などを共有することにより生じる密集度ストレス値slを、距離ストレス値sdに加算してストレス値Sを算出し、これを最小化するとよい。これにより、異なる分散アプリケーション7を構成する仮想マシン3が同一のサーバ2に集中することを抑止可能である。仮想マシン3−1は、他の分散アプリケーション7を構成する仮想マシン3x,3yとの間で密集ストレスが生じる。
FIG. 5 is an explanatory diagram of the stress value of the virtual machine 3.
The distributed application 7 includes virtual machines 3-1, 3-4, 3-5,.
A virtual machine 3-1 is arranged on the server 2, and virtual machines 3 x and 3 y constituting another distributed application 7 are arranged. The virtual machines 3-4, 3-5,..., 3-n are arranged other than the server 2.
The optimization of the arrangement of the virtual machines 3 according to the present embodiment is realized by minimizing the distance stress value sd generated by the distance between the two virtual machines 3 configuring the same distributed application 7. Here, a distance stress occurs between the virtual machine 3-1 and the virtual machines 3-4, 3-5,.
Furthermore, the stress value S may be calculated by adding the congestion stress value sl generated by sharing the server 2 or the relay device with other virtual machines 3 to the distance stress value sd, and minimizing this. Thereby, it is possible to prevent the virtual machines 3 constituting the different distributed applications 7 from being concentrated on the same server 2. The virtual machine 3-1 is subjected to dense stress between the virtual machines 3 x and 3 y constituting the other distributed application 7.

距離ストレス値sdは、同一の分散アプリケーション7を構成する複数の仮想マシン3間で仮想マシン間適正距離Dがどの程度とれているかで算出される。仮想マシン間適正距離Dとは、複数の仮想マシン3間における適切な論理的距離である。ここで、識別子iで識別される仮想マシン3を、仮想マシン(i)とする。仮想マシン(i)と識別子jの仮想マシン(j)との仮想マシン間距離を、d(i,j)とする。仮想マシン(i)と仮想マシン(j)の間の距離ストレス値sd(i,j)を、仮想マシン間適正距離Dと仮想マシン間距離d(i,j)との差の絶対値に、係数kdをかけたものと定義する。これを以下の式(1)に示す。

Figure 2016053781
The distance stress value sd is calculated by how much the appropriate distance D between virtual machines is taken between a plurality of virtual machines 3 constituting the same distributed application 7. The appropriate distance D between virtual machines is an appropriate logical distance between a plurality of virtual machines 3. Here, the virtual machine 3 identified by the identifier i is assumed to be a virtual machine (i). The inter-virtual machine distance between the virtual machine (i) and the virtual machine (j) with the identifier j is d (i, j). The distance stress value sd (i, j) between the virtual machine (i) and the virtual machine (j) is set to the absolute value of the difference between the appropriate distance D between virtual machines and the distance d (i, j) between virtual machines. It is defined as a product of coefficient kd. This is shown in the following formula (1).
Figure 2016053781

仮想マシン(i)が、当該分散アプリケーション7を構成する他の全ての仮想マシンとの距離によって生じる距離ストレス値をsd(i)とする。距離ストレス値sd(i)は、以下の式(2)によって算出できる。

Figure 2016053781
A distance stress value generated by the distance between the virtual machine (i) and all other virtual machines constituting the distributed application 7 is defined as sd (i). The distance stress value sd (i) can be calculated by the following equation (2).
Figure 2016053781

なお、式(2)のΣは、同じ分散アプリケーション7に所属する他の全ての仮想マシン(j)との距離ストレス値sdの総和を算出することを示している。
また、他の仮想マシン3と装置を共有することにより生じる密集度ストレス値sl(i)は、仮想マシン(i)に対して他の全ての仮想マシン(j)との間の距離の逆数の和をとる方法が考えられる。これを以下の式(3)に示す。

Figure 2016053781
Note that Σ in equation (2) indicates that the sum of the distance stress values sd with all the other virtual machines (j) belonging to the same distributed application 7 is calculated.
Further, the density stress value sl (i) generated by sharing the apparatus with another virtual machine 3 is the reciprocal of the distance between the virtual machine (i) and all the other virtual machines (j). A method of taking the sum can be considered. This is shown in the following formula (3).
Figure 2016053781

また、密集度ストレス値sl(i)は、仮想マシン(i)と同一の物理サーバ2を共有している仮想マシン3の数で算出する方法もある。以下、この方法で密集度ストレス値sl(i)を算出することとする。
距離ストレス値sdと、密集度ストレス値slとの和を、仮想マシン(i)に対して生じるストレス値S(i)として定義する。これを、以下の式(4)に示す。

Figure 2016053781
There is also a method of calculating the congestion stress value sl (i) by the number of virtual machines 3 sharing the same physical server 2 as the virtual machine (i). Hereinafter, the density stress value sl (i) is calculated by this method.
The sum of the distance stress value sd and the density stress value sl is defined as the stress value S (i) generated for the virtual machine (i). This is shown in the following formula (4).
Figure 2016053781

ここで、距離ストレス値sd(i)は、仮想マシン3間の距離を適正に保とうとするストレス値である。密集度ストレス値sl(i)は、特定箇所に仮想マシン3が集中することを防ぐストレス値である。係数kdを調整することで、前者を優先するか後者を優先するかを設定することができる。
或る分散アプリケーション7に対して生じているストレス値S(a)は、以下の式(5)で示される。

Figure 2016053781
Here, the distance stress value sd (i) is a stress value for maintaining the distance between the virtual machines 3 appropriately. The congestion stress value sl (i) is a stress value that prevents the virtual machines 3 from concentrating on a specific location. By adjusting the coefficient kd, it is possible to set whether to give priority to the former or the latter.
The stress value S (a) generated for a certain distributed application 7 is expressed by the following equation (5).
Figure 2016053781

ここでiは、分散アプリケーション7を構成する仮想マシン3を枚挙するものとする。このストレス値S(a)が最小となるように、仮想マシン3を配置することで、適切なコストの廉価なスイッチ・ルータ・中継回線を活用するように分散アプリケーション7を構成することができる。   Here, i is a list of the virtual machines 3 constituting the distributed application 7. By arranging the virtual machine 3 so that the stress value S (a) is minimized, the distributed application 7 can be configured so as to utilize inexpensive switches, routers, and trunk lines with appropriate costs.

図6は、仮想マシン3の配置の一例を示す図である。ここでは仮想マシン間適正距離D=3とし、係数kd=10として計算している。
この一例において、分散アプリケーション7は、3台の仮想マシン3−1〜3−3で構成される。
サーバ2−1,2−2は、同一の集線スイッチ13で接続される。サーバ2−1には、仮想マシン3−1,3−2が配置され、更に他の分散アプリケーション7に係る仮想マシン3x,3yが配置される。サーバ2−2には、仮想マシン3−3が配置され、更に他の分散アプリケーション7に係る仮想マシン3zが配置される。
このとき、仮想マシン3−1に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(6)で算出される。

Figure 2016053781
FIG. 6 is a diagram illustrating an example of the arrangement of the virtual machines 3. Here, the calculation is made assuming that the appropriate distance between virtual machines D = 3 and the coefficient kd = 10.
In this example, the distributed application 7 includes three virtual machines 3-1 to 3-3.
Servers 2-1 and 2-2 are connected by the same line collecting switch 13. Virtual machines 3-1 and 3-2 are arranged on the server 2-1, and virtual machines 3 x and 3 y related to other distributed applications 7 are arranged. In the server 2-2, a virtual machine 3-3 is arranged, and a virtual machine 3 z related to another distributed application 7 is further arranged.
At this time, the distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-1 are calculated by the following equation (6).
Figure 2016053781

仮想マシン3−2に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(7)で算出される。

Figure 2016053781
The distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-2 are calculated by the following equation (7).
Figure 2016053781

仮想マシン3−3に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(8)で算出される。

Figure 2016053781
The distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-3 are calculated by the following equation (8).
Figure 2016053781

分散アプリケーション7に対して生じているストレス値S(a)は、以下の式(9)で算出される。

Figure 2016053781
The stress value S (a) generated for the distributed application 7 is calculated by the following equation (9).
Figure 2016053781

図7は、仮想マシン3の配置の一例の再配置後を示す図である。図6に示す仮想マシン3の配置に対して、仮想マシン3−1がサーバ2−2に再配置されている点が異なる。
仮想マシン3−1に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(10)で算出される。

Figure 2016053781
FIG. 7 is a diagram illustrating an example of the arrangement of the virtual machines 3 after rearrangement. The virtual machine 3-1 is different from the virtual machine 3 shown in FIG. 6 in that the virtual machine 3-1 is rearranged on the server 2-2.
The distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-1 are calculated by the following equation (10).
Figure 2016053781

仮想マシン3−2に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(11)で算出される。

Figure 2016053781
The distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-2 are calculated by the following equation (11).
Figure 2016053781

仮想マシン3−3に係る距離ストレス値sdと、密集度ストレス値slと、ストレス値Sとは、以下の式(12)で算出される。

Figure 2016053781
The distance stress value sd, the density stress value sl, and the stress value S related to the virtual machine 3-3 are calculated by the following equation (12).
Figure 2016053781

分散アプリケーション7に対して生じているストレス値S(a)は、以下の式(13)で算出される。

Figure 2016053781
The stress value S (a) generated for the distributed application 7 is calculated by the following equation (13).
Figure 2016053781

図6の場合はストレス値S(a)が50であるのに対して、図7の場合はストレス値S(a)が49である。そのため、図7の方がより最適な配置であることが定量的に判断可能である。すなわち、図7の方が仮想マシン3の配置の偏りが解消されている。   In the case of FIG. 6, the stress value S (a) is 50, whereas in the case of FIG. 7, the stress value S (a) is 49. Therefore, it can be quantitatively determined that the arrangement in FIG. 7 is more optimal. That is, the bias in the arrangement of the virtual machines 3 is eliminated in FIG.

また、S(a,i,x)を、分散アプリケーション7を構成する仮想マシン(i)の配置をサーバ(x)に変更した場合のストレス値と定義する。移動させる対象の仮想マシン(i)と移動先のサーバ(x)とを変化させながら、ストレス値S(a,i,x)が最小化されるようにiとxとを探索していくことで、この分散アプリケーション7を構成する仮想マシン3の配置を最適化することができる。   Further, S (a, i, x) is defined as a stress value when the arrangement of the virtual machine (i) constituting the distributed application 7 is changed to the server (x). Searching i and x so that the stress value S (a, i, x) is minimized while changing the target virtual machine (i) and the destination server (x). Thus, the arrangement of the virtual machines 3 constituting the distributed application 7 can be optimized.

図8は、仮想マシン3の最適配置の探索処理を示すフローチャートである。
分散アプリケーション管理部32は、VM分散管理配置部31により、以下に示した最適配置の探索処理を繰り返す。
ステップS10において、VM分散管理配置部31は、例えば式(5)により、現在の分散アプリケーション7のストレス値S(a)を算出する。
ステップS11において、VM分散管理配置部31は、現在のストレス値を最小ストレス値に代入する。
FIG. 8 is a flowchart showing search processing for the optimal arrangement of the virtual machine 3.
The distributed application management unit 32 causes the VM distributed management arrangement unit 31 to repeat the optimal arrangement search process described below.
In step S10, the VM distribution management arrangement unit 31 calculates the stress value S (a) of the current distributed application 7 by using, for example, equation (5).
In Step S11, the VM distribution management arrangement unit 31 substitutes the current stress value for the minimum stress value.

VM分散管理配置部31は、ステップS12〜S19の処理を、分散アプリケーション7を構成する全ての仮想マシン3に繰り返す。このとき、処理対象の仮想マシン3のことを、当該VM(i)と記載する。iは、この仮想マシン3のインデックスである。
VM分散管理配置部31は、ステップS13〜S18の処理を、システムの全てのサーバ2について繰り返す。このとき、処理対象のサーバ2のことを、当該サーバ(x)と記載する。xは、このサーバ2のインデックスである。
The VM distribution management arrangement unit 31 repeats the processes of steps S12 to S19 for all the virtual machines 3 constituting the distributed application 7. At this time, the virtual machine 3 to be processed is referred to as the VM (i). i is an index of the virtual machine 3.
The VM distribution management arrangement unit 31 repeats the processing of steps S13 to S18 for all the servers 2 in the system. At this time, the server 2 to be processed is referred to as the server (x). x is an index of the server 2.

ステップS14において、VM分散管理配置部31は、当該サーバ(x)に当該VM(i)を配置したときのストレス値S(a,I,x)を算出する。
ステップS15において、VM分散管理配置部31は、当該ストレス値が最小ストレス値未満であるか否かを判断する。VM分散管理配置部31は、当該ストレス値が最小ストレス値未満でなかったならば(No)、ステップS18の処理を行い、当該ストレス値が最小ストレス値未満であったならば(Yes)、ステップS16の処理を行う。
In step S14, the VM distribution management arrangement unit 31 calculates a stress value S (a, I, x) when the VM (i) is arranged on the server (x).
In step S15, the VM distribution management arrangement unit 31 determines whether or not the stress value is less than the minimum stress value. If the stress value is not less than the minimum stress value (No), the VM distribution management arrangement unit 31 performs the process of step S18. If the stress value is less than the minimum stress value (Yes), the VM distribution management arrangement unit 31 performs step S18. The process of S16 is performed.

ステップS16において、VM分散管理配置部31は、当該ストレス値を最小ストレス値の変数に代入する。
ステップS17において、VM分散管理配置部31は、iminとxminとを保持する。ここでiminは、最小ストレス値を与える当該仮想マシン3のインデックス変数である。xminは、最小ストレス値を与える当該サーバ2のインデックス変数である。
ステップS18において、VM分散管理配置部31は、システムの全てのサーバ2について繰り返したか否かを判断する。VM分散管理配置部31は、システムの全てのサーバ2について繰り返していなかったならば、ステップS13に戻る。
ステップS19において、VM分散管理配置部31は、分散アプリケーション7の全ての仮想マシン3について繰り返したか否かを判断する。VM分散管理配置部31は、分散アプリケーション7の全ての仮想マシン3について繰り返していなかったならば、ステップS12に戻る。
In step S16, the VM distribution management arrangement unit 31 substitutes the stress value for the variable of the minimum stress value.
In step S <b> 17, the VM distribution management arrangement unit 31 holds imin and xmin. Here, imin is an index variable of the virtual machine 3 that gives the minimum stress value. xmin is an index variable of the server 2 that gives the minimum stress value.
In step S18, the VM distribution management arrangement unit 31 determines whether or not the process has been repeated for all the servers 2 in the system. If the VM distributed management arrangement unit 31 has not repeated the process for all the servers 2 in the system, the process returns to step S13.
In step S19, the VM distribution management arrangement unit 31 determines whether or not the process has been repeated for all the virtual machines 3 of the distributed application 7. If the VM distributed management arrangement unit 31 has not repeated for all the virtual machines 3 of the distributed application 7, the process returns to step S12.

ステップS20において、VM分散管理配置部31は、最小ストレス値が現在のストレス値未満であるか否かを判断する。VM分散管理配置部31は、最小ストレス値が現在のストレス値未満ならば(Yes)、ステップS21の処理を行い、最小ストレス値が現在のストレス値未満でなかったならば(No)、図8の処理を終了する。
ステップS21において、VM分散管理配置部31は、VM(imin)をサーバ(xmin)へ再配置する。すなわち、最小ストレス値を与えるように、仮想マシン3をサーバ2に再配置する。VM分散管理配置部31は、拠点管理サーバ4のVM配置管理部421に、VM(imin)をサーバ(xmin)に配置するように指示する。VM分散管理配置部31は、ステップS21の処理が終了すると、図8の処理を終了する。
In step S20, the VM distribution management arrangement unit 31 determines whether or not the minimum stress value is less than the current stress value. If the minimum stress value is less than the current stress value (Yes), the VM distribution management arrangement unit 31 performs the process of step S21. If the minimum stress value is not less than the current stress value (No), FIG. Terminate the process.
In step S <b> 21, the VM distribution management arrangement unit 31 rearranges VM (imin) to the server (xmin). That is, the virtual machine 3 is rearranged on the server 2 so as to give the minimum stress value. The VM distribution management arrangement unit 31 instructs the VM arrangement management unit 421 of the site management server 4 to arrange VM (imin) on the server (xmin). When the process of step S21 ends, the VM distribution management arrangement unit 31 ends the process of FIG.

図8に示した最適配置の探索処理のフローチャートは、分散アプリケーション7を構成する全ての仮想マシン3と配置先候補のサーバ2に対して総当たりで最適配置を探索する手順を示している。つまり、1つの仮想マシン3の再配置により最もストレス値が低くなる再配置パターン(imin,xmin)を全探索で発見し、現在のストレス値と比較して再配置後の構成でストレス値が改善する場合には、仮想マシン3を1つ再配置する。
例えば、図8に示した最適配置の探索処理をコンピュータプログラムとして実装して、CPU(Central Processing Unit)に実行させることにより、分散アプリケーション管理部32とVM分散管理配置部31とが具現化する。分散アプリケーション管理部32が定期的に最適配置の探索処理(図8参照)を実行することにより、分散アプリケーション7の仮想マシン3の配置は、徐々に最適構成に近づいてゆく。
なお、図8の処理は一例であり、再配置の探索方法についてはimin,xminの組をランダムで探索する方法なども考えられる。
The flowchart of the optimum arrangement search process shown in FIG. 8 shows a procedure for searching for the optimum arrangement for all the virtual machines 3 and the arrangement destination candidate servers 2 constituting the distributed application 7 in a brute force manner. In other words, a relocation pattern (imin, xmin) that has the lowest stress value due to the relocation of one virtual machine 3 is found by a full search, and the stress value is improved by the configuration after the relocation compared with the current stress value. If so, one virtual machine 3 is rearranged.
For example, the distributed application management unit 32 and the VM distributed management arrangement unit 31 are realized by implementing the optimal arrangement search process illustrated in FIG. 8 as a computer program and causing a CPU (Central Processing Unit) to execute the search process. When the distributed application management unit 32 periodically executes the optimum arrangement search process (see FIG. 8), the arrangement of the virtual machines 3 of the distributed application 7 gradually approaches the optimum configuration.
Note that the processing in FIG. 8 is an example, and as a rearrangement search method, a method of randomly searching for a set of imin and xmin may be considered.

図4に戻り、サーバ2−1の故障に備えて、分散アプリケーション7を構成する仮想マシン3−2,3−3を異なる2台のサーバ2−1,2−2に分散して配置する場合を考える。このとき、図4で示したように、2台の仮想マシン3−2,3−3間には、サーバ2=集線スイッチ13=サーバ2の3個の節が存在する。このときの仮想マシン間適正距離Dは、3となる。   Returning to FIG. 4, in a case where the virtual machines 3-2 and 3-3 constituting the distributed application 7 are distributed and arranged in two different servers 2-1 and 2-2 in preparation for a failure of the server 2-1. think of. At this time, as shown in FIG. 4, there are three nodes between the two virtual machines 3-2 and 3-3: server 2 = concentration switch 13 = server 2. The appropriate distance D between virtual machines at this time is 3.

激甚災害による拠点1−1全体の動作停止に備えて、分散アプリケーション7を構成する仮想マシン3−nを、別の拠点1−2の配下のサーバ2に配置する場合を考える。このとき、図4で示したように、2台の仮想マシン3−1,3−n間には、サーバ2=集線スイッチ13=中継スイッチ12=ルータ11=拠点間転送装置6=ルータ11=中継スイッチ12=集線スイッチ13=サーバ2の9個の節が存在する。このときの仮想マシン間適正距離Dは、9となる。   Consider a case in which the virtual machine 3-n constituting the distributed application 7 is arranged on the server 2 under another base 1-2 in preparation for the operation stop of the entire base 1-1 due to a severe disaster. At this time, as shown in FIG. 4, between the two virtual machines 3-1 and 3-n, the server 2 = concentration switch 13 = relay switch 12 = router 11 = inter-base transfer device 6 = router 11 = There are nine nodes: relay switch 12 = concentrator switch 13 = server 2. The appropriate distance D between virtual machines at this time is 9.

図示していないが、例えば集線スイッチ13の故障に備えて、分散アプリケーション7を構成する仮想マシン3を異なる2台の集線スイッチ13の配下のサーバ2に分散して配置する場合を考える。このとき2台の仮想マシン3間には、サーバ2=集線スイッチ13=中継スイッチ12=集線スイッチ13=サーバ2の5個の節が存在する。このときの仮想マシン間適正距離Dは、5となる。この仮想マシン間適正距離Dは、分散アプリケーション7毎に設定される。
分散アプリケーション7が、例えばVoIP(Voice over Internet Protocol)のように低レイテンシが要求され、かつ装置の故障時にサービス(通話)を継続することが求められない場合を考える。このときの仮想マシン間適正距離Dは、3であることが望ましい。これにより、分散アプリケーション7を構成する各仮想マシン3は、同一のサーバ2に集中して配置されず、かつ、最も小さい論理的距離となる。
Although not shown, for example, a case is considered in which the virtual machines 3 constituting the distributed application 7 are distributed and arranged in the servers 2 under the two different concentration switches 13 in preparation for the failure of the concentration switches 13. At this time, there are five nodes between the two virtual machines 3, server 2 = concentration switch 13 = relay switch 12 = concentration switch 13 = server 2. The appropriate distance D between virtual machines at this time is 5. The appropriate distance D between virtual machines is set for each distributed application 7.
Consider a case where the distributed application 7 is required to have low latency, such as VoIP (Voice over Internet Protocol), and it is not required to continue the service (call) when a device fails. At this time, the appropriate distance D between virtual machines is preferably 3. Thus, the virtual machines 3 constituting the distributed application 7 are not concentrated on the same server 2 and have the smallest logical distance.

分散アプリケーション7が、例えば契約者データベースのように、いずれかの装置の故障時にも継続してサービスを継続することが強く求められるが、低レイテンシが要求されない場合を考える。このときの仮想マシン間適正距離Dは、5または7であることが望ましい。仮想マシン間適正距離Dが5のとき、分散アプリケーション7を構成する各仮想マシン3は、異なる集線スイッチ13下のサーバ2に分散して配置され、かつ、最も小さい論理的距離となる。いずれかの集線スイッチ13またはサーバ2が故障しても、1台の仮想マシン3が稼働停止するのみであり、分散アプリケーション7は、それ以外の仮想マシン3で稼働を継続可能である。
仮想マシン間適正距離Dが7のとき、分散アプリケーション7を構成する各仮想マシン3は、異なる中継スイッチ12下のサーバ2に分散して配置され、かつ、最も小さい論理的距離となる。いずれかの中継スイッチ12、集線スイッチ13またはサーバ2が故障しても、1台の仮想マシン3が稼働停止するのみであり、分散アプリケーション7は、それ以外の仮想マシン3で稼働を継続可能である。仮想マシン間適正距離Dを選択することで、分散アプリケーション7は、装置の故障に対する所定の耐性と、所定のレイテンシとを得ることができる。
Consider a case where the distributed application 7 is strongly required to continue the service even when one of the devices fails, such as a contractor database, but low latency is not required. At this time, the appropriate distance D between virtual machines is preferably 5 or 7. When the appropriate distance D between the virtual machines is 5, the virtual machines 3 constituting the distributed application 7 are distributed and arranged in the servers 2 under different concentrator switches 13 and have the smallest logical distance. Even if any of the line concentrator switches 13 or the server 2 fails, only one virtual machine 3 stops operating, and the distributed application 7 can continue to operate on other virtual machines 3.
When the appropriate distance D between virtual machines is 7, the virtual machines 3 constituting the distributed application 7 are distributed and arranged in the servers 2 under different relay switches 12 and have the smallest logical distance. Even if one of the relay switches 12, the line concentrator switch 13, or the server 2 fails, only one virtual machine 3 stops operating, and the distributed application 7 can continue to operate on other virtual machines 3. is there. By selecting the appropriate inter-virtual machine distance D, the distributed application 7 can obtain a predetermined tolerance against a device failure and a predetermined latency.

本実施形態では、仮想マシン3間の適切な距離の維持と特定のサーバ2への密集回避を、ストレス値という定量評価尺度を用いることで数値的に表現している。これにより、最適化手順において、仮想マシン3の絶対的な位置を意識する必要が無くなる。よって、拠点1の構成変化に対して柔軟に対応可能である。   In the present embodiment, maintenance of an appropriate distance between the virtual machines 3 and avoidance of congestion to a specific server 2 are numerically expressed by using a quantitative evaluation scale called a stress value. Thereby, it is not necessary to be aware of the absolute position of the virtual machine 3 in the optimization procedure. Therefore, it is possible to flexibly cope with the configuration change of the base 1.

本実施形態の仮想化インフラシステム8では、分散アプリケーション7を構成する仮想マシン3を好適に配置することができる。また、本発明は、拠点1や各中継装置やサーバ2の構成が変化した場合でも有効である。そのため、単一装置が故障した場合や、激甚災害により拠点1の構成が変化した場合であっても、仮想化インフラシステム8は、自律的に変化後の構成に追従しながら仮想マシン3を好適に配置することができる。   In the virtual infrastructure system 8 of the present embodiment, the virtual machines 3 constituting the distributed application 7 can be suitably arranged. Further, the present invention is effective even when the configurations of the base 1, each relay device, and the server 2 are changed. Therefore, even when a single device fails or when the configuration of the base 1 changes due to a catastrophic disaster, the virtualization infrastructure system 8 preferably uses the virtual machine 3 while following the changed configuration autonomously. Can be arranged.

(変形例)
本実施の形態に係る仮想化インフラシステム8は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体に記憶して提供することが可能である。また、そのプログラムを、インターネットなどのネットワークを通して提供することも可能である。
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の(a)〜(c)のようなものがある。
(Modification)
The virtualization infrastructure system 8 according to the present embodiment can be realized by a program that executes the processing as described above, and can be provided by storing the program in a computer-readable recording medium. . It is also possible to provide the program through a network such as the Internet.
The present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit of the present invention. For example, there are the following (a) to (c).

(a) 本発明は、仮想マシン3で構成された分散アプリケーション7に限定されない。各サーバ2がプログラムを実行して具現化した各処理部によって分散アプリケーション7を構成し、この分散アプリケーション7の各処理部の配置に、本発明を適用してもよい。
(b) 本発明の設備構成グラフは、物理的なスイッチやルータのグラフ構造で示されていてもよい。設備構成グラフを物理的なスイッチやルータのグラフ構造とすることで、拠点1内に配備された各物理装置の故障に対する分散アプリケーション7の耐性を容易に評価可能となる。このとき、VM分散管理配置部31は、仮想マシン3が配置されるサーバ2間に存在する中継装置の数によって、この論理的距離を算出する。
(c) 本発明の仮想マシン3間の距離は、論理的距離に限られず、物理的な距離であってもよい。これにより、所定の距離だけ離れた各拠点1に、分散アプリケーション7を構成する各仮想マシン3を分散配置することができる。よって分散アプリケーション7は、激甚災害に対する耐性を得ることができる。
(A) The present invention is not limited to the distributed application 7 configured by the virtual machine 3. The distributed application 7 may be configured by each processing unit embodied by executing the program by each server 2, and the present invention may be applied to the arrangement of each processing unit of the distributed application 7.
(B) The equipment configuration graph of the present invention may be represented by a graph structure of a physical switch or router. By making the equipment configuration graph a graph structure of physical switches and routers, it becomes possible to easily evaluate the tolerance of the distributed application 7 against the failure of each physical device deployed in the base 1. At this time, the VM distributed management arrangement unit 31 calculates this logical distance based on the number of relay apparatuses existing between the servers 2 on which the virtual machines 3 are arranged.
(C) The distance between the virtual machines 3 of the present invention is not limited to a logical distance, and may be a physical distance. As a result, the virtual machines 3 constituting the distributed application 7 can be distributed and arranged at the bases 1 separated by a predetermined distance. Therefore, the distributed application 7 can obtain resistance against a catastrophic disaster.

1 拠点
11 ルータ
12 中継スイッチ
13 集線スイッチ
2 サーバ
21 VM管理部
3 仮想マシン (処理部)
31 VM分散管理配置部 (分散配置手段)
32 分散アプリケーション管理部
4 拠点管理サーバ
41 他拠点構成管理部 (拠点管理手段)
42 拠点内構成管理部 (拠点管理手段)
421 VM配置管理部
422 サーバ監視部
43 設備構成データベース
44 VM配置データベース
5 拠点間ネットワーク
6 拠点間転送装置
7 分散アプリケーション
8 仮想化インフラシステム (分散アプリケーション配置システム)
1 base 11 router 12 relay switch 13 line collecting switch 2 server 21 VM management unit 3 virtual machine (processing unit)
31 VM distributed management allocation unit (distributed allocation means)
32 Distributed application management unit 4 Site management server 41 Other site configuration management unit (site management means)
42 Site Configuration Management Department (site management means)
421 VM placement management unit 422 Server monitoring unit 43 Equipment configuration database 44 VM placement database 5 Inter-base network 6 Inter-base transfer device 7 Distributed application 8 Virtualization infrastructure system (Distributed application placement system)

Claims (6)

各拠点の一または複数のサーバと、
各前記サーバ間または/および各前記サーバと外部ネットワーク間の通信を中継する中継装置と、
当該拠点に係る前記中継装置および前記サーバの接続構成の情報を格納する設備構成データベースと、
分散アプリケーションを構成する各処理部を具現化する各プログラムを、それぞれ各前記拠点の前記サーバに実行させる拠点管理手段と、
前記設備構成データベースに基づいて、同一の分散アプリケーションを構成する各前記処理部間の論理的距離を算出し、前記論理的距離が適正距離となるように、各前記処理部を具現化する各プログラムを実行させるサーバを選択する分散配置手段と、
を備えることを特徴とする分散アプリケーション配置システム。
One or more servers at each location;
A relay device that relays communication between the servers or / and between the servers and an external network;
A facility configuration database for storing information on the connection configuration of the relay device and the server according to the base;
Site management means for causing each server at each site to execute each program that embodies each processing unit constituting a distributed application;
Based on the facility configuration database, each program that calculates the logical distance between the processing units constituting the same distributed application and realizes the processing units so that the logical distance is an appropriate distance. Distributed arrangement means for selecting a server to execute
A distributed application placement system comprising:
前記分散配置手段は、各前記処理部を具現化するプログラムを実行させる各サーバ間に存在する中継装置の数によって前記論理的距離を算出する、
ことを特徴とする請求項1に記載の分散アプリケーション配置システム。
The distributed arrangement means calculates the logical distance according to the number of relay devices existing between servers that execute a program that embodies the processing units.
The distributed application placement system according to claim 1.
前記分散アプリケーションを構成する各前記処理部は、仮想マシンとして具現化される、
ことを特徴とする請求項1に記載の分散アプリケーション配置システム。
Each of the processing units constituting the distributed application is embodied as a virtual machine.
The distributed application placement system according to claim 1.
前記適正距離は、同一の中継装置を介して接続される異なる2台のサーバ上に具現化される2個の処理部間の論理的距離である、
ことを特徴とする請求項1に記載の分散アプリケーション配置システム。
The appropriate distance is a logical distance between two processing units embodied on two different servers connected via the same relay device.
The distributed application placement system according to claim 1.
前記適正距離は、同一の集線スイッチに接続される異なる2台のサーバ上に具現化される2個の処理部間の論理的距離である、
ことを特徴とする請求項1に記載の分散アプリケーション配置システム。
The appropriate distance is a logical distance between two processing units embodied on two different servers connected to the same line switch.
The distributed application placement system according to claim 1.
前記分散配置手段は更に、各前記サーバにおける各前記処理部の密集度を加味して、各前記処理部を具現化する各プログラムを動作させるサーバを決定する、
ことを特徴とする請求項1に記載の分散アプリケーション配置システム。
The distributed arrangement means further determines a server for operating each program that embodies each processing unit, taking into account the density of each processing unit in each server.
The distributed application placement system according to claim 1.
JP2014178766A 2014-09-03 2014-09-03 Distributed application placement system Active JP6243817B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014178766A JP6243817B2 (en) 2014-09-03 2014-09-03 Distributed application placement system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014178766A JP6243817B2 (en) 2014-09-03 2014-09-03 Distributed application placement system

Publications (2)

Publication Number Publication Date
JP2016053781A true JP2016053781A (en) 2016-04-14
JP6243817B2 JP6243817B2 (en) 2017-12-06

Family

ID=55744289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014178766A Active JP6243817B2 (en) 2014-09-03 2014-09-03 Distributed application placement system

Country Status (1)

Country Link
JP (1) JP6243817B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153955A (en) * 2018-03-05 2019-09-12 日本電気株式会社 Base station system and node device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
JP2012221045A (en) * 2011-04-05 2012-11-12 Toshiba Corp Information processing device and information processing program
JP2013152622A (en) * 2012-01-25 2013-08-08 Ntt Data Corp Virtual machine arrangement device and virtual machine arrangement method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
JP2012221045A (en) * 2011-04-05 2012-11-12 Toshiba Corp Information processing device and information processing program
JP2013152622A (en) * 2012-01-25 2013-08-08 Ntt Data Corp Virtual machine arrangement device and virtual machine arrangement method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153955A (en) * 2018-03-05 2019-09-12 日本電気株式会社 Base station system and node device
JP7151101B2 (en) 2018-03-05 2022-10-12 日本電気株式会社 Base station system and node equipment

Also Published As

Publication number Publication date
JP6243817B2 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
Kang et al. An SDN-enhanced load-balancing technique in the cloud system
Cardellini et al. On QoS-aware scheduling of data stream applications over fog computing infrastructures
US9756121B2 (en) Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration
JP5914245B2 (en) Load balancing method considering each node of multiple layers
EP3002914B1 (en) A network entity for programmably arranging an intermediate node for serving communications between a source node and a target node
US10498590B1 (en) Data structure for service path restoration in data communication networks
AU2021208652B2 (en) Master data placement in distributed storage systems
Zhao et al. Scalable SDN architecture with distributed placement of controllers for WAN
EP3183848B1 (en) Optimization framework for multi-tenant data centers
CN111641567B (en) Dynamic network bandwidth allocation and management based on centralized controller
Wang et al. Virtual servers co-migration for mobile accesses: Online versus off-line
JP6176734B2 (en) Virtual machine placement determination apparatus, method and program thereof
US20170123941A1 (en) Distributed processing system
JP5740652B2 (en) Computer system and subsystem management method
JP6243817B2 (en) Distributed application placement system
CN115208770B (en) Method, apparatus and computer readable medium for implementing network planning
Banerjee et al. EXPRL: experience and prediction based load balancing strategy for multi-controller software defined networks
Pashkov et al. On high availability distributed control plane for software-defined networks
Chemodanov et al. A near optimal reliable orchestration approach for geo-distributed latency-sensitive SFCs
US20210111958A1 (en) Identifying a path for interconnecting endpoint resources to construct logical systems
Thakur A Novel Load Balancing approach in Software Defined Network
Kushwah A survey on load balancing techniques using ACO algorithm
Demydov et al. The research of the availability at cloud service systems
Anwar et al. Evaluating Cloud & Fog Computing based on Shifting & Scheduling Algorithms, Latency Issues and service Architecture.
KR20180052927A (en) virtual machine placement method in a virtual machine based service function chaining

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171110

R150 Certificate of patent or registration of utility model

Ref document number: 6243817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150