JP4739272B2 - Load distribution apparatus, virtual server management system, load distribution method, and load distribution program - Google Patents

Load distribution apparatus, virtual server management system, load distribution method, and load distribution program Download PDF

Info

Publication number
JP4739272B2
JP4739272B2 JP2007110814A JP2007110814A JP4739272B2 JP 4739272 B2 JP4739272 B2 JP 4739272B2 JP 2007110814 A JP2007110814 A JP 2007110814A JP 2007110814 A JP2007110814 A JP 2007110814A JP 4739272 B2 JP4739272 B2 JP 4739272B2
Authority
JP
Japan
Prior art keywords
load
genes
physical
physical server
servers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007110814A
Other languages
Japanese (ja)
Other versions
JP2008269250A (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 Advanced Engineering Ltd
Original Assignee
Fujitsu Advanced Engineering 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 Advanced Engineering Ltd filed Critical Fujitsu Advanced Engineering Ltd
Priority to JP2007110814A priority Critical patent/JP4739272B2/en
Publication of JP2008269250A publication Critical patent/JP2008269250A/en
Application granted granted Critical
Publication of JP4739272B2 publication Critical patent/JP4739272B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラムに関し、特に、物理サーバ上で稼働される仮想サーバの稼働状況に基づいて物理サーバの負荷分散を行う方法に適用して好適なものである。   The present invention relates to a load distribution device, a virtual server management system, a load distribution method, and a load distribution program, and in particular, applied to a method of performing load distribution on a physical server based on the operating status of a virtual server operating on the physical server. Is preferred.

複数台の物理サーバが必要だった業務を1台の物理サーバ上で実行できるようにするために、1台の物理サーバ上で複数台分の仮想サーバを動作させ、各仮想サーバ上でアプリケーションを使用できるようにするサーバ仮想化技術が普及してきている。また、このサーバ仮想化技術では、1台の物理サーバ上で複数台分の仮想サーバを動作させることができるため、リソース要求の変化に柔軟に対応しながら、1台または複数台の物理サーバが持っているリソースを仮想サーバ上で効率よく割振ることができる。 In order to execute a task that required multiple physical servers on one physical server, multiple virtual servers are operated on one physical server, and applications can be executed on each virtual server. Server virtualization technologies that enable use are becoming widespread. Also, with this server virtualization technology, since multiple virtual servers can be operated on one physical server, one or more physical servers can be flexibly adapted to changes in resource requirements. it is possible to shake Ri efficiently split and have the resources on the virtual server with.

また、例えば、特許文献1には、クライアントからの要求量の多寡に応じてサーバ台数を増減するCoDシステムにおいて、クライアントとCoDシステムとの間に中継制御装置を設け、受け付けた処理要求をいったん蓄積するとともに、現在の処理能力を超える要求がCoDシステムに流入しないよう制御することで、要求量の突発増に伴うシステムの過負荷、ひいてはそれに伴う応答時間の悪化、要求の破棄、システムの不安定化などを回避する方法が開示されている。   Also, for example, in Patent Document 1, in a CoD system that increases or decreases the number of servers according to the amount of requests from clients, a relay control device is provided between the clients and the CoD system to temporarily store received processing requests. At the same time, by controlling so that requests exceeding the current processing capacity do not flow into the CoD system, the system is overloaded due to sudden increase in the request amount, and consequently the response time is deteriorated, the request is discarded, the system is unstable. A method for avoiding the conversion is disclosed.

また、例えば、特許文献2には、要求量予測値が示す量のトラフィックが当該ネットワークサービスに到着した場合に、利用者端末に対する応答時間の平均が運用管理者が予め定めた応答閾値以下となるように、当該ネットワークサービスに割り当てられるサーバの量を制御することで、データセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずにリアルタイムに自動的に行う方法が開示されている。
特開2005−250548号公報 WO2004/092971号公報
Further, for example, in Patent Document 2, when the amount of traffic indicated by the request amount prediction value arrives at the network service, the average response time for the user terminal is equal to or less than a response threshold predetermined by the operation manager. Thus, by controlling the amount of servers allocated to the network service, there is a method for automatically distributing the servers in the data center to each network service in real time to the load balancer without human intervention. It is disclosed.
JP-A-2005-250548 WO2004 / 092971

しかしながら、従来のサーバ仮想化技術では、リソース要求を考慮しながら物理サーバが持っているリソースを仮想サーバ上で割り振ることはできるが、物理サーバの処理能力や消費電力、物理サーバの割り付け台数や異常時の縮退容量などの様々の条件を考慮しながら、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることができないという問題があった。
そこで、本発明の目的は、様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることが可能な負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラムを提供することである。
However, with the conventional server virtualization technology, the resources possessed by the physical server can be allocated on the virtual server in consideration of resource requirements, but the processing capacity and power consumption of the physical server, the number of allocated physical servers and abnormalities Considering various conditions such as degenerate capacity at the time, there is a problem that resources possessed by the physical server cannot be efficiently allocated on the virtual server.
Accordingly, an object of the present invention is to provide a load distribution device, a virtual server management system, a load distribution method, and a load that can efficiently allocate resources possessed by a physical server on a virtual server while considering various allocation conditions. To provide a distributed program.

上述した課題を解決するために、請求項1記載の負荷分散装置によれば、複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集する負荷状況収集手段と、前記複数の仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバにかかる負荷を割り付ける負荷割付手段と、前記負荷割付手段にて割り付けられた負荷を前記物理サーバに分散する負荷分散手段とを備え、前記負荷割付手段は、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする。
また、請求項2記載の負荷分散装置によれば、前記負荷割付手段は、前記物理サーバにかかる負荷が前記物理サーバの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることを特徴とする。
In order to solve the above-described problem, according to the load distribution apparatus of claim 1, a load status collection unit that collects a load status of a system operated on a plurality of virtual servers from a plurality of physical servers, and the plurality Load allocation means for allocating the load applied to the physical server according to a genetic algorithm in which the load capacity of the system operated by the virtual server is expressed by a gene sequence, and the load allocated by the load allocation means is the physical server and a load distribution unit for distributing to the load allocating means, while setting the reference unit obtained by dividing the capacity of the processor of the physical server into a plurality as a single gene, running on the plurality of virtual servers Each system is assigned an individual symbol, and the load capacity of each system is divided by the reference unit. By arranging the same number of symbols, each of the plurality of systems is represented by a plurality of genes composed of the same symbols, and the number of symbols of each system is arranged according to the priority order of the plurality of systems. From the representation of the whole of the plurality of systems in one gene sequence, a gene is selected from a gene having an initial solid selection width using a random number according to an initial solid generation order to generate a plurality of initial solids. When the genes having the earliest order in the solid selection width are selected by the number of the system, the selection target is changed to the next gene in the initial solid selection width, and the number of genes assigned to the initial solid is the plurality of genes. Until the total number of genes in the system matches, the process after the process of generating the initial solid using the random number is repeated, and the initial When the number of genes assigned to the body matches the total number of genes of the plurality of systems, the solid genes obtained by repeating the selection and crossover according to the genetic algorithm from the plurality of initial individuals at that time are assigned. wherein the sequential assignment Rukoto to the physical servers within the load capacity set in the physical server in question.
The load distribution device according to claim 2, wherein the load allocating unit allocates the load so that the load applied to the physical server falls within a predetermined range of processing capacity of the physical server. To do.

また、請求項3記載の負荷分散装置によれば、前記負荷割付手段は、現在稼動されている物理サーバにかかる負荷が上限値を超えている場合、前記物理サーバにかかる負荷が上限値を超えないように、前記物理サーバにかかる負荷を割り付け直すことを特徴とする。
また、請求項4記載の負荷分散装置によれば、前記負荷割付手段は、前記仮想サーバ上で前記システムが稼動される物理サーバの停止予定がある場合、前記停止予定がある物理サーバ上で稼動されるシステムの負荷を他の物理サーバに割り付け直すことを特徴とする。
According to a third aspect of the load distribution apparatus, when the load on the currently operating physical server exceeds the upper limit, the load on the physical server exceeds the upper limit. So that the load applied to the physical server is reassigned.
According to a fourth aspect of the present invention, the load allocating unit operates on the physical server on which the system is scheduled to stop when the physical server on which the system is operated on the virtual server is scheduled to be stopped. The system load is reassigned to another physical server.

また、請求項記載の仮想サーバ管理システムによれば、複数の物理サーバと、前記物理サーバ上でそれぞれ起動される複数の仮想サーバと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出し、前記算出した負荷を前記物理サーバに分散する負荷分散装置とを備え、前記負荷分散装置は、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする。 According to the virtual server management system according to claim 5 , a plurality of physical servers, a plurality of virtual servers respectively started on the physical server, and a load capacity of a system operated on the virtual servers are arranged in a gene array according the represented genetic algorithm in the calculated load allocated to each physical server, the load the calculated and a load balancer to distribute the physical servers, the load balancer of the physical server While setting the reference unit obtained by dividing the processing capacity of the processor into a plurality of genes as one gene, each of the plurality of systems operated by the plurality of virtual servers is assigned with individual symbols, and the load on each system By arranging the number of the symbols based on the value obtained by dividing the capacity by the reference unit, that of the plurality of systems is arranged. This is expressed by a gene consisting of a plurality of the same symbols, and by arranging the number of symbols of each system according to the priority order of the plurality of systems, the whole of the plurality of systems is expressed by one gene sequence, Select a gene using a random number from the genes with the initial solid selection width according to the initial solid generation order to generate multiple initial solids, and select the genes with the earliest order in the initial solid selection width as many as the number of the system. Then, the order of selection in the initial solid selection width is changed to the next gene, and the initial number is selected using the random number until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems. The processes after the process of generating the solid are repeated, and the number of genes assigned to the initial solid is equal to the total number of genes of the plurality of systems. In this case, a solid gene obtained by repeating the selection and crossover from a plurality of initial individuals at that time according to the genetic algorithm is transferred to the physical server within the range of the load capacity set for the physical server to be allocated. sequentially and wherein the allocation Rukoto.

また、請求項記載の負荷分散方法によれば、複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップと、をコンピュータに実行させるようになっており、前記物理サーバごとに割り付けられる負荷を算出するステップでは、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする。 Further, according to the load balancing method of claim 6, the step of collecting the load status of the system operated on the plurality of virtual servers from the plurality of physical servers, and the load capacity of the system operated on the virtual server include according to the genetic algorithm expressed by the gene sequence, a step of calculating the load to be allocated for each of the physical server, so as to perform load assigned to each of the physical servers and the step of dispersing the physical server, to a computer In the step of calculating the load assigned to each physical server, a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of sets is set as one gene, while the plurality of virtual servers In addition to assigning individual symbols to each of the multiple systems operating in By arranging the number of the symbols based on the value obtained by dividing the load capacity of the system by the reference unit, each of the plurality of systems is expressed by a gene composed of a plurality of the same symbols, and the priority of the plurality of systems is expressed. A gene using a random number among genes of an initial solid selection width according to an initial solid generation order from a plurality of systems expressed as a single gene sequence by arranging the number of symbols of each system according to rank To generate a plurality of initial solids, and when the genes having the earliest order in the initial solid selection width are selected by the number of the system, the selection target is changed to the next gene in the initial solid selection width. The initial solid is generated using the random number until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems. When the number of genes assigned to the initial individual matches the total number of genes of the plurality of systems, the selection and selection are further performed from the plurality of initial individuals at that time according to a genetic algorithm. It is characterized in that the solid genes obtained by repetition are sequentially allocated to the physical servers within the range of the load capacity set for the physical servers to be allocated .

また、請求項記載の負荷分散プログラムによれば、複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとをコンピュータに実行させるものであって、前記物理サーバごとに割り付けられる負荷を算出するステップでは、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする。 According to the load distribution program of claim 7, the step of collecting the load status of the system operated on the plurality of virtual servers from the plurality of physical servers, and the load capacity of the system operated on the virtual server include according to the genetic algorithm expressed by the gene sequence, which is executed a step of calculating the load to be allocated for each of the physical server, the steps of dispersing a load assigned to each of the physical servers on the physical server, to a computer In the step of calculating the load allocated to each physical server, a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of genes is set as one gene, while the plurality of virtual servers Individual symbols are assigned to each of a plurality of operating systems, and By arranging the number of symbols based on the value obtained by dividing the system load capacity by the reference unit, each of the plurality of systems is expressed by a gene consisting of a plurality of the same symbols, and the priority of the plurality of systems is expressed. A gene using a random number among genes of an initial solid selection width according to an initial solid generation order from a plurality of systems expressed as a single gene sequence by arranging the number of symbols of each system according to rank To generate a plurality of initial solids, and when the genes having the earliest order in the initial solid selection width are selected by the number of the system, the selection target is changed to the next gene in the initial solid selection width. The initial solid is generated using the random number until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems. When the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, the culling and crossover are further performed from the initial individuals at that time according to a genetic algorithm. It is characterized in that the solid genes obtained by repetition are sequentially allocated to the physical servers within the range of the load capacity set for the physical servers to be allocated .

以上説明したように、本発明によれば、遺伝的アルゴリズムに従って、仮想サーバで稼動されるシステムに割り付けられる負荷を所定の割り付け条件を満たすように物理サーバごとに算出することができ、様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることが可能となる。   As described above, according to the present invention, according to a genetic algorithm, the load allocated to a system operated on a virtual server can be calculated for each physical server so as to satisfy a predetermined allocation condition. It is possible to efficiently allocate the resources possessed by the physical server on the virtual server while considering the conditions.

以下、本発明の実施形態に係る負荷分散装置について図面を参照しながら説明する。
図1は、本発明の第1実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
図1において、仮想サーバ管理システムには、n(nは2以上の整数)台の物理サーバ1a、1b・・・、1nが設けられている。そして、物理サーバ1aは、m(mは2以上の整数)台の仮想サーバ2a、2b、・・・、2mを起動できるように構成され、物理サーバ1bは、m台の仮想サーバ3a、3b、・・・、3mを起動できるように構成され、物理サーバ1cは、m台の仮想サーバ4a、4b、・・・、4mを起動できるように構成され、物理サーバ1nはm台の仮想サーバ5a、5b、・・・、5mを起動できるように構成されている。
Hereinafter, a load distribution apparatus according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration of a virtual server management system to which the load distribution apparatus according to the first embodiment of the present invention is applied.
In FIG. 1, the virtual server management system is provided with n (n is an integer of 2 or more) physical servers 1a, 1b,. The physical server 1a is configured such that m (m is an integer of 2 or more) virtual servers 2a, 2b,..., 2m can be started, and the physical server 1b is configured with m virtual servers 3a and 3b. ,..., 3m can be started, the physical server 1c is configured to start m virtual servers 4a, 4b,..., 4m, and the physical server 1n is m virtual servers. 5a, 5b,..., 5m can be activated.

なお、物理サーバとは、ハードウェアによってそれぞれ1台のサーバとして動作するように構成されたものをいい、仮想サーバとは、フトウェアによってそれぞれ1台のサーバとして動作するように物理サーバ上に構成されたものをいう。そして、仮想サーバ上では、Windows(登録商標)などのオペレーティングシステムを個別に立ち上げることができる。このため、物理サーバ上に複数の仮想サーバを搭載することで、1台の物理サーバ上に複数のオペレーティングシステムを個別に立ち上げることができる。
そして、1台の物理サーバ上で複数台の仮想サーバを起動できるように構成する場合、例えば、サーバ仮想化ソフトを物理サーバ上にインストールすることにより実現することができる。
Note that the physical servers, referred to herein is configured to operate as a respective single server hardware, and virtual servers, configured on a physical server to operate as a respective one server by software It means what was done. An operating system such as Windows (registered trademark) can be individually started up on the virtual server. For this reason, by mounting a plurality of virtual servers on a physical server, a plurality of operating systems can be individually started up on one physical server.
And when it comprises so that a several virtual server can be started on one physical server, it can implement | achieve, for example by installing server virtualization software on a physical server.

また、仮想サーバ管理システムには、物理サーバ1a、1b・・・、1nにかかる負荷を仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mに分散する負荷分散装置6が設けられている。そして、負荷分散装置6には、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5m上で稼動されるシステムの負荷状況を複数の物理サーバ1a、1b・・・、1nから収集する負荷状況収集手段7、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、物理サーバ1a、1b・・・、1nごとに割り付けられる負荷を算出する負荷割付手段8および負荷割付手段8にて算出された負荷を物理サーバ1a、1b・・・、1nに分散する負荷分散手段9が設けられている。   Further, the virtual server management system includes loads on the physical servers 1a, 1b,..., 1n that are applied to the virtual servers 2a, 2b,..., 2m, 3a, 3b,. .. 4m, 5a, 5b,..., A load distribution device 6 that distributes to 5m is provided. The load distribution device 6 includes virtual servers 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m, 5a, 5b, ..., 5m. .., 1n that collects the load status of the system operated on the plurality of physical servers 1a, 1b,..., 1n, virtual servers 2a, 2b,..., 2m, 3a, 3b,. 3m, 4a, 4b,..., 4m, 5a, 5b,..., 5m. Load allocation means 8 for calculating the load allocated for each 1n, and load distribution means 9 for distributing the load calculated by the load allocation means 8 to the physical servers 1a, 1b,.

なお、ここで言う仮想サーバとは、webサーバ上で動作するアプリケーションであってもよいし、業務向けのシステムであってもよい。
そして、負荷状況収集手段7は、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5m上で稼動されるシステムの負荷状況を複数の物理サーバ1a、1b・・・、1nから収集し、その負荷状況を負荷割付手段8に通知する。そして、負荷割付手段8は、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、物理サーバ1a、1b・・・、1nにかかる負荷を割り付け、その割り付け結果を負荷分散手段9に通知する。そして、負荷分散手段9は、負荷割付手段8にて割り付けられた負荷を物理サーバ1a、1b・・・、1nに分散することができる。
The virtual server referred to here may be an application that runs on a web server or a business-oriented system.
And the load condition collection means 7 is virtual server 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m, 5a, 5b, ..., 5m. The load status of the system operated above is collected from a plurality of physical servers 1a, 1b,..., 1n, and the load status is notified to the load allocation means 8. And the load allocation means 8 is virtual server 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m, 5a, 5b, ..., 5m. In accordance with a genetic algorithm in which the load capacity of the system to be operated is expressed by a gene sequence, the load applied to the physical servers 1a, 1b..., 1n is allocated, and the allocation result is notified to the load distribution means 9. The load distribution unit 9 can distribute the load allocated by the load allocation unit 8 to the physical servers 1a, 1b,.

すなわち、物理サーバ1a、1b・・・、1nにかかる負荷を割り付ける場合、負荷割付手段8は、プロセッサの処理能力を分割した基準単位を1つの遺伝子として、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムの負荷容量が遺伝子の配列で表現された固体を生成することができる。
そして、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返し、その時に得られた固体の遺伝子を、割り付け対象となる物理サーバ1a、1b・・・、1nに設定された負荷容量の範囲内で物理サーバ1a、1b・・・、1nに順次割り付けることができる。
That is, when allocating the load applied to the physical servers 1a, 1b,..., 1n, the load allocating means 8 uses the reference unit obtained by dividing the processing capacity of the processor as one gene, and the virtual servers 2a, 2b,. 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m, 5a, 5b, ... Generates a solid in which the load capacity of the system operating at 5m is expressed by gene sequences can do.
Then, the solid wrinkles and crossovers are repeated according to the genetic algorithm, and the solid gene obtained at that time is assigned to the physical server within the range of the load capacity set in the physical servers 1a, 1b,. 1a, 1b,..., 1n can be assigned sequentially.

そして、物理サーバ1a、1b・・・、1nに固体の遺伝子が割り付けられると、それらの物理サーバ1a、1b・・・、1nに割り付けられた固体の遺伝子に基づいて、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムに割り付けられる負荷を物理サーバ1a、1b・・・、1nごとに算出することができる。
そして、物理サーバ1a、1b・・・、1nごとにシステムに割り付けられる負荷が所定の割り付け条件を満たすようになるまで、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返すことができる。
Then, when a solid gene is assigned to the physical servers 1a, 1b,..., 1n, based on the solid genes assigned to the physical servers 1a, 1b. ... 2m, 3a, 3b, ... 3m, 4a, 4b, ... 4m, 5a, 5b, ... Loads assigned to the system operating at 5m are the physical servers 1a, 1b ... can be calculated every 1n.
Then, solid dredging and crossover can be repeated according to the genetic algorithm until the load allocated to the system for each physical server 1a, 1b,..., 1n satisfies a predetermined allocation condition.

そして、物理サーバ1a、1b・・・、1nにかかる負荷が負荷割付手段8にて割り付けられると、負荷分散手段9は、負荷割付手段8にて算出された負荷を物理サーバ1a、1b・・・、1nに分散することができる。そして、物理サーバ1a、1b・・・、1nは、負荷割付手段8にて算出された負荷に従って、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5m上でシステムを稼動させることができる。
なお、物理サーバ1a、1b・・・、1nにかかる負荷を割り付ける条件としては、例えば、物理サーバ1a、1b・・・、1nにかかる負荷が物理サーバ1a、1b・・・、1nの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることができる。
When the load applied to the physical servers 1a, 1b,..., 1n is allocated by the load allocation unit 8, the load distribution unit 9 converts the load calculated by the load allocation unit 8 into the physical servers 1a, 1b,. -It can be distributed to 1n. The physical servers 1a, 1b,..., 1n are virtual servers 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, according to the load calculated by the load assigning means 8. The system can be operated on 4b, ..., 4m, 5a, 5b, ..., 5m.
As a condition for assigning the load on the physical servers 1a, 1b,..., 1n, for example, the load on the physical servers 1a, 1b. The load can be allocated so as to fall within a predetermined range.

あるいは、物理サーバ1a、1b・・・、1nが稼動されている状態で、例えば、物理サーバ1aにかかる負荷が上限値を超えている場合、物理サーバ1aにかかる負荷が上限値を超えないように、物理サーバ1a、1b・・・、1nにかかる負荷を割り付け直すことができる。
あるいは、例えば、仮想サーバ2a、2b、・・・、2m上でシステムが稼動される物理サーバ1aの停止予定がある場合、その物理サーバ1a上で稼動されるシステムの負荷を他の物理サーバ1b・・・、1nに割り付け直すことができる。
Alternatively, when the physical servers 1a, 1b,..., 1n are operating, for example, when the load on the physical server 1a exceeds the upper limit value, the load on the physical server 1a does not exceed the upper limit value. In addition, the load on the physical servers 1a, 1b,.
Alternatively, for example, when there is a plan to stop the physical server 1a on which the system is operated on the virtual servers 2a, 2b,..., 2m, the load on the system operated on the physical server 1a is set to another physical server 1b. ... can be reassigned to 1n.

これにより、遺伝的アルゴリズムに従って、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムに割り付けられる負荷を所定の割り付け条件を満たすように物理サーバ1a、1b・・・、1nごとに算出することができ、様々の割り付け条件を考慮しつつ、物理サーバ1a、1b・・・、1nが持っているリソースを仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5m上に効率よく割り振ることが可能となる。   Thus, according to the genetic algorithm, the virtual servers 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m, 5a, 5b, ..., 5m The load allocated to the system to be operated can be calculated for each of the physical servers 1a, 1b,..., 1n so as to satisfy a predetermined allocation condition, and the physical servers 1a, 1b,. .., 2m, 3a, 3b,..., 3m, 4a, 4b,..., 4m, 5a, 5b,. It becomes possible to allocate efficiently over 5m.

図2は、本発明の一実施形態に係る仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法の一例を示す図である。
図2において、例えば、A社のaシステムが図1の物理サーバ1a上で稼動され、B社のbシステムが図1の物理サーバ1b上で稼動され、C社のcシステムが図1の物理サーバ1c上で稼動されているものとする。
FIG. 2 is a diagram showing an example of a method for allocating a system operating on a virtual server according to an embodiment of the present invention onto a physical server.
In FIG. 2, for example, the A system of company A is operated on the physical server 1a of FIG. 1, the b system of company B is operated on the physical server 1b of FIG. 1, and the c system of company C is the physical system of FIG. It is assumed that it is operating on the server 1c.

そして、図1の負荷割り付け装置6は、A社のaシステム、B社のbシステムおよびC社のcシステムの物理サーバ1a、1b、1c上での負荷容量を時刻単位または日単位で収集することができる。そして、物理サーバ1a上におけるA社のaシステムの負荷容量が月の前半で高く、物理サーバ1b上におけるB社のbシステムの負荷容量が月の中間で高く、物理サーバ1c上におけるC社のcシステムの負荷容量が月の後半で高いものとすると、負荷割り付け装置6は、A社のaシステム、B社のbシステムおよびC社のcシステムの負荷容量を1台の物理サーバ1aに割り付け、A社のaシステム、B社のbシステムおよびC社のcシステムの負荷容量を1台の物理サーバ1aに負担させることができる。   1 collects the load capacities on the physical servers 1a, 1b, and 1c of company A's system a, company B's system b, and company C's system c in time units or days. be able to. The load capacity of company A's system a on the physical server 1a is high in the first half of the month, and the load capacity of company B's system b on the physical server 1b is high in the middle of the month. Assuming that the load capacity of the c system is high in the second half of the month, the load allocation device 6 allocates the load capacity of the A system of company A, the b system of company B and the c system of company C to one physical server 1a. The load capacity of the A system of company A, the b system of company B, and the c system of company C can be borne by one physical server 1a.

そして、A社のaシステム、B社のbシステムおよびC社のcシステムの負荷容量が物理サーバ1aに割り付けられると、物理サーバ1aは仮想サーバ2a、2b、2cを起動し、A社のaシステムを仮想サーバ2a上で動作させ、B社のbシステムを仮想サーバ2b上で動作させ、C社のcシステムを仮想サーバ2c上で動作させることができる。   When the load capacities of company A's a system, company B's b system, and company C's c system are allocated to physical server 1a, physical server 1a starts virtual servers 2a, 2b, and 2c, and company A's a The system can be operated on the virtual server 2a, the B system of company B can be operated on the virtual server 2b, and the c system of company C can be operated on the virtual server 2c.

図3は、本発明の第2実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。
図3において、仮想サーバ管理システムには、n台の物理サーバ11a、11b・・・、11nが設けられている。そして、物理サーバ11aは、m台の仮想サーバ12a、12b、・・・、12mを起動できるように構成され、物理サーバ11bは、m台の仮想サーバ13a、13b、・・・、13mを起動できるように構成され、物理サーバ11cは、m台の仮想サーバ14a、14b、・・・、14mを起動できるように構成され、物理サーバ11nはm台の仮想サーバ15a、15b、・・・、15mを起動できるように構成されている。
FIG. 3 is a block diagram showing a schematic configuration of a virtual server management system to which the load distribution apparatus according to the second embodiment of the present invention is applied.
3, the virtual server management system is provided with n physical servers 11a, 11b,. The physical server 11a is configured to start m virtual servers 12a, 12b,..., 12m, and the physical server 11b starts m virtual servers 13a, 13b,. The physical server 11c is configured to start m virtual servers 14a, 14b,..., 14m, and the physical server 11n is configured to m virtual servers 15a, 15b,. 15m can be activated.

そして、物理サーバ11aには、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績データ19、稼動実績収集手段20、仮想マシン制御手段21、仮想マシン電源制御指示手段22が設けられている。なお、図3には示してないが、他の物理サーバ11b・・・、11nにも、物理サーバ11aと同様に、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績データ19、稼動実績収集手段20、仮想マシン制御手段21を設けることができる。   The physical server 11a includes a virtual machine management manager 16, an operation status collection unit 17, an operation result transmission unit 18, an operation result data 19, an operation result collection unit 20, a virtual machine control unit 21, and a virtual machine power control instruction unit 22. Is provided. Although not shown in FIG. 3, the virtual machine management manager 16, the operation status collection unit 17, the operation result transmission unit 18, and the operation are performed on the other physical servers 11 b... 11 n as well as the physical server 11 a. Achievement data 19, operation achievement collection means 20, and virtual machine control means 21 can be provided.

ここで、仮想マシン管理マネージャ16は、仮想サーバ12a、12b、・・・、12mの負荷容量を管理したり、仮想サーバ12a、12b、・・・、12mの起動や停止を物理サーバ11aに指示したりすることができる。稼動状況収集手段17は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動状況を収集し、それらの稼動状況の送信要求を負荷分散装置31に行うことができる。稼動実績送信手段18は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動実績の送信要求を負荷分散装置31に定期的に行うことができる。   Here, the virtual machine management manager 16 manages the load capacity of the virtual servers 12a, 12b,..., 12m, and instructs the physical server 11a to start and stop the virtual servers 12a, 12b,. You can do it. The operation status collection means 17 can collect the operation status of the physical server 11a and the virtual servers 12a, 12b,..., 12m, and send a request for transmission of the operation status to the load balancer 31. The operation result transmission means 18 can periodically make a request to transmit the operation results of the physical server 11a and the virtual servers 12a, 12b,.

稼動実績収集手段20は、物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mの稼動実績を収集し、稼動実績データ19を生成することができる。仮想マシン制御手段21は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mに割り付けられた負荷に基づいて、仮想サーバ12a、12b、・・・、12mの起動や停止を仮想マシン管理マネージャ16に指示することができる。送受信制御手段23は、物理サーバ11aと負荷分散装置31との間のデータの送受信の制御を行うことができる。   The operation result collection means 20 can collect the operation results of the physical server 11a and the virtual servers 12a, 12b,..., 12m and generate the operation result data 19. The virtual machine control means 21 controls the start and stop of the virtual servers 12a, 12b,..., 12m based on the load assigned to the physical server 11a and the virtual servers 12a, 12b,. The manager 16 can be instructed. The transmission / reception control unit 23 can control transmission / reception of data between the physical server 11 a and the load distribution device 31.

また、稼動実績データ19は、物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mのシステム単位での稼動実績を示すもので、稼動実績データ19における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mが稼動された時のシステム単位でのCPU負荷
・物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mが稼動された時のシステム単位でのメモリ使用率
Further, the operation result data 19 indicates the operation results in the system unit of the physical server 11a and the virtual servers 12a, 12b,..., 12m. be able to.
-Virtual server name key-CPU load for each system when the physical server 11a and the virtual servers 12a, 12b, ..., 12m are operated-The physical server 11a and the virtual servers 12a, 12b, ..., 12m Memory usage per system when it is running

なお、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績収集手段20、仮想マシン制御手段21は、これらの手段で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。また、稼動実績データ19は、物理サーバ11a内のメモリに格納することができる。   Note that the virtual machine management manager 16, the operation status collection unit 17, the operation result transmission unit 18, the operation result collection unit 20, and the virtual machine control unit 21 execute a program in which an instruction for performing processing performed by these units is described. This can be realized by causing a computer to execute it. The operation result data 19 can be stored in a memory in the physical server 11a.

そして、このプログラムをCD−ROMなどの記憶媒体に記憶しておけば、物理サーバ11aのコンピュータに記憶媒体を装着し、そのプログラムをコンピュータにインストールすることにより、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績収集手段20、仮想マシン制御手段21で行われる処理を実現することができる。   Then, if this program is stored in a storage medium such as a CD-ROM, the virtual machine management manager 16 can collect the operation status by installing the storage medium in the computer of the physical server 11a and installing the program in the computer. The processing performed by the means 17, the operation result transmission means 18, the operation result collection means 20, and the virtual machine control means 21 can be realized.

また、仮想サーバ管理システムには負荷分散装置31が設けられ、負荷分散装置31は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mで稼動されるシステムの負荷状況に基づいて、物理サーバ11a、11b・・・、11nにかかる負荷を割り付けるとともに、物理サーバ11a、11b・・・、11nに割り付けられた負荷に基づいて物理サーバ11a、11b・・・、11nの電源をオフするように物理サーバ11a、11b・・・、11nに指示することができる。   In addition, the virtual server management system is provided with a load balancer 31. The load balancer 31 includes virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ... .., 14m, 15b,..., 15m are allocated to the physical servers 11a, 11b,. , 11n can be instructed to power off the physical servers 11a, 11b,..., 11n based on the load assigned to 11n.

そして、負荷分散装置31には、送受信制御手段32、負荷分散装置31、稼動状態受信手段33、稼動実績受信手段34、仮想マシン状態テーブル35、稼動実績データ36、仮想マシン異常監視手段37、物理マシン管理テーブル38、割り付けシステム管理テーブル39、仮想マシン割り付けスケジューラ40、時間別稼動実績データ41、仮想マシン切換スケジュールデータ42、仮想マシン制御指示手段43、負荷分散手段45が設けられている。   The load distribution device 31 includes a transmission / reception control unit 32, a load distribution device 31, an operation status reception unit 33, an operation result reception unit 34, a virtual machine state table 35, operation result data 36, a virtual machine abnormality monitoring unit 37, a physical A machine management table 38, an allocation system management table 39, a virtual machine allocation scheduler 40, hourly operation result data 41, virtual machine switching schedule data 42, virtual machine control instruction means 43, and load distribution means 45 are provided.

ここで、送受信制御手段32は、物理サーバ11aと負荷分散装置31との間のデータの送受信の制御を行うことができる。稼動状態受信手段33は、物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動状態を受信し、仮想マシン状態テーブル35に登録させることができる。   Here, the transmission / reception control unit 32 can control transmission / reception of data between the physical server 11 a and the load distribution apparatus 31. The operating state receiving means 33 includes physical servers 11a, 11b,..., 11n, and virtual servers 12a, 12b,..., 12m, 13a, 13b, ..., 13m, 14a, 14b,. The operating states of 15a, 15b,..., 15m can be received and registered in the virtual machine state table 35.

稼動実績受信手段34は、物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動実績を受信し、稼動実績データ36として登録させることができる。
仮想マシン異常監視手段37は、仮想マシン状態テーブル35を定期的に参照しながら、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mについての稼動状況の異常や負荷容量の突出などを検出し、その仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mについての稼動スケジュールの再設定を行うことができる。
The operation result receiving means 34 includes the physical servers 11a, 11b,..., 11n and the virtual servers 12a, 12b,..., 12m, 13a, 13b, ..., 13m, 14a, 14b,. 15a, 15b,..., 15m operation results can be received and registered as operation result data 36.
The virtual machine abnormality monitoring means 37 refers to the virtual machine state table 35 periodically, while referring to the virtual servers 12a, 12b,..., 12m, 13a, 13b, ..., 13m, 14a, 14b,. , 14m, 15a, 15b,..., 15m, abnormalities in operating conditions, protrusion of load capacity, etc. are detected, and the virtual servers 12a, 12b,..., 12m, 13a, 13b,. , 14a, 14b,..., 14m, 15a, 15b,..., 15m can be reset.

仮想マシン割り付けスケジューラ40は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動実績に基づいて、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷の割り当てスケジュールを設定することができる。   The virtual machine allocation scheduler 40 operates the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m. .., 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,. A schedule can be set.

ここで、仮想マシン割り付けスケジューラ40は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷の割り当てスケジュールを設定する場合、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷を割り当てることができる。   Here, the virtual machine allocation scheduler 40 is the virtual servers 12a, 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b, ..., 14m, 15a, 15b,. When setting a load allocation schedule for 15m, virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ... , 12m, 13a, 13b,..., 13m, 14a, 14b,... According to a genetic algorithm in which the load capacity of the system operating at 15 m is expressed by a gene sequence. ., 14m, 15a, 15b,..., 15m can be assigned loads.

仮想マシン制御指示手段43は、仮想マシン切換スケジュールデータ42を定期的に監視し、物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに割り付けられた負荷に基づいて、それらの物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mがそれぞれ動作されるように物理サーバ11a、11b・・・、11nにそれぞれ指示することができる。   The virtual machine control instruction means 43 periodically monitors the virtual machine switching schedule data 42, and physical servers 11a, 11b,..., 11n and virtual servers 12a, 12b,..., 12m, 13a, 13b,. ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., based on the load allocated to 15m, those physical servers 11a, 11b ..., 11n and virtual servers 12a, 12b , ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m so that the physical servers 11a, 11b,.・ You can instruct 11n.

負荷分散手段45は、仮想マシン切換スケジュールデータ42に基づいて、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに負荷を分散することができる。
また、仮想マシン状態テーブル35は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m上の各システムの管理情報を示すもので、仮想マシン状態テーブル35における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・各システムの稼動状態
・各システムの状態コード
・各システムの状態メッセージ内容
・各システムの状態メッセージの詳細
Based on the virtual machine switching schedule data 42, the load distribution means 45 is based on the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, The load can be distributed to 15b, ..., 15m.
The virtual machine state table 35 includes virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m. The management information of each of the above systems is shown, and examples of management items in the virtual machine state table 35 include the following.
-Virtual server name key-Operating status of each system-Status code of each system-Status message contents of each system-Details of status messages of each system

稼動実績データ36は、物理サーバ11a、11b・・・、11nおよび仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mのシステム単位での稼動実績を示すもので、稼動実績データ36における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・物理サーバ11a、11b・・・、11nおよび仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mが稼動された時のシステム単位でのCPU負荷
・システム単位でのメモリ使用率
The operation result data 36 includes physical servers 11a, 11b ..., 11n and virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a. , 15b,..., 15m indicates the operation results in units of systems, and examples of management items in the operation result data 36 include the following.
Virtual server name key Physical servers 11a, 11b ..., 11n and virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a , 15b,..., 15m when the CPU load per system unit / memory usage rate per system unit

物理マシン管理テーブル38は、実際にシステムが稼動される物理サーバ11a、11b・・・、11nの管理情報を示すもので、物理マシン管理テーブル38における管理項目としては、以下の例を挙げることができる。
・物理サーバ名キー
・物理サーバの稼動状態
・物理サーバの割り付け優先順序
・物理サーバの状態コード
・物理サーバの状態メッセージ内容
・物理サーバの状態メッセージの詳細
・物理サーバのCPU容量(マシンスペック・現容量状態)
・物理サーバのメモリ容量(マシンスペック・現容量状態)
The physical machine management table 38 shows the management information of the physical servers 11a, 11b,..., 11n on which the system is actually operated, and examples of management items in the physical machine management table 38 include the following. it can.
-Physical server name key-Physical server operation status-Physical server allocation priority order-Physical server status code-Physical server status message content-Details of physical server status message-CPU capacity of physical server (machine specification-current Capacity state)
・ Memory capacity of physical server (machine spec / current capacity status)

割り付けシステム管理テーブル39は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m上で動作されるシステムの管理情報を示すもので、割り付けシステム管理テーブル39における管理項目としては、以下の例を挙げることができる。
・アプリケーションシステム単位キー
・会社コードおよび会社名
・システム名
・スケジュールパターン(前週、前月、前年など)
・各システムの最大CPU負荷
・各システムの最大メモリ容量
・各システムごとのCPUしきい値
・各システムごとのメモリしきい値
・各システムの最大トランザクション時間(停止待ち時間)
・各システムの強制切断可否
・各システムの停止時の通知の有無
・各システムの停止時のメッセージ内容
・起動不可物理サーバ
The allocation system management table 39 is on the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m. The management information of the system to be operated is shown. Examples of management items in the allocation system management table 39 include the following examples.
-Application system unit key-Company code and company name-System name-Schedule pattern (previous week, previous month, previous year, etc.)
・ Maximum CPU load of each system ・ Maximum memory capacity of each system ・ CPU threshold value for each system ・ Memory threshold value for each system ・ Maximum transaction time of each system (stop waiting time)
-Whether each system can be forcibly disconnected-Whether there is a notification when each system is stopped-Message contents when each system is stopped-Physical server that cannot be started

時間別稼動実績データ41は、物理サーバ11a、11b・・・、11nおよび仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mのシステム単位での時間別の稼動実績を示すもので、時間別稼動実績データ41における管理項目としては、以下の例を挙げることができる。
・アプリケーションシステム単位キー
・会社コードおよび会社名
・システム名
・システム稼動時の年月日および時刻
・物理サーバ11a、11b・・・、11nおよび仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mが稼動された時のシステム単位での最大CPU負荷
・システム単位での最大メモリ使用率
・システム単位での平均CPU負荷
・システム単位での平均メモリ使用率
.., 11n and virtual servers 12a, 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b,. , 15a, 15b,..., 15m indicates the operation results for each hour, and examples of management items in the hourly operation results data 41 include the following examples.
-Application system unit key-Company code and company name-System name-Date and time of system operation-Physical servers 11a, 11b ..., 11n and virtual servers 12a, 12b, ..., 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,..., 15m when the maximum CPU load in the system unit, the maximum memory usage rate in the system unit, Average CPU load per system / Average memory usage per system

仮想マシン切換スケジュールデータ42は、どの仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m上でどのシステムをどれだけの負荷容量を割り当てながらいつ実行させるかについての稼動計画データを示すもので、仮想マシン切換スケジュールデータ42における管理項目としては、以下の例を挙げることができる。
・仮想サーバキー
・仮想サーバの起動/停止日時
・仮想サーバの起動時のCPU容量
・仮想サーバの起動時のメモリ容量
The virtual machine switching schedule data 42 includes which virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m. The above shows the operation plan data about when to execute which system while allocating how much load capacity, and examples of management items in the virtual machine switching schedule data 42 include the following.
-Virtual server key-Virtual server start / stop date-CPU capacity at virtual server startup-Memory capacity at virtual server startup

なお、送受信制御手段23、送受信制御手段32、負荷分散装置31、稼動状態受信手段33、稼動実績受信手段34、仮想マシン異常監視手段37、仮想マシン割り付けスケジューラ40、仮想マシン制御指示手段43、負荷分散手段45は、これらの手段で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。また、仮想マシン状態テーブル35、稼動実績データ36、物理マシン管理テーブル38、割り付けシステム管理テーブル39、時間別稼動実績データ41、仮想マシン切換スケジュールデータ42は、負荷分散装置31内のメモリに格納することができる。   The transmission / reception control means 23, the transmission / reception control means 32, the load balancer 31, the operation status reception means 33, the operation result reception means 34, the virtual machine abnormality monitoring means 37, the virtual machine allocation scheduler 40, the virtual machine control instruction means 43, the load The distribution unit 45 can be realized by causing a computer to execute a program in which an instruction for performing processing performed by these units is described. Further, the virtual machine state table 35, operation result data 36, physical machine management table 38, allocation system management table 39, hourly operation result data 41, and virtual machine switching schedule data 42 are stored in a memory in the load balancer 31. be able to.

そして、このプログラムをCD−ROMなどの記憶媒体に記憶しておけば、負荷分散装置31のコンピュータに記憶媒体を装着し、そのプログラムをコンピュータにインストールすることにより、送受信制御手段23、送受信制御手段32、負荷分散装置31、稼動状態受信手段33、稼動実績受信手段34、仮想マシン異常監視手段37、仮想マシン割り付けスケジューラ40、仮想マシン制御指示手段43、負荷分散手段45で行われる処理を実現することができる。   If this program is stored in a storage medium such as a CD-ROM, the transmission / reception control means 23, the transmission / reception control means are installed by installing the storage medium in the computer of the load distribution apparatus 31 and installing the program in the computer. 32, the load distribution device 31, the operation state reception unit 33, the operation result reception unit 34, the virtual machine abnormality monitoring unit 37, the virtual machine allocation scheduler 40, the virtual machine control instruction unit 43, and the processing performed by the load distribution unit 45 are realized. be able to.

そして、物理サーバ11aにおいて、稼動状況収集手段17は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動状況を収集し、それらの稼動状況を送受信制御手段23を介して負荷分散装置31に送信する。また、稼動実績収集手段20は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動実績を収集し、それらの稼動実績を稼動実績データ19として物理サーバ11aに保持させる。そして、稼動実績データ19が物理サーバ11aに保持されると、稼動実績送信手段18は、稼動実績データ19を送受信制御手段23を介して負荷分散装置31に送信する。   In the physical server 11a, the operation status collection unit 17 collects the operation status of the physical server 11a and the virtual servers 12a, 12b,..., 12m, and distributes the operation status via the transmission / reception control unit 23. Transmit to device 31. Further, the operation result collecting means 20 collects the operation results of the physical server 11a and the virtual servers 12a, 12b,..., 12m, and holds the operation results as operation result data 19 in the physical server 11a. When the operation result data 19 is stored in the physical server 11 a, the operation result transmission unit 18 transmits the operation result data 19 to the load distribution device 31 via the transmission / reception control unit 23.

なお、他の物理サーバ11b・・・、11nについても、物理サーバ11aと同様に動作することができる。
そして、物理サーバ11a、11b、・・・、11nの稼動状況が負荷分散装置31にそれぞれ送信されると、稼動状態受信手段33は、それらの物理サーバ11a、11b、・・・、11nの稼動状況を送受信制御手段33を介して受信し、仮想マシン状態テーブル35に登録する。
また、物理サーバ11a、11b、・・・、11nの稼動実績が負荷分散装置31にそれぞれ送信されると、稼動実績受信手段34は、それらの物理サーバ11a、11b、・・・、11nの稼動実績を送受信制御手段33を介して受信し、稼動実績データ36として保持させる。
The other physical servers 11b... 11n can operate in the same manner as the physical server 11a.
Then, when the operating statuses of the physical servers 11a, 11b,..., 11n are transmitted to the load balancer 31, the operating status receiving means 33 operates the physical servers 11a, 11b,. The situation is received via the transmission / reception control means 33 and registered in the virtual machine state table 35.
When the operation results of the physical servers 11a, 11b,..., 11n are respectively transmitted to the load balancer 31, the operation result receiving unit 34 operates the physical servers 11a, 11b,. The result is received via the transmission / reception control means 33 and is held as operation result data 36.

そして、仮想マシン異常監視手段37は、仮想マシン状態テーブル35および稼動実績データ36を定期的に参照しながら、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mについての稼動状況の異常や負荷容量の突出などを検出する。そして、仮想マシン異常監視手段37は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m稼動状況の異常や負荷容量の突出などに応じて稼動スケジュールの再設定を行い、仮想マシン切換スケジュールデータ42として保持させる。   Then, the virtual machine abnormality monitoring means 37 periodically refers to the virtual machine state table 35 and the operation result data 36, and the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b,..., 14m, 15a, 15b,. And the virtual machine abnormality monitoring means 37 is the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ...,. The operation schedule is reset according to the abnormality of the 15 m operation status or the protrusion of the load capacity, and the virtual machine switching schedule data 42 is held.

また、仮想マシン割り付けスケジューラ40は、物理マシン管理テーブル38および割り付けシステム管理テーブル39を参照しながら、稼動実績データ36に基づいて、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷の割り当てスケジュールを設定し、仮想マシン切換スケジュールデータ42として保持させる。   Further, the virtual machine allocation scheduler 40 refers to the physical machine management table 38 and the allocation system management table 39, and based on the operation result data 36, the virtual servers 12a, 12b,..., 12m, 13a, 13b,. .., 13m, 14a, 14b,..., 14m, 15a, 15b,.

ここで、仮想マシン割り付けスケジューラ40は、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷の割り当てスケジュールを設定する場合、プロセッサの処理能力を分割した基準単位を1つの遺伝子として、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムの負荷容量が遺伝子の配列で表現された固体を生成することができる。   Here, the virtual machine allocation scheduler 40 is the virtual servers 12a, 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b, ..., 14m, 15a, 15b,. When setting a load allocation schedule for 15 m, the virtual servers 2 a, 2 b,..., 2 m, 3 a, 3 b,. 4b,..., 4m, 5a, 5b,..., 5m can generate a solid in which the load capacity of the system is expressed by gene sequences.

そして、仮想マシン割り付けスケジューラ40は、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返し、その時に得られた固体の遺伝子を物理マシン管理テーブル38を参照しながら物理サーバ1a、1b・・・、1nに順次割り付けることができる。
そして、仮想マシン割り付けスケジューラ40は、物理サーバ1a、1b・・・、1nに固体の遺伝子を割り付けると、それらの物理サーバ1a、1b・・・、1nに割り付けられた固体の遺伝子に基づいて、仮想サーバ2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5mで稼動されるシステムに割り付けられる負荷を物理サーバ1a、1b・・・、1nごとに算出することができる。
Then, the virtual machine allocation scheduler 40 repeats solid selection and crossover according to a genetic algorithm, and refers to the physical servers 1a, 1b,. Can be allocated sequentially.
When the virtual machine allocation scheduler 40 allocates a solid gene to the physical servers 1a, 1b,..., 1n, based on the solid genes allocated to those physical servers 1a, 1b. .. 2m, 3a, 3b,..., 3m, 4a, 4b,..., 4m, 5a, 5b,. Can be calculated for each physical server 1a, 1b,.

そして、仮想マシン割り付けスケジューラ40は、物理サーバ1a、1b・・・、1nごとにシステムに割り付けられる負荷が所定の割り付け条件を満たすようになるまで、遺伝的アルゴリズムに従って固体の淘汰および交叉を繰り返すことができる。
そして、仮想マシン制御指示手段43は、仮想マシン切換スケジュールデータ42を定期的に監視し、物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに割り付けられた負荷に基づいて、それらの物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mがそれぞれ動作されるように、送受信制御手段33を介して物理サーバ11a、11b・・・、11nにそれぞれ指示する。
Then, the virtual machine allocation scheduler 40 repeats solid selection and crossover according to a genetic algorithm until the load allocated to the system for each physical server 1a, 1b, ..., 1n satisfies a predetermined allocation condition. Can do.
The virtual machine control instruction means 43 periodically monitors the virtual machine switching schedule data 42, and physical servers 11a, 11b,..., 11n and virtual servers 12a, 12b,..., 12m, 13a, 13b, .., 13m, 14a, 14b,..., 14m, 15a, 15b,..., 15m, and the physical servers 11a, 11b,. , 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,. Through the physical servers 11a, 11b,.

そして、例えば、仮想マシン制御指示手段43による指示が物理サーバ11aに行われると、仮想マシン制御手段21は、送受信制御手段23を介して仮想マシン制御指示手段43からの指示を受信し、物理サーバ11aや仮想サーバ12a、12b、・・・、12mに割り付けられた負荷に基づいて、仮想サーバ12a、12b、・・・、12mの起動や停止を仮想マシン管理マネージャ16に指示する。   For example, when an instruction from the virtual machine control instruction unit 43 is given to the physical server 11a, the virtual machine control unit 21 receives an instruction from the virtual machine control instruction unit 43 via the transmission / reception control unit 23, and the physical server The virtual machine management manager 16 is instructed to start and stop the virtual servers 12a, 12b,..., 12m based on the loads assigned to the virtual servers 11a and 12a, 12b,.

また、負荷分散手段45は、仮想マシン切換スケジュールデータ42に基づいて、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに負荷を分散する。
そして、例えば、負荷分散手段45にて物理サーバ11aに負荷が分散されると、仮想マシン管理マネージャ16は、仮想サーバ12a、12b、・・・、12mの負荷容量を管理しながら、仮想サーバ12a、12b、・・・、12mの起動や停止を物理サーバ11aに指示する。
Further, the load distribution means 45 is based on the virtual machine switching schedule data 42, and the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, The load is distributed to 15a, 15b, ..., 15m.
For example, when the load is distributed to the physical server 11a by the load distribution means 45, the virtual machine management manager 16 manages the load capacity of the virtual servers 12a, 12b,. , 12b,..., 12m are instructed to the physical server 11a.

図4は、本発明の一実施形態に係る遺伝的アルゴリズムを用いた仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法を示すフローチャートである。
図4において、遺伝的アルゴリズムにて負荷を割り当てる場合、初期固体の生成を行った後(ステップS1)、物理サーバ11a、11b・・・、11nへのシステムの配置を実施する(ステップS2)。
そして、遺伝的アルゴリズムにて生成された固体の評価及び優良解の保存を行いながら(ステップS3)、所定の割り付け条件を満たすようになるまで(ステップS7)、固体の淘汰、交叉および突然変異を繰り返すことができる(ステップS4〜S6)。
FIG. 4 is a flowchart illustrating a method for allocating a system operated on a virtual server using a genetic algorithm according to an embodiment of the present invention onto a physical server.
In FIG. 4, when assigning a load by a genetic algorithm, after generating an initial solid (step S1), the system is arranged on the physical servers 11a, 11b,..., 11n (step S2).
Then, while evaluating the solid generated by the genetic algorithm and storing the excellent solution (step S3), until the predetermined allocation condition is satisfied (step S7), the solid wrinkles, crossover and mutation are performed. It can be repeated (steps S4 to S6).

ここで、遺伝的アルゴリズムにおける固体を生成する場合、プロセッサの処理能力を分割した基準単位を1つの遺伝子として、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mで稼動されるシステムの負荷容量に応じて割り振られた遺伝子の配列を固体とすることができる。   Here, when generating a solid in the genetic algorithm, a virtual unit 12a, 12b,..., 12m, 13a, 13b,. 14a, 14b,..., 14m, 15a, 15b,..., 15m can be a solid gene sequence allocated according to the load capacity of the system.

なお、1固体当たりの遺伝子の個数はシステムの定数として管理することができる。また、1つの固体の中には同一の遺伝子が複数存在したり、システム内には複数個の固体が存在したりすることができる。
例えば、3GHzの周波数で動作するインテル製のペンティアム(登録商標)プロセッサのCPU容量を100とすると、そのCPU容量が10分割されたCPU容量を1つの遺伝子とすることができる。そして、負荷の割り付け対象となるシステムごとに固有の遺伝子を生成し、そのシステムの負荷容量分に対応した個数分の遺伝子をそのシステムに割り振ることができる。
Note that the number of genes per individual can be managed as a system constant. In addition, a plurality of the same genes may exist in one solid, or a plurality of solids may exist in the system.
For example, assuming that the CPU capacity of an Intel Pentium (registered trademark) processor operating at a frequency of 3 GHz is 100, the CPU capacity obtained by dividing the CPU capacity by 10 can be used as one gene. Then, a unique gene can be generated for each system to which a load is assigned, and a number of genes corresponding to the load capacity of the system can be allocated to the system.

ここで、初期固体の生成では、具体的には、以下の手順をとることができる。
(1)負荷の割り付け対象となるシステムの負荷容量を、1つの遺伝子分のCPU容量ごとに分割し、そのシステムに固有の遺伝子をその分割数分だけ付与する。
(2)システムの優先順および物理サーバ11a、11b・・・、11nの優先順に従って遺伝子を配列する。
(3)(2)の方法で生成した固体以外は、初期固体選択幅および乱数を用いて初期固体を生成する。具体的には、
a)初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択する。
b)初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると、選択対象の遺伝子を次の遺伝子に変更する。
c)固体に割り付けられた遺伝子の個数が、負荷の割り付け対象となる全てのシステムの遺伝子の総数に一致するまで、a)およびb)の処理を繰り返す。
Here, in the production of the initial solid, specifically, the following procedure can be taken.
(1) The load capacity of a system to be assigned a load is divided for each CPU capacity of one gene, and genes unique to the system are assigned by the number of divisions.
(2) The genes are arranged according to the priority order of the system and the priority order of the physical servers 11a, 11b,.
(3) Except for the solid generated by the method of (2), the initial solid is generated using the initial solid selection width and the random number. In particular,
a) A gene is selected using a random number from genes having an initial solid selection width according to the initial solid production order.
b) When the genes with the earliest order in the initial solid selection width are selected by the number of the systems, the selection target gene is changed to the next gene.
c) The processes of a) and b) are repeated until the number of genes assigned to the solid matches the total number of genes of all systems to which the load is assigned.

一方、負荷容量が割り付けられる物理サーバ11a、11b、・・・、11nの初期条件として、5台の物理サーバ11a、11b、・・・、11eが設定されたものとする。そして、物理サーバ11aのスペック容量が280、物理サーバ11bのスペック容量が190、物理サーバ11cのスペック容量が440、物理サーバ11dのスペック容量が70、物理サーバ11eのスペック容量が170であるとし、物理サーバ11a、11b、・・・、11eにそれぞれ割り付ける負荷容量の初期値がスペック容量の70%であるとする。   On the other hand, it is assumed that five physical servers 11a, 11b,..., 11e are set as initial conditions for the physical servers 11a, 11b,. The spec capacity of the physical server 11a is 280, the spec capacity of the physical server 11b is 190, the spec capacity of the physical server 11c is 440, the spec capacity of the physical server 11d is 70, and the spec capacity of the physical server 11e is 170. Assume that the initial value of the load capacity allocated to each of the physical servers 11a, 11b,..., 11e is 70% of the spec capacity.

この場合、物理サーバ11aに割り付け可能な負荷容量は196≒190、物理サーバ11bに割り付け可能な負荷容量は133≒130、物理サーバ11cに割り付け可能な負荷容量は308≒300、物理サーバ11dに割り付け可能な負荷容量は49≒40、物理サーバ11eに割り付け可能な負荷容量は119≒110となる。
そして、負荷容量の割り付け時の物理サーバ11a、11b、・・・、11e優先順がそれぞれ2、3、1、4、5であるとすると、物理サーバ11c→物理サーバ11a→物理サーバ11b→物理サーバ11d→物理サーバ11eの順序で負荷を割り付けることができる。
In this case, the load capacity assignable to the physical server 11a is 196≈190, the load capacity assignable to the physical server 11b is 133≈130, the load capacity assignable to the physical server 11c is 308≈300, and the load capacity assignable to the physical server 11d. The possible load capacity is 49≈40, and the load capacity that can be allocated to the physical server 11e is 119≈110.
If the priority order of the physical servers 11a, 11b,..., 11e at the time of load capacity allocation is 2, 3, 1, 4, 5, respectively, the physical server 11c → the physical server 11a → the physical server 11b → physical Loads can be assigned in the order of server 11d → physical server 11e.

例えば、負荷の割り付け対象となるシステムとして、A社aシステム、A社bシステム、C社cシステムおよびD社dシステムの4個のシステムがあるものとし、A社aシステムの負荷容量が80、A社bシステムの負荷容量が140、C社cシステムの負荷容量が200、D社dシステムの負荷容量が80であるとする。
この場合、A社aシステムには“a”という遺伝子を付与し、A社aシステムの負荷容量を“a”という8個の遺伝子で表現することができる。また、A社bシステムには“b”という遺伝子を付与し、A社bシステムの負荷容量を“b”という14個の遺伝子で表現することができる。また、C社cシステムには“c”という遺伝子を付与し、C社cシステムの負荷容量を“c”という20個の遺伝子で表現することができる。また、D社dシステムには“d”という遺伝子を付与し、D社dシステムの負荷容量を“d”という8個の遺伝子で表現することができる。
For example, it is assumed that there are four systems, ie, Company A system a, Company A system b, Company C system c, and Company D system, and the load capacity of the company A system is 80, Assume that the load capacity of company A's b system is 140, the load capacity of company C's c system is 200, and the load capacity of company D's d system is 80.
In this case, a gene “a” is assigned to the A company a system, and the load capacity of the A company a system can be expressed by eight genes “a”. Further, the gene “b” can be assigned to the company B system, and the load capacity of the company B system can be expressed by 14 genes “b”. Further, a gene “c” can be assigned to the C company C system, and the load capacity of the C company c system can be expressed by 20 genes “c”. Further, a gene “d” is assigned to the D company d system, and the load capacity of the D company d system can be expressed by eight genes “d”.

そして、A社aシステム、A社bシステム、C社cシステムおよびD社dシステムの遺伝子を、システムの優先順に従って各システムの個数分(A社aシステム=8個、A社bシステム=14個、C社cシステム=20個、D社dシステム=8個)づつ配列することにより、“aaaaaaaabbbbbbbbbbbbbbccccccccccccccccccccdddddddd”という50個の遺伝子配列を生成することができる。
そして、固体長が10であるとすると、“aaaaaaaabbbbbbbbbbbbbbccccccccccccccccccccdddddddd”という50個の遺伝子配列から(3)のa)、b)、c)の方法に従って10個づつ遺伝子を選択することによって、5個の固体K1、K2、K3、K4、K5を初期固体として生成することができる。
Then, the genes of the A company a system, the A company b system, the C company c system, and the D company d system according to the priority order of the systems are equal to the number of each system (A company a system = 8, A company b system = 14 By arranging them one by one, C company c system = 20, D company d system = 8), it is possible to generate 50 gene sequences “aaaaaaaaabbbbbbbbbbbbbbbbccccccccccccccccccccccdddddd”.
If the solid length is 10, by selecting 10 genes from 50 gene sequences of “aaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccccccdddddd” according to the methods of (3) a), b) and c), 5 solids K1, K2, K3, K4, K5 can be produced as initial solids.

そして、初期固体生成順序が“abcd”、初期固体選択幅が3であるとすると、選択対象の遺伝子として“abc”が指定され、遺伝子“abc”の中から乱数を用いて10個の遺伝子を選択することで、初期の固体K1として、例えば、“caabbcbcaa”という10個の遺伝子配列を生成することができる。また、遺伝子“abc”の中から乱数を用いて10個の遺伝子を選択することで、初期の固体K2として、例えば、“acabacbbba”という10個の遺伝子配列を生成することができる。ここで、固体K1、K2において、A社aシステムに付与された8個分の遺伝子“a”が選択されたので、初期固体選択幅における選択対象の遺伝子を次の遺伝子に変更し、選択対象の遺伝子として“bcd”を指定する。   If the initial solid generation order is “abcd” and the initial solid selection width is 3, “abc” is designated as the gene to be selected, and 10 genes are selected from the gene “abc” using random numbers. By selecting, for example, ten gene sequences “caabbcbcaa” can be generated as the initial solid K1. Further, by selecting 10 genes from the gene “abc” using random numbers, for example, 10 gene sequences “acabacbbba” can be generated as the initial solid K2. Here, in the solids K1 and K2, since eight genes “a” given to the A company a system are selected, the gene to be selected in the initial solid selection width is changed to the next gene, and the selection target “Bcd” is designated as the gene for.

そして、遺伝子“bcd”の中から乱数を用いて10個の遺伝子を選択することで、初期の固体K3として、例えば、“dcccdbbcbd”という10個の遺伝子配列を生成することができる。また、遺伝子“bcd”の中から乱数を用いて10個の遺伝子を選択することで、初期の固体K4として、例えば、“dccdbbccbd”という10個の遺伝子配列を生成することができる。また、遺伝子“bcd”の中から乱数を用いて10個の遺伝子を選択することで、初期の固体K5として、例えば、“cbbbdbbbbd”という10個の遺伝子配列を生成することができる。   Then, by selecting 10 genes from the gene “bcd” using random numbers, for example, 10 gene sequences “dcccdbbcbd” can be generated as the initial solid K3. Further, by selecting 10 genes from the gene “bcd” using random numbers, for example, 10 gene sequences “dccdbccccd” can be generated as the initial solid K4. Further, by selecting 10 genes from the gene “bcd” using random numbers, for example, 10 gene sequences “cbbbbbbbbd” can be generated as the initial solid K5.

そして、遺伝的アルゴリズムに従って固体の淘汰、交叉および突然変異を繰り返すことで、ある世代において、固体K1、K2、K3、K4、K5として以下の遺伝子配列を生成することができる。
固体K1=“cddbabbcca”
固体K2=“ccbbccabcd”
固体K3=“acddbbcacc”
固体K4=“bbcabdbcca”
固体K5=“cccabcbcdd”
そして、ある世代における固体K1、K2、K3、K4、K5が生成されると、物理サーバ11a、11b、・・・、11eの優先順に従って、各物理サーバ11a、11b、・・・、11eの割り付け可能な負荷容量に達するように、固体K1、K2、K3、K4、K5の遺伝子を物理サーバ11a、11b、・・・、11eに順次割り付けることができる。
The following gene sequences can be generated as solid K1, K2, K3, K4, and K5 in a generation by repeating solid wrinkles, crossovers, and mutations according to a genetic algorithm.
Solid K1 = "cdbbabbccca"
Solid K2 = "ccbbccabcd"
Solid K3 = “acdbbbacc”
Solid K4 = “bbcabdbccca”
Solid K5 = "cccabcbccdd"
Then, when solids K1, K2, K3, K4, and K5 in a generation are generated, the physical servers 11a, 11b,..., 11e are ordered according to the priority order of the physical servers 11a, 11b,. The genes of the solid K1, K2, K3, K4, and K5 can be sequentially allocated to the physical servers 11a, 11b,..., 11e so that the load capacity that can be allocated is reached.

例えば、上述した割り付け優先順の1位は物理サーバ11cなので、物理サーバ11cに割り付け可能な負荷容量≒300に達するまで、固体K1、K2、K3、K4、K5の遺伝子を順次割り付けると、物理サーバ11cに割り付けられた遺伝子は“cddbabbccaccbbccabcdacddbbcacc”となる。そして、物理サーバ11cに固体K1、K2、K3、K4、K5の遺伝子が割り付けられると、割り付け優先順が2位の物理サーバ11aを選択する。そして、物理サーバ11aに割り付け可能な負荷容量≒190に達するまで、残った固体K4、K5の遺伝子を順次割り付けると、物理サーバ11aに割り付けられた遺伝子は“bbcabdbccacccabcbcd”となる。そして、物理サーバ11aに固体K4、K5の遺伝子が割り付けられると、割り付け優先順が3位の物理サーバ11bを選択する。そして、残った固体K5の遺伝子を物理サーバ11bに割り付けると、物理サーバ11bに割り付けられた遺伝子は“d”となる。   For example, since the first place in the above-described assignment priority order is the physical server 11c, the physical servers 11c, K2, K3, K4, and K5 are sequentially assigned until the load capacity ≈300 that can be assigned to the physical server 11c is reached. The gene assigned to 11c is “cddbbabbccaccbbbccabcdaccdbbaccacc”. Then, when the genes of the solid K1, K2, K3, K4, and K5 are allocated to the physical server 11c, the physical server 11a with the second highest allocation priority is selected. When the remaining solid K4 and K5 genes are sequentially assigned until the load capacity ≈ 190 that can be assigned to the physical server 11a is reached, the gene assigned to the physical server 11a becomes “bbcabdbccaccccbcbcd”. Then, when the solid K4 and K5 genes are allocated to the physical server 11a, the physical server 11b having the third highest allocation priority is selected. When the gene of the remaining solid K5 is assigned to the physical server 11b, the gene assigned to the physical server 11b is “d”.

そして、これらの物理サーバ11c、11a、11bに割り付けられた遺伝子をシステム単位で並べ替えると、物理サーバ11c→“aaaaabbbbbbbbccccccccccccddddd”、物理サーバ11a→“aaabbbbbbccccccccdd”、物理サーバ11b→“d”となる。
この結果、物理サーバ11cには、5個の遺伝子“a”、8個の遺伝子“b”、12個の遺伝子“c”および5個の遺伝子“d”が割り付けられ、物理サーバ11c上では、A社aシステムに対して50のCPU容量、A社bシステムに対して80のCPU容量、C社cシステムに対して120のCPU容量、D社dシステムに対して50のCPU容量が割り付けられる。
When the genes assigned to the physical servers 11c, 11a, and 11b are rearranged in units of systems, the physical server 11c → “aaaaaabbbbbbbbccccccccccccccdddd”, the physical server 11a → “aaabbbbbbbccccccccdd”, and the physical server 11b → “d”.
As a result, 5 genes “a”, 8 genes “b”, 12 genes “c”, and 5 genes “d” are allocated to the physical server 11c. 50 CPU capacity is allocated to the A company a system, 80 CPU capacity is allocated to the A company b system, 120 CPU capacity is allocated to the C company c system, and 50 CPU capacity is allocated to the D company d system. .

また、物理サーバ11aには、3個の遺伝子“a”、6個の遺伝子“b”、8個の遺伝子“c”および2個の遺伝子“d”が割り付けられ、物理サーバ11a上では、A社aシステムに対して30のCPU容量、A社bシステムに対して60のCPU容量、C社cシステムに対して80のCPU容量、D社dシステムに対して20のCPU容量が割り付けられる。   In addition, three genes “a”, six genes “b”, eight genes “c”, and two genes “d” are allocated to the physical server 11a. 30 CPU capacities are allocated to the company a system, 60 CPU capacities are allocated to the company A b system, 80 CPU capacities are allocated to the C company c system, and 20 CPU capacities are allocated to the D company d system.

また、物理サーバ11bには、1個の遺伝子“d”が割り付けられ、物理サーバ11b上では、D社dシステムに対して10のCPU容量が割り付けられる。
そして、物理サーバ11a、11b・・・、11nへのシステムの配置が実施されると、物理サーバ11a、11b・・・、11nに割り付けられたCPU容量が所定の割り付け条件を満たすかどうかを判断する。ここで、例えば、各物理サーバ11a、11b・・・、11nに割り付け可能な負荷容量は80%を上限とし、目標とする割り付け可能な負荷容量は70%に設定することができる。
Further, one gene “d” is allocated to the physical server 11b, and 10 CPU capacities are allocated to the D company d system on the physical server 11b.
When the system is arranged on the physical servers 11a, 11b,..., 11n, it is determined whether or not the CPU capacity allocated to the physical servers 11a, 11b. To do. Here, for example, the load capacity that can be allocated to each of the physical servers 11a, 11b,..., 11n can be set to 80% as the upper limit, and the target load capacity that can be allocated can be set to 70%.

図5は、本発明の一実施形態に係る仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図5において、図4のステップS2の物理サーバ11a、11b・・・、11nへの配置の実施では、目標とする割り付け可能な負荷容量の算出処理(ステップS11)および物理サーバ11a、11b・・・、11nへの負荷容量の割り付け処理(ステップS12)が行われる。
FIG. 5 is a flowchart illustrating a method for allocating a physical server load to a system operated on a virtual server according to an embodiment of the present invention.
5, in the implementation of the allocation to the physical servers 11a, 11b,..., 11n in step S2 in FIG. 4, the target load capacity calculation process (step S11) and the physical servers 11a, 11b,. A load capacity allocation process to 11n (step S12) is performed.

そして、目標とする割り付け可能な負荷容量の算出処理では、前回に各物理サーバ11a、11b・・・、11nに割り付けられた負荷容量および平均割り付け容量を獲得する(ステップS21)。そして、物理サーバ11a、11b・・・、11nに割り付けられた負荷容量のいずれかが50%以下で、物理サーバ11a、11b・・・、11nの平均割り付け容量が70%以下の場合(ステップS22)、割り付け対象となる物理サーバ11a、11b・・・、11nを1台分だけ減らしてから(ステップS23)、目標とする割り付け可能な負荷容量を再算出し(ステップS24)、次処理に進む(ステップS31)。   In the target load capacity calculation process, the load capacity and average allocated capacity previously assigned to each physical server 11a, 11b,..., 11n are acquired (step S21). When any of the load capacities allocated to the physical servers 11a, 11b,..., 11n is 50% or less and the average allocated capacity of the physical servers 11a, 11b,. ), The number of physical servers 11a, 11b,. (Step S31).

一方、物理サーバ11a、11b・・・、11nに割り付けられた負荷容量のいずれかが50%以下で、物理サーバ11a、11b・・・、11nの平均割り付け容量が70%以下という条件を満たさない場合(ステップS22)、割り付け対象となる物理サーバ11a、11b・・・、11nの台数に対して、割り付けられるシステムの負荷容量がオーバーフローしたかどうかを判断する(ステップS25)。   On the other hand, any of the load capacities allocated to the physical servers 11a, 11b..., 11n does not satisfy the condition that the average allocated capacity of the physical servers 11a, 11b. In the case (step S22), it is determined whether or not the load capacity of the allocated system has overflowed with respect to the number of physical servers 11a, 11b,..., 11n to be allocated (step S25).

そして、割り付け対象となる物理サーバ11a、11b・・・、11nの台数に対して、割り付けられるシステムの負荷容量がオーバーフローした場合、割り付け対象となる物理サーバ11a、11b・・・、11nを1台分だけ増やしてから(ステップS23)、目標とする割り付け可能な負荷容量を最算出し(ステップS24)、次処理に進む(ステップS31)。   When the load capacity of the system to be allocated overflows with respect to the number of physical servers 11a, 11b,..., 11n to be allocated, one physical server 11a, 11b,. After increasing by the amount (step S23), the target load capacity that can be allocated is calculated the most (step S24), and the process proceeds to the next process (step S31).

一方、割り付け対象となる物理サーバ11a、11b・・・、11nの台数に対して、割り付けられるシステムの負荷容量がオーバーフローしてない場合、物理サーバ11a、11b・・・、11nに割り付けられた負荷容量が目標値より小さいかどうかを判断し(ステップS27)、物理サーバ11a、11b・・・、11nに割り付けられた負荷容量が目標値より小さい場合、目標とする割り付け可能な負荷容量を2%だけ減らしてから(ステップS28)、次処理に進む(ステップS31)。   On the other hand, when the load capacity of the system to be allocated does not overflow with respect to the number of physical servers 11a, 11b,..., 11n to be allocated, the load allocated to the physical servers 11a, 11b. It is determined whether or not the capacity is smaller than the target value (step S27), and if the load capacity allocated to the physical servers 11a, 11b,. (Step S28), the process proceeds to the next process (step S31).

一方、物理サーバ11a、11b・・・、11nに割り付けられた負荷容量が目標値より大きい場合(ステップS29)、目標とする割り付け可能な負荷容量を1%だけ増やしてから(ステップS30)、次処理に進む(ステップS31)。
そして、物理サーバ11a、11b・・・、11nに負荷が割り付けられると、所定の割り付け条件に従って固体の評価を行う。ここで、物理サーバ11a、11b・・・、11nへの負荷の割り付け条件としては、例えば、以下の項目を挙げることができる。
・物理サーバ11a、11b・・・、11nの異常時の対応を考慮して、システムの分割数は2以上とする。なお、この条件は絶対条件で、遺伝的アルゴリズム上で適用することができる。
On the other hand, when the load capacity allocated to the physical servers 11a, 11b,..., 11n is larger than the target value (step S29), the target allocatable load capacity is increased by 1% (step S30), and then The process proceeds (step S31).
Then, when a load is allocated to the physical servers 11a, 11b,..., 11n, the solid is evaluated according to a predetermined allocation condition. Here, examples of the load allocation conditions for the physical servers 11a, 11b,..., 11n include the following items.
The number of system divisions is set to 2 or more in consideration of the response at the time of abnormality of the physical servers 11a, 11b,. This condition is an absolute condition and can be applied on the genetic algorithm.

・仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mのオーバーヘッドを考慮して、システムの分割数は3→4→2→5→6→・・・とする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・省電力化を考慮して、消費電力の小さい物理サーバ11a、11b・・・、11nの優先順を上げる。なお、この条件は任意条件で、遺伝的アルゴリズムの前処理で適用することができる。
.., 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,. The number of divisions is 3 → 4 → 2 → 5 → 6 →. This condition is an arbitrary condition and can be applied on the genetic algorithm.
In consideration of power saving, increase the priority order of the physical servers 11a, 11b,. This condition is an arbitrary condition and can be applied in the pre-processing of the genetic algorithm.

・物理サーバ11a、11b・・・、11nの異常時の縮退容量を確保するために、各システムが物理サーバ11a、11b・・・、11nに均等に割り付ける。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・各物理サーバ11a、11b・・・、11nの総使用メモリ量を超えないようにする。なお、この条件は絶対条件で、遺伝的アルゴリズム上で適用することができる。
・メンテナンスが予定されている物理サーバ11a、11b・・・、11nは割り当て対象から除外する。なお、この条件は絶対条件で、遺伝的アルゴリズムの前処理で適用することができる。
Each system allocates equally to the physical servers 11a, 11b,..., 11n in order to secure a degenerate capacity when the physical servers 11a, 11b,. This condition is an arbitrary condition and can be applied on the genetic algorithm.
-Do not exceed the total amount of memory used by each physical server 11a, 11b, ..., 11n. This condition is an absolute condition and can be applied on the genetic algorithm.
The physical servers 11a, 11b,..., 11n scheduled for maintenance are excluded from allocation targets. This condition is an absolute condition and can be applied in the preprocessing of the genetic algorithm.

・余裕代の均等化を図るため、負荷が割り付けられた物理サーバ11a、11b・・・、11nのCPU容量の空きを均等にする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・省電力化を考慮して、負荷が割り付けられた物理サーバ11a、11b・・・、11nの総消費電力を小さくする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
In order to equalize the margin, the CPU capacity of the physical servers 11a, 11b,. This condition is an arbitrary condition and can be applied on the genetic algorithm.
In consideration of power saving, the total power consumption of the physical servers 11a, 11b,. This condition is an arbitrary condition and can be applied on the genetic algorithm.

図6は、本発明の一実施形態に係る物理サーバの過負荷時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図6において、図3の仮想マシン異常監視手段37は、一定時間待ちを行った後(ステップS41)、優先順に従って次会社を選択し(ステップS42)、さらに優先順に従って次システムを選択する(ステップS43)。そして、仮想マシン異常監視手段37は、次会社および次システムを選択すると、そのシステムのM分間分の負荷容量を計算する(ステップS44)。そして、割り付けシステム管理テーブル39に登録されているN%のCPUしきい値がM分間以上続いた場合(ステップS45)、そのシステムに割り当てられる負荷の増強量を計算し(ステップS46)、空きのある仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mを獲得する(ステップS47)。
FIG. 6 is a flowchart illustrating a method for allocating a physical server load to a system operating on a virtual server when the physical server is overloaded according to an embodiment of the present invention.
In FIG. 6, the virtual machine abnormality monitoring means 37 in FIG. 3 waits for a fixed time (step S41), then selects the next company according to the priority order (step S42), and further selects the next system according to the priority order (step S42). Step S43). When the virtual machine abnormality monitoring unit 37 selects the next company and the next system, the virtual machine abnormality monitoring unit 37 calculates the load capacity for M minutes of the system (step S44). Then, if the N% CPU threshold value registered in the allocation system management table 39 continues for M minutes or more (step S45), the amount of increase in load allocated to the system is calculated (step S46). A certain virtual server 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m is acquired (step S47).

そして、獲得した仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに溢れたシステムの負荷を割り付け(ステップS48)、仮想マシン切換スケジュールデータ42に書き込む(ステップS49)。
そして、仮想マシン異常監視手段37は、一定時間待ちを行った後(ステップS50)、仮想マシン切換スケジュールデータ42から仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動計画データを獲得する(ステップS51)。そして、稼動の即時要求のあるものを優先させながら、起動・停止時刻の過ぎているものがある場合(ステップS52)、そのことを仮想マシン制御指示手段43に通知する(ステップS53)。
And the acquired virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m The load is allocated (step S48) and written in the virtual machine switching schedule data 42 (step S49).
Then, the virtual machine abnormality monitoring unit 37 waits for a certain time (step S50), and then, from the virtual machine switching schedule data 42, the virtual servers 12a, 12b,..., 12m, 13a, 13b,. , 14a, 14b,..., 14m, 15a, 15b,..., 15m are acquired (step S51). Then, while giving priority to an immediate operation request, if there is one whose start / stop time has passed (step S52), this is notified to the virtual machine control instruction means 43 (step S53).

図7は、本発明の一実施形態に係る物理サーバまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。
図7において、図3の仮想マシン異常監視手段37は、物理サーバ11a、11b・・・、11nまたは仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの異常を検知すると(ステップS151)、その異常が物理サーバ11a、11b・・・、11nで発生したものかどうかを判断する(ステップS152)。
FIG. 7 is a flowchart showing a method for allocating a physical server load to a system operating on a virtual server when a physical server or a virtual server is abnormal according to an embodiment of the present invention.
7, the virtual machine abnormality monitoring means 37 in FIG. 3 includes physical servers 11a, 11b,..., 11n or virtual servers 12a, 12b,..., 12m, 13a, 13b,. 14b,..., 14m, 15a, 15b,..., 15m are detected (step S151), it is determined whether the abnormality has occurred in the physical servers 11a, 11b. Step S152).

そして、その異常が物理サーバ11a、11b・・・、11nで発生したものである場合、仮想マシン異常監視手段37は、その物理サーバ11a、11b・・・、11nで動作していた全ての仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの負荷容量を収集する(ステップS154)。   When the abnormality has occurred in the physical servers 11a, 11b,..., 11n, the virtual machine abnormality monitoring means 37 has all the virtual machines operating in the physical servers 11a, 11b,. , 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,..., 15m are collected (step S154). .

一方、その異常が仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mで発生したものである場合、仮想マシン異常監視手段37は、その仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの負荷容量を収集する(ステップS153)。   On the other hand, the abnormality occurred in the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m , The virtual servers 12a, 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,. ... Collects a load capacity of 15 m (step S153).

そして、異常の発生した物理サーバ11a、11b・・・、11nまたは仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mで稼動していたシステムに割り当てられる負荷の増強量を計算し(ステップS155)、空きのある仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mを獲得する(ステップS156)。   Then, the physical servers 11a, 11b,..., 11n or the virtual servers 12a, 12b,..., 12m, 13a, 13b, ..., 13m, 14a, 14b,. , 15b,..., 15m is calculated (step S155), and free virtual servers 12a, 12b,..., 12m, 13a, 13b,. .., 14m, 15a, 15b,..., 15m are acquired (step S156).

そして、獲得した仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに溢れたシステムの負荷を割り付け(ステップS157)、仮想マシン切換スケジュールデータ42に書き込む(ステップS158)。
そして、仮想マシン異常監視手段37は、一定時間待ちを行った後(ステップS60)、仮想マシン切換スケジュールデータ42から仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動計画データを獲得する(ステップS61)。そして、稼動の即時要求のあるものを優先させながら、起動・停止時刻の過ぎているものがある場合(ステップS62)、そのことを仮想マシン制御指示手段43に通知する(ステップS63)。
And the acquired virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m The load is allocated (step S157) and written to the virtual machine switching schedule data 42 (step S158).
Then, the virtual machine abnormality monitoring means 37 waits for a certain time (step S60), and then, from the virtual machine switching schedule data 42, the virtual servers 12a, 12b,..., 12m, 13a, 13b,. , 14a, 14b,..., 14m, 15a, 15b,..., 15m are acquired (step S61). Then, when priority is given to an operation that has an immediate request while there is an operation whose start / stop time has passed (step S62), the virtual machine control instruction unit 43 is notified of this (step S63).

図8は、本発明の一実施形態に係る物理サーバのメンテナンス移行時のまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示す図である。
図8において、物理サーバ11a、11b・・・、11nのメンテナンス移行処理では、時刻t0において、代替サーバの起動処理が行われる。そして、時刻t1において、メンテナンス予定の物理サーバ11a、11b・・・、11nに対する新規要求の受付が中止され、時刻t2において、クライアント端末に対して物理サーバ11a、11b・・・、11nの停止の通知が行われ、時刻t3において、メンテナンス予定の物理サーバ11a、11b・・・、11nの停止が行われる。
FIG. 8 is a diagram showing a method of allocating a physical server load to a system operating on a virtual server when the physical server maintenance transition or a virtual server abnormality according to an embodiment of the present invention is performed. .
In FIG. 8, in the maintenance transition process of the physical servers 11a, 11b,. At time t1, acceptance of a new request for the physical servers 11a, 11b,..., 11n scheduled for maintenance is stopped, and at time t2, the physical servers 11a, 11b,. Notification is made, and the physical servers 11a, 11b,..., 11n scheduled for maintenance are stopped at time t3.

例えば、メンテナンス開始予定時刻から端末通知開始時刻までの時間を10分とすることができる。また、メンテナンス予定の物理サーバ11a上でA社のaシステムが稼動しており、A社のaシステムの最大トランザクション時間が25分とすると、メンテナンス開始予定時刻から新規要求受付中止までの時間を25分とすることができ、メンテナンス開始予定時刻から代替サーバ起動処理までの時間を1時間25分とすることができる。   For example, the time from the scheduled maintenance start time to the terminal notification start time can be 10 minutes. Further, if the A system of Company A is operating on the physical server 11a scheduled for maintenance, and the maximum transaction time of the A system of Company A is 25 minutes, the time from the scheduled maintenance start time to the cancellation of new request acceptance is 25. The time from the scheduled maintenance start time to the alternative server activation process can be 1 hour and 25 minutes.

そして、図3の仮想マシン切換スケジュールデータ42に従って代替サーバの起動処理が行われ、メンテナンス予定の物理サーバ11aに対する新規要求の受付が中止されると、物理サーバ11a上で稼動されている仮想サーバ12a、12b、・・・、12mが順次減少する。
そして、端末通知開始時刻において動作しているクライアント端末に対してポップアップメッセージにてアラームが通知され、メンテナンス予定開始時刻になると、メンテナンス予定の物理サーバ11aの停止が行われる。ここで、物理サーバ11a上において処理が行われている場合には、管理者にメッセージを通知し、その処理を保留または強制停止させることができる。
Then, when the alternative server activation process is performed in accordance with the virtual machine switching schedule data 42 in FIG. 3 and the acceptance of a new request to the physical server 11a scheduled for maintenance is stopped, the virtual server 12a operating on the physical server 11a. , 12b,..., 12m decrease sequentially.
Then, an alarm is notified to the client terminal operating at the terminal notification start time by a pop-up message, and when the scheduled maintenance start time is reached, the maintenance scheduled physical server 11a is stopped. Here, when processing is being performed on the physical server 11a, a message can be notified to the administrator, and the processing can be suspended or forcibly stopped.

図9は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における新規要求受付停止時の動作を示すフローチャートである。
図9において、図3の仮想マシン異常監視手段37は、割り付けシステム管理テーブル39からメンテナンス予定の物理サーバ11a、11b・・・、11nの稼動スケジュールを読み込み(ステップS71)、(メンテナンス開始予定時刻−最大トランザクション時間)<現在時刻であるかどうかを判断する(ステップS72)。
FIG. 9 is a flowchart showing an operation at the time of stopping acceptance of a new request at the time of maintenance shift of the physical server according to an embodiment of the present invention.
9, the virtual machine abnormality monitoring means 37 in FIG. 3 reads the operation schedule of the physical servers 11a, 11b..., 11n scheduled for maintenance from the allocation system management table 39 (step S71), and (maintenance start time- It is determined whether or not (maximum transaction time) <current time (step S72).

そして、(メンテナンス開始予定時刻−最大トランザクション時間)<現在時刻である場合、物理マシン管理テーブル38のマシン状態という項目を“メンテナンス停止要求中”に変更する(ステップS73)。そして、負荷分散手段45は、物理マシン管理テーブル38のマシン状態が“メンテナンス停止要求中”に変更されると、その物理サーバ11a、11b・・・、11nの仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mへの新規の負荷の割り当てを中止する(ステップS74)。   If (maintenance start scheduled time−maximum transaction time) <current time, the item “machine state” in the physical machine management table 38 is changed to “maintenance stop requested” (step S73). Then, when the machine state of the physical machine management table 38 is changed to “maintenance stop requesting”, the load distribution means 45 will change the virtual servers 12a, 12b,. , 12m, 13a, 13b,..., 13m, 14a, 14b,..., 14m, 15a, 15b,.

図10は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。
図10において、図3の仮想マシン異常監視手段37は、割り付けシステム管理テーブル39からメンテナンス予定の物理サーバ11a、11b・・・、11nの稼動スケジュールを読み込み(ステップS81)、(メンテナンス開始予定時刻−端末通知開始時刻)<現在時刻であるかどうかを判断する(ステップS82)。
FIG. 10 is a flowchart showing an operation at the time of the maintenance shift of the physical server according to the embodiment of the present invention.
10, the virtual machine abnormality monitoring means 37 in FIG. 3 reads the operation schedule of the physical servers 11a, 11b,..., 11n scheduled for maintenance from the allocation system management table 39 (step S81), and (planned maintenance start time− It is determined whether (terminal notification start time) <current time (step S82).

そして、(メンテナンス開始予定時刻−端末通知開始時刻)<現在時刻である場合、物理マシン管理テーブル38のマシン状態という項目を“メンテナンス停止要求中&メッセージ通知”に変更する(ステップS83)。そして、各社のアプリケーションは、物理マシン管理テーブル38のマシン状態が“メンテナンス停止要求中&メッセージ通知”に変更されると、メンテナンス開始予定時刻に物理サーバ11a、11b・・・、11nを停止するというメッセージをクライアント端末に通知する(ステップS84)。   If (maintenance start scheduled time−terminal notification start time) <current time, the item “machine state” in the physical machine management table 38 is changed to “maintenance stop request & message notification” (step S83). When the machine state of the physical machine management table 38 is changed to “maintenance stop request & message notification”, the application of each company stops the physical servers 11a, 11b..., 11n at the scheduled maintenance start time. The message is notified to the client terminal (step S84).

図11は、本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。
図11において、図3の仮想マシン異常監視手段37は、割り付けシステム管理テーブル39からメンテナンス予定の物理サーバ11a、11b・・・、11nの稼動スケジュールを読み込み(ステップS91)、メンテナンス開始予定時刻<現在時刻であるかどうかを判断する(ステップS92)。
FIG. 11 is a flowchart showing an operation at the time of the maintenance shift of the physical server according to the embodiment of the present invention.
11, the virtual machine abnormality monitoring means 37 in FIG. 3 reads the operation schedules of the physical servers 11a, 11b,..., 11n scheduled for maintenance from the allocation system management table 39 (step S91), and scheduled maintenance start time <current It is determined whether it is time (step S92).

そして、メンテナンス開始予定時刻<現在時刻である場合、メンテナンス予定の物理サーバ11a、11b・・・、11n上で稼動している仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mへの要求がなくなったかを判断しながら、要求がなくなった仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mを停止させる(ステップS93、S94)。   If the scheduled maintenance start time is less than the current time, the virtual servers 12a, 12b,..., 12m, 13a, 13b running on the physical servers 11a, 11b,. .. 13m, 14a, 14b,..., 14m, 15a, 15b,..., 15m while determining whether there is no more request, the virtual servers 12a, 12b,. 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m are stopped (steps S93, S94).

そして、メンテナンス予定の物理サーバ11a、11b・・・、11n上で稼動している全ての仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mが停止されると(ステップS95)、その物理サーバ11a、11b・・・、11nの停止要求を仮想マシン切換スケジュールデータ42に書き込む(ステップS96)。   Then, all virtual servers 12a, 12b,..., 12m, 13a, 13b,..., 13m, 14a, 14b,. When 14m, 15a, 15b,..., 15m are stopped (step S95), stop requests for the physical servers 11a, 11b,..., 11n are written in the virtual machine switching schedule data 42 (step S96). ).

そして、仮想マシン制御指示手段43は、仮想マシン切換スケジュールデータ42を定期的に参照し、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの停止要求を発見すると、その仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの停止を指示する(ステップS98)。   Then, the virtual machine control instruction means 43 periodically refers to the virtual machine switching schedule data 42, and virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ... When a stop request for 14m, 15a, 15b, ..., 15m is found, the virtual servers 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ... ., 14m, 15a, 15b,..., 15m are instructed to stop (step S98).

本発明の第1実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the virtual server management system to which the load distribution apparatus which concerns on 1st Embodiment of this invention is applied. 本発明の一実施形態に係る仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法の一例を示す図である。It is a figure which shows an example of the allocation method to the physical server of the system operated on the virtual server which concerns on one Embodiment of this invention. 本発明の第2実施形態に係る負荷分散装置が適用される仮想サーバ管理システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the virtual server management system with which the load distribution apparatus which concerns on 2nd Embodiment of this invention is applied. 本発明の一実施形態に係る遺伝的アルゴリズムを用いた仮想サーバ上で動作されるシステムの物理サーバ上への割り付け方法を示すフローチャートである。4 is a flowchart illustrating a method for assigning a system operated on a virtual server using a genetic algorithm according to an embodiment of the present invention to a physical server. 本発明の一実施形態に係る仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。It is a flowchart which shows the method to allocate the load of a physical server with respect to the system operate | moved on the virtual server which concerns on one Embodiment of this invention. 本発明の一実施形態に係る物理サーバの過負荷時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。It is a flowchart which shows the method to allocate the load of a physical server with respect to the system operate | moved on a virtual server at the time of the overload of the physical server which concerns on one Embodiment of this invention. 本発明の一実施形態に係る物理サーバまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示すフローチャートである。It is a flowchart which shows the method to allocate the load of a physical server with respect to the system operate | moved on a virtual server at the time of abnormality of the physical server or virtual server which concerns on one Embodiment of this invention. 本発明の一実施形態に係る物理サーバのメンテナンス移行時のまたは仮想サーバの異常時において、仮想サーバ上で動作されるシステムに対して物理サーバの負荷を割り付ける方法を示す図である。It is a figure which shows the method to allocate the load of a physical server with respect to the system operate | moved on a virtual server at the time of the maintenance transfer of the physical server which concerns on one Embodiment of this invention, or at the time of abnormality of a virtual server. 本発明の一実施形態に係る物理サーバのメンテナンス移行時における新規要求受付停止時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the stop of new request reception at the time of the maintenance transfer of the physical server which concerns on one Embodiment of this invention. 本発明の一実施形態に係る物理サーバのメンテナンス移行時における端末通知開始時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the terminal notification start at the time of the maintenance transfer of the physical server which concerns on one Embodiment of this invention. 本発明の一実施形態に係る物理サーバのメンテナンス移行時における動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the maintenance transfer of the physical server which concerns on one Embodiment of this invention.

符号の説明Explanation of symbols

1a、1b、・・・、1n、11a、11b、・・・、11n 物理サーバ
2a、2b、・・・、2m、3a、3b、・・・、3m、4a、4b、・・・、4m、5a、5b、・・・、5m、12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m 仮想サーバ
6 負荷状況収集手段
7 負荷割付手段
8 負荷分散手段
9 負荷分散装置
16 仮想マシン管理マネージャ
17 稼動状況収集手段
18 稼動実績送信手段
19、36 稼動実績データ
20 稼動実績収集手段
21 仮想マシン制御手段
23、32 送受信制御手段
31 負荷分散装置
33 稼動状態受信手段
34 稼動実績受信手段
35 仮想マシン状態テーブル
37 仮想マシン異常監視手段
38 物理マシン管理テーブル
39 割り付けシステム管理テーブル
40 仮想マシン割り付けスケジューラ
41 時間別稼動実績データ
42 仮想マシン切換スケジュールデータ
43 仮想マシン制御指示手段
45 負荷分散手段
1a, 1b, ..., 1n, 11a, 11b, ..., 11n Physical servers 2a, 2b, ..., 2m, 3a, 3b, ..., 3m, 4a, 4b, ..., 4m 5a, 5b, ..., 5m, 12a, 12b, ..., 12m, 13a, 13b, ..., 13m, 14a, 14b, ..., 14m, 15a, 15b, ..., 15m Virtual server 6 Load status collection means 7 Load allocation means 8 Load distribution means 9 Load distribution device 16 Virtual machine management manager 17 Operation status collection means 18 Operation result transmission means 19, 36 Operation result data 20 Operation result collection means 21 Virtual machine control means 23, 32 Transmission / reception control means 31 Load balancer 33 Operating status receiving means 34 Operating result receiving means 35 Virtual machine status table 37 Virtual machine abnormality monitoring means 38 Physical machine Thin management table 39 Allocation system management table 40 Virtual machine allocation scheduler 41 Hourly operation result data 42 Virtual machine switching schedule data 43 Virtual machine control instruction means 45 Load distribution means

Claims (7)

複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集する負荷状況収集手段と、
前記複数の仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバにかかる負荷を割り付ける負荷割付手段と、
前記負荷割付手段にて割り付けられた負荷を前記物理サーバに分散する負荷分散手段とを備え
前記負荷割付手段は、
前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、
前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、
前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、
そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする負荷分散装置。
Load status collection means for collecting the load status of a system operating on a plurality of virtual servers from a plurality of physical servers;
Load allocation means for allocating a load applied to the physical server according to a genetic algorithm in which a load capacity of a system operated by the plurality of virtual servers is expressed by a gene sequence;
And a load distribution unit that distributes the load assigned by the load allocation unit to the physical server,
The load allocating means is
While setting a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of genes as one gene,
By assigning individual symbols to each of a plurality of systems operated by the plurality of virtual servers, and arranging the number of symbols based on a value obtained by dividing the load capacity of each system by the reference unit , Each of these multiple systems is represented by a gene consisting of multiple identical symbols,
By arranging the number of symbols of each system in accordance with the priority order of the plurality of systems, the entire plurality of systems are represented by a single gene sequence, and the genes of the initial solid selection width are expressed in accordance with the initial solid generation order. A random number is used to select a gene to generate a plurality of initial solids.When the genes with the earliest order in the initial solid selection width are selected by the number of the system, the selection target is selected in the initial solid selection width. Change to the next gene, until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, repeat the process after the process of generating the initial solid using the random number,
When the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, the solid gene obtained by repeating the selection and crossover from the plurality of initial individuals according to the genetic algorithm a load balancer, characterized in sequential assignment Rukoto to the physical servers within the load capacity set in the physical server to be allocated object.
前記負荷割付手段は、前記物理サーバにかかる負荷が前記物理サーバの処理能力の所定の範囲内にそれぞれ収まるように負荷を割り付けることを特徴とする請求項1記載の負荷分散装置。   The load distribution apparatus according to claim 1, wherein the load allocation unit allocates the load so that the load applied to the physical server falls within a predetermined range of the processing capacity of the physical server. 前記負荷割付手段は、現在稼動されている物理サーバにかかる負荷が上限値を超えている場合、前記物理サーバにかかる負荷が上限値を超えないように、前記物理サーバにかかる負荷を割り付け直すことを特徴とする請求項1記載の負荷分散装置。   The load allocating means reallocates the load applied to the physical server so that the load applied to the physical server does not exceed the upper limit value when the load applied to the currently operating physical server exceeds the upper limit value. The load distribution apparatus according to claim 1. 前記負荷割付手段は、前記仮想サーバ上で前記システムが稼動される物理サーバの停止予定がある場合、前記停止予定がある物理サーバ上で稼動されるシステムの負荷を他の物理サーバに割り付け直すことを特徴とする請求項1記載の負荷分散装置。   When there is a plan to stop a physical server on which the system is operated on the virtual server, the load allocation unit reallocates the load of the system operated on the physical server on which the system is scheduled to stop to another physical server. The load distribution apparatus according to claim 1. 複数の物理サーバと、
前記物理サーバ上でそれぞれ起動される複数の仮想サーバと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出し、前記算出した負荷を前記物理サーバに分散する負荷分散装置とを備え
前記負荷分散装置は、
前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、
前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、
前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、
そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする仮想サーバ管理システム。
Multiple physical servers,
A plurality of virtual servers each started on the physical server;
A load distribution device that calculates a load allocated to each physical server according to a genetic algorithm in which a load capacity of a system operated by the virtual server is expressed by a gene sequence, and distributes the calculated load to the physical server; , equipped with a,
The load balancer is:
While setting a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of genes as one gene,
By assigning individual symbols to each of a plurality of systems operated by the plurality of virtual servers, and arranging the number of symbols based on a value obtained by dividing the load capacity of each system by the reference unit , Each of these multiple systems is represented by a gene consisting of multiple identical symbols,
By arranging the number of symbols of each system in accordance with the priority order of the plurality of systems, the entire plurality of systems are represented by a single gene sequence, and the genes of the initial solid selection width are expressed in accordance with the initial solid generation order. A random number is used to select a gene to generate a plurality of initial solids.When the genes with the earliest order in the initial solid selection width are selected by the number of the system, the selection target is selected in the initial solid selection width. Change to the next gene, until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, repeat the process after the process of generating the initial solid using the random number,
When the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, the solid gene obtained by repeating the selection and crossover from the plurality of initial individuals according to the genetic algorithm the virtual server management system, characterized in sequential assignment Rukoto to the physical servers within the load capacity set in the physical server to be allocated object.
複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、
前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップと、をコンピュータに実行させるようになっており、
前記物理サーバごとに割り付けられる負荷を算出するステップでは、
前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、
前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、
前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、
そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする負荷分散方法。
Collecting the load status of a system running on multiple virtual servers from multiple physical servers;
Calculating a load allocated to each physical server according to a genetic algorithm in which a load capacity of a system operated by the virtual server is represented by a gene sequence;
Distributing the load allocated to each physical server to the physical server, and causing the computer to execute the step .
In the step of calculating the load allocated to each physical server,
While setting a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of genes as one gene,
By assigning individual symbols to each of a plurality of systems operated by the plurality of virtual servers, and arranging the number of symbols based on a value obtained by dividing the load capacity of each system by the reference unit , Each of these multiple systems is represented by a gene consisting of multiple identical symbols,
By arranging the number of symbols of each system in accordance with the priority order of the plurality of systems, the entire plurality of systems are represented by a single gene sequence, and the genes of the initial solid selection width are expressed in accordance with the initial solid generation order. A random number is used to select a gene to generate a plurality of initial solids.When the genes with the earliest order in the initial solid selection width are selected by the number of the system, the selection target is selected in the initial solid selection width. Change to the next gene, until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, repeat the process after the process of generating the initial solid using the random number,
When the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, the solid gene obtained by repeating the selection and crossover from the plurality of initial individuals according to the genetic algorithm Are sequentially allocated to the physical servers within the range of the load capacity set for the physical servers to be allocated .
複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、
前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、
前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップとをコンピュータに実行させるものであって、
前記物理サーバごとに割り付けられる負荷を算出するステップでは、
前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を1つの遺伝子として設定する一方、
前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、
前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、
そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする負荷分散プログラム。
Collecting the load status of a system running on multiple virtual servers from multiple physical servers;
Calculating a load allocated to each physical server according to a genetic algorithm in which a load capacity of a system operated by the virtual server is represented by a gene sequence;
Be one that is executed the steps of dispersing a load assigned to each of the physical servers on the physical server, to a computer,
In the step of calculating the load allocated to each physical server,
While setting a reference unit obtained by dividing the processing capacity of the processor of the physical server into a plurality of genes as one gene,
By assigning individual symbols to each of a plurality of systems operated by the plurality of virtual servers, and arranging the number of symbols based on a value obtained by dividing the load capacity of each system by the reference unit , Each of these multiple systems is represented by a gene consisting of multiple identical symbols,
By arranging the number of symbols of each system in accordance with the priority order of the plurality of systems, the entire plurality of systems are represented by a single gene sequence, and the genes of the initial solid selection width are expressed in accordance with the initial solid generation order. A random number is used to select a gene to generate a plurality of initial solids.When the genes with the earliest order in the initial solid selection width are selected by the number of the system, the selection target is selected in the initial solid selection width. Change to the next gene, until the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, repeat the process after the process of generating the initial solid using the random number,
When the number of genes assigned to the initial solid matches the total number of genes of the plurality of systems, the solid gene obtained by repeating the selection and crossover from the plurality of initial individuals according to the genetic algorithm Are sequentially allocated to the physical servers within the range of the load capacity set for the physical servers to be allocated .
JP2007110814A 2007-04-19 2007-04-19 Load distribution apparatus, virtual server management system, load distribution method, and load distribution program Active JP4739272B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007110814A JP4739272B2 (en) 2007-04-19 2007-04-19 Load distribution apparatus, virtual server management system, load distribution method, and load distribution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007110814A JP4739272B2 (en) 2007-04-19 2007-04-19 Load distribution apparatus, virtual server management system, load distribution method, and load distribution program

Publications (2)

Publication Number Publication Date
JP2008269250A JP2008269250A (en) 2008-11-06
JP4739272B2 true JP4739272B2 (en) 2011-08-03

Family

ID=40048670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007110814A Active JP4739272B2 (en) 2007-04-19 2007-04-19 Load distribution apparatus, virtual server management system, load distribution method, and load distribution program

Country Status (1)

Country Link
JP (1) JP4739272B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158855A (en) * 2014-07-24 2014-11-19 浙江大学 Mobile service combined calculation discharge method based on genetic algorithm

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205209A (en) * 2009-03-06 2010-09-16 Hitachi Ltd Management computer, computer system, and physical resource allocating method
JP5352367B2 (en) * 2009-07-27 2013-11-27 株式会社エヌ・ティ・ティ・データ Virtual machine boot terminal and virtual machine boot program
JP5287623B2 (en) * 2009-09-11 2013-09-11 株式会社リコー Virtual server management system, image processing system, virtual server management apparatus, and control program
JP4681676B1 (en) * 2010-03-26 2011-05-11 株式会社野村総合研究所 Information processing system and information processing method
JP4878397B2 (en) * 2010-07-14 2012-02-15 株式会社野村総合研究所 Information processing system and information processing method
JP5503678B2 (en) * 2012-03-07 2014-05-28 株式会社Nttドコモ Host providing system and host providing method
CN103576829B (en) * 2012-08-01 2016-04-20 复旦大学 Based on the cloud computing virtual machine dynamic dispatching method of genetic algorithm
WO2014192132A1 (en) 2013-05-31 2014-12-04 株式会社日立製作所 Load distribution device and method
US10489175B2 (en) * 2013-06-10 2019-11-26 Amazon Technologies, Inc. Pre-configure and pre-launch compute resources
CN105786610B (en) * 2016-04-07 2019-03-22 吉林大学 The method that computation-intensive task is unloaded into Cloud Server
JP6743560B2 (en) 2016-08-02 2020-08-19 富士通株式会社 Load balancing control program, apparatus and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058520A (en) * 2001-08-09 2003-02-28 Mitsubishi Heavy Ind Ltd Computer arrangement method
JP2004133894A (en) * 2002-07-11 2004-04-30 Microsoft Corp Method for forking or migrating virtual machine
JP2005115653A (en) * 2003-10-08 2005-04-28 Ntt Data Corp Virtual machine management device and program
JP2005339528A (en) * 2004-04-30 2005-12-08 Hitachi Ltd Computer system, management server, blade assignment method, blade assignment program, server system, and arrangement method of server
JP2007052799A (en) * 2006-09-29 2007-03-01 Fujitsu Ltd Method for processing circuit arrangement optimizing problem and computer readable recording medium with circuit arrangement optimizing problem processin program recorded

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09274608A (en) * 1996-04-04 1997-10-21 Hitachi Ltd Inter-processor load distribution control method for multiprocessor system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058520A (en) * 2001-08-09 2003-02-28 Mitsubishi Heavy Ind Ltd Computer arrangement method
JP2004133894A (en) * 2002-07-11 2004-04-30 Microsoft Corp Method for forking or migrating virtual machine
JP2005115653A (en) * 2003-10-08 2005-04-28 Ntt Data Corp Virtual machine management device and program
JP2005339528A (en) * 2004-04-30 2005-12-08 Hitachi Ltd Computer system, management server, blade assignment method, blade assignment program, server system, and arrangement method of server
JP2007052799A (en) * 2006-09-29 2007-03-01 Fujitsu Ltd Method for processing circuit arrangement optimizing problem and computer readable recording medium with circuit arrangement optimizing problem processin program recorded

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158855A (en) * 2014-07-24 2014-11-19 浙江大学 Mobile service combined calculation discharge method based on genetic algorithm
CN104158855B (en) * 2014-07-24 2018-01-02 浙江大学 Information Mobile Service combination based on genetic algorithm calculates discharging method

Also Published As

Publication number Publication date
JP2008269250A (en) 2008-11-06

Similar Documents

Publication Publication Date Title
JP4739271B2 (en) Power supply control device, virtual server management system, power supply control method, and power supply control program
JP4739272B2 (en) Load distribution apparatus, virtual server management system, load distribution method, and load distribution program
CN109218355B (en) Load balancing engine, client, distributed computing system and load balancing method
US7464160B2 (en) Provisioning grid services to maintain service level agreements
US8468246B2 (en) System and method for allocating resources in a distributed computing system
Rajguru et al. A comparative performance analysis of load balancing algorithms in distributed system using qualitative parameters
CN102388381B (en) System and methods for allocating shared storage resources
KR20170029263A (en) Apparatus and method for load balancing
CN102696000A (en) Methods and apparatus for coordinated energy management in virtualized data centers
EP2755133B1 (en) Application execution controller and application execution method
CN111443870B (en) Data processing method, device and storage medium
KR20100133418A (en) Method, system and computer program for workload scheduling
CN113608871A (en) Service processing method and device
CN103812886B (en) computer cluster resource allocation system and method
JPWO2005116832A1 (en) Computer system, method and program for controlling job execution in a distributed processing environment
WO2016153401A1 (en) Methods and nodes for scheduling data processing
CN112162839A (en) Task scheduling method and device, computer equipment and storage medium
Yakubu et al. Service level agreement violation preventive task scheduling for quality of service delivery in cloud computing environment
JP7028121B2 (en) Resource allocation calculation device and resource allocation calculation method
Zikos et al. Communication cost effective scheduling policies of nonclairvoyant jobs with load balancing in a grid
Yusoh et al. A penalty-based grouping genetic algorithm for multiple composite saas components clustering in cloud
CN115941604A (en) Flow distribution method, device, equipment, storage medium and program product
Nandagopal et al. Hierarchical status information exchange scheduling and load balancing for computational grid environments
Kesidis et al. Scheduling distributed resources in heterogeneous private clouds
JP5526748B2 (en) Packet processing device, packet distribution device, control program, and packet distribution method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110427

R150 Certificate of patent or registration of utility model

Ref document number: 4739272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350