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 PDFInfo
- 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
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
また、例えば、特許文献2には、要求量予測値が示す量のトラフィックが当該ネットワークサービスに到着した場合に、利用者端末に対する応答時間の平均が運用管理者が予め定めた応答閾値以下となるように、当該ネットワークサービスに割り当てられるサーバの量を制御することで、データセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずにリアルタイムに自動的に行う方法が開示されている。
しかしながら、従来のサーバ仮想化技術では、リソース要求を考慮しながら物理サーバが持っているリソースを仮想サーバ上で割り振ることはできるが、物理サーバの処理能力や消費電力、物理サーバの割り付け台数や異常時の縮退容量などの様々の条件を考慮しながら、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることができないという問題があった。
そこで、本発明の目的は、様々の割り付け条件を考慮しつつ、物理サーバが持っているリソースを仮想サーバ上に効率よく割り振ることが可能な負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラムを提供することである。
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
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.
また、請求項5記載の仮想サーバ管理システムによれば、複数の物理サーバと、前記物理サーバ上でそれぞれ起動される複数の仮想サーバと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出し、前記算出した負荷を前記物理サーバに分散する負荷分散装置と、を備え、前記負荷分散装置は、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を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.
また、請求項6記載の負荷分散方法によれば、複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップと、をコンピュータに実行させるようになっており、前記物理サーバごとに割り付けられる負荷を算出するステップでは、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を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 .
また、請求項7記載の負荷分散プログラムによれば、複数の仮想サーバ上で稼動されるシステムの負荷状況を複数の物理サーバから収集するステップと、前記仮想サーバで稼動されるシステムの負荷容量が遺伝子配列で表現された遺伝的アルゴリズムに従って、前記物理サーバごとに割り付けられる負荷を算出するステップと、前記物理サーバごとに割り付けられた負荷を前記物理サーバに分散するステップと、をコンピュータに実行させるものであって、前記物理サーバごとに割り付けられる負荷を算出するステップでは、前記物理サーバのプロセッサの処理能力を複数に分割してなる基準単位を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)
なお、物理サーバとは、ハードウェアによってそれぞれ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
なお、ここで言う仮想サーバとは、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
すなわち、物理サーバ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
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
そして、物理サーバ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
Then, solid dredging and crossover can be repeated according to the genetic algorithm until the load allocated to the system for each
そして、物理サーバ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
As a condition for assigning the load on the
あるいは、物理サーバ1a、1b・・・、1nが稼動されている状態で、例えば、物理サーバ1aにかかる負荷が上限値を超えている場合、物理サーバ1aにかかる負荷が上限値を超えないように、物理サーバ1a、1b・・・、1nにかかる負荷を割り付け直すことができる。
あるいは、例えば、仮想サーバ2a、2b、・・・、2m上でシステムが稼動される物理サーバ1aの停止予定がある場合、その物理サーバ1a上で稼動されるシステムの負荷を他の物理サーバ1b・・・、1nに割り付け直すことができる。
Alternatively, when the
Alternatively, for example, when there is a plan to stop the
これにより、遺伝的アルゴリズムに従って、仮想サーバ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
図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
そして、図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
そして、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
図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
そして、物理サーバ11aには、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績データ19、稼動実績収集手段20、仮想マシン制御手段21、仮想マシン電源制御指示手段22が設けられている。なお、図3には示してないが、他の物理サーバ11b・・・、11nにも、物理サーバ11aと同様に、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績データ19、稼動実績収集手段20、仮想マシン制御手段21を設けることができる。
The
ここで、仮想マシン管理マネージャ16は、仮想サーバ12a、12b、・・・、12mの負荷容量を管理したり、仮想サーバ12a、12b、・・・、12mの起動や停止を物理サーバ11aに指示したりすることができる。稼動状況収集手段17は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動状況を収集し、それらの稼動状況の送信要求を負荷分散装置31に行うことができる。稼動実績送信手段18は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動実績の送信要求を負荷分散装置31に定期的に行うことができる。
Here, the virtual
稼動実績収集手段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
また、稼動実績データ19は、物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mのシステム単位での稼動実績を示すもので、稼動実績データ19における管理項目としては、以下の例を挙げることができる。
・仮想サーバ名キー
・物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mが稼動された時のシステム単位でのCPU負荷
・物理サーバ11aおよび仮想サーバ12a、12b、・・・、12mが稼動された時のシステム単位でのメモリ使用率
Further, the
-Virtual server name key-CPU load for each system when the
なお、仮想マシン管理マネージャ16、稼動状況収集手段17、稼動実績送信手段18、稼動実績収集手段20、仮想マシン制御手段21は、これらの手段で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。また、稼動実績データ19は、物理サーバ11a内のメモリに格納することができる。
Note that the virtual
そして、このプログラムを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
また、仮想サーバ管理システムには負荷分散装置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
そして、負荷分散装置31には、送受信制御手段32、負荷分散装置31、稼動状態受信手段33、稼動実績受信手段34、仮想マシン状態テーブル35、稼動実績データ36、仮想マシン異常監視手段37、物理マシン管理テーブル38、割り付けシステム管理テーブル39、仮想マシン割り付けスケジューラ40、時間別稼動実績データ41、仮想マシン切換スケジュールデータ42、仮想マシン制御指示手段43、負荷分散手段45が設けられている。
The
ここで、送受信制御手段32は、物理サーバ11aと負荷分散装置31との間のデータの送受信の制御を行うことができる。稼動状態受信手段33は、物理サーバ11a、11b・・・、11nや仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mの稼動状態を受信し、仮想マシン状態テーブル35に登録させることができる。
Here, the transmission /
稼動実績受信手段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
The virtual machine abnormality monitoring means 37 refers to the virtual machine state table 35 periodically, while referring to the
仮想マシン割り付けスケジューラ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
ここで、仮想マシン割り付けスケジューラ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
仮想マシン制御指示手段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
負荷分散手段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
The virtual machine state table 35 includes
-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
Virtual server name key
物理マシン管理テーブル38は、実際にシステムが稼動される物理サーバ11a、11b・・・、11nの管理情報を示すもので、物理マシン管理テーブル38における管理項目としては、以下の例を挙げることができる。
・物理サーバ名キー
・物理サーバの稼動状態
・物理サーバの割り付け優先順序
・物理サーバの状態コード
・物理サーバの状態メッセージ内容
・物理サーバの状態メッセージの詳細
・物理サーバのCPU容量(マシンスペック・現容量状態)
・物理サーバのメモリ容量(マシンスペック・現容量状態)
The physical machine management table 38 shows the management information of the
-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
-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
-Application system unit key-Company code and company name-System name-Date and time of system operation-
仮想マシン切換スケジュールデータ42は、どの仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15m上でどのシステムをどれだけの負荷容量を割り当てながらいつ実行させるかについての稼動計画データを示すもので、仮想マシン切換スケジュールデータ42における管理項目としては、以下の例を挙げることができる。
・仮想サーバキー
・仮想サーバの起動/停止日時
・仮想サーバの起動時のCPU容量
・仮想サーバの起動時のメモリ容量
The virtual machine
-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
そして、このプログラムを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
そして、物理サーバ11aにおいて、稼動状況収集手段17は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動状況を収集し、それらの稼動状況を送受信制御手段23を介して負荷分散装置31に送信する。また、稼動実績収集手段20は、物理サーバ11aや仮想サーバ12a、12b、・・・、12mの稼動実績を収集し、それらの稼動実績を稼動実績データ19として物理サーバ11aに保持させる。そして、稼動実績データ19が物理サーバ11aに保持されると、稼動実績送信手段18は、稼動実績データ19を送受信制御手段23を介して負荷分散装置31に送信する。
In the
なお、他の物理サーバ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
Then, when the operating statuses of the
When the operation results of the
そして、仮想マシン異常監視手段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
また、仮想マシン割り付けスケジューラ40は、物理マシン管理テーブル38および割り付けシステム管理テーブル39を参照しながら、稼動実績データ36に基づいて、仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mに対する負荷の割り当てスケジュールを設定し、仮想マシン切換スケジュールデータ42として保持させる。
Further, the virtual
ここで、仮想マシン割り付けスケジューラ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
そして、仮想マシン割り付けスケジューラ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
When the virtual
そして、仮想マシン割り付けスケジューラ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
The virtual machine control instruction means 43 periodically monitors the virtual machine
そして、例えば、仮想マシン制御指示手段43による指示が物理サーバ11aに行われると、仮想マシン制御手段21は、送受信制御手段23を介して仮想マシン制御指示手段43からの指示を受信し、物理サーバ11aや仮想サーバ12a、12b、・・・、12mに割り付けられた負荷に基づいて、仮想サーバ12a、12b、・・・、12mの起動や停止を仮想マシン管理マネージャ16に指示する。
For example, when an instruction from the virtual machine
また、負荷分散手段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
For example, when the load is distributed to the
図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
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
なお、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
(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
この場合、物理サーバ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
If the priority order of the
例えば、負荷の割り付け対象となるシステムとして、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
例えば、上述した割り付け優先順の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
そして、これらの物理サーバ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
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
When the system is arranged on the
図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
そして、目標とする割り付け可能な負荷容量の算出処理では、前回に各物理サーバ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
一方、物理サーバ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
そして、割り付け対象となる物理サーバ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
一方、割り付け対象となる物理サーバ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
一方、物理サーバ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
Then, when a load is allocated to the
The number of system divisions is set to 2 or more in consideration of the response at the time of abnormality of the
・仮想サーバ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
・物理サーバ11a、11b・・・、11nの異常時の縮退容量を確保するために、各システムが物理サーバ11a、11b・・・、11nに均等に割り付ける。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・各物理サーバ11a、11b・・・、11nの総使用メモリ量を超えないようにする。なお、この条件は絶対条件で、遺伝的アルゴリズム上で適用することができる。
・メンテナンスが予定されている物理サーバ11a、11b・・・、11nは割り当て対象から除外する。なお、この条件は絶対条件で、遺伝的アルゴリズムの前処理で適用することができる。
Each system allocates equally to the
-Do not exceed the total amount of memory used by each
The
・余裕代の均等化を図るため、負荷が割り付けられた物理サーバ11a、11b・・・、11nのCPU容量の空きを均等にする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
・省電力化を考慮して、負荷が割り付けられた物理サーバ11a、11b・・・、11nの総消費電力を小さくする。なお、この条件は任意条件で、遺伝的アルゴリズム上で適用することができる。
In order to equalize the margin, the CPU capacity of the
In consideration of power saving, the total power consumption of the
図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
そして、獲得した仮想サーバ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
Then, the virtual machine
図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
そして、その異常が物理サーバ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
一方、その異常が仮想サーバ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
そして、異常の発生した物理サーバ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
そして、獲得した仮想サーバ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
Then, the virtual machine abnormality monitoring means 37 waits for a certain time (step S60), and then, from the virtual machine
図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
例えば、メンテナンス開始予定時刻から端末通知開始時刻までの時間を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
そして、図3の仮想マシン切換スケジュールデータ42に従って代替サーバの起動処理が行われ、メンテナンス予定の物理サーバ11aに対する新規要求の受付が中止されると、物理サーバ11a上で稼動されている仮想サーバ12a、12b、・・・、12mが順次減少する。
そして、端末通知開始時刻において動作しているクライアント端末に対してポップアップメッセージにてアラームが通知され、メンテナンス予定開始時刻になると、メンテナンス予定の物理サーバ11aの停止が行われる。ここで、物理サーバ11a上において処理が行われている場合には、管理者にメッセージを通知し、その処理を保留または強制停止させることができる。
Then, when the alternative server activation process is performed in accordance with the virtual machine
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
図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
そして、(メンテナンス開始予定時刻−最大トランザクション時間)<現在時刻である場合、物理マシン管理テーブル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
図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
そして、(メンテナンス開始予定時刻−端末通知開始時刻)<現在時刻である場合、物理マシン管理テーブル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
図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
そして、メンテナンス開始予定時刻<現在時刻である場合、メンテナンス予定の物理サーバ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
そして、メンテナンス予定の物理サーバ11a、11b・・・、11n上で稼動している全ての仮想サーバ12a、12b、・・・、12m、13a、13b、・・・、13m、14a、14b、・・・、14m、15a、15b、・・・、15mが停止されると(ステップS95)、その物理サーバ11a、11b・・・、11nの停止要求を仮想マシン切換スケジュールデータ42に書き込む(ステップS96)。
Then, all
そして、仮想マシン制御指示手段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
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
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つの遺伝子として設定する一方、
前記複数の仮想サーバで稼動される複数のシステムのそれぞれに個別の記号を付与するとともに、当該各システムの負荷容量を前記基準単位で除した値に基づいた個数分の前記記号を配列することにより、それら複数のシステムのそれぞれを複数の同じ記号からなる遺伝子で表現し、
前記複数のシステムの優先順位に従って各システムの前記個数分の記号を配列することで前記複数のシステム全体を一つの遺伝子配列で表現したものから、初期固体生成順序に従って初期固体選択幅の遺伝子の中から乱数を用いて遺伝子を選択して、複数の初期固体を生成し、初期固体選択幅における順序が最も早い遺伝子がそのシステムの個数分だけ選択されると選択対象を初期固体選択幅における順序が次の遺伝子に変更し、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致するまで、前記乱数を用いて前記初期固体を生成する処理以降の処理を繰り返し行い、
そして、初期固体に割り付けられた遺伝子の個数が前記複数のシステムの遺伝子の総数に一致したときには、そのときの複数の初期個体からさらに遺伝的アルゴリズムに従って淘汰および交叉を繰り返しながら得られた固体の遺伝子を、割り付け対象となる物理サーバに設定された負荷容量の範囲内で前記物理サーバに順次割り付けることを特徴とする仮想サーバ管理システム。 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 .
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)
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)
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)
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)
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 |
-
2007
- 2007-04-19 JP JP2007110814A patent/JP4739272B2/en active Active
Patent Citations (5)
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)
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 |