JP7356026B2 - Load balancer deployment position determination method and load balancer deployment position determination program - Google Patents

Load balancer deployment position determination method and load balancer deployment position determination program Download PDF

Info

Publication number
JP7356026B2
JP7356026B2 JP2020006068A JP2020006068A JP7356026B2 JP 7356026 B2 JP7356026 B2 JP 7356026B2 JP 2020006068 A JP2020006068 A JP 2020006068A JP 2020006068 A JP2020006068 A JP 2020006068A JP 7356026 B2 JP7356026 B2 JP 7356026B2
Authority
JP
Japan
Prior art keywords
cloud
bases
base
load balancer
time
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
JP2020006068A
Other languages
Japanese (ja)
Other versions
JP2021114683A (en
Inventor
昌浩 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020006068A priority Critical patent/JP7356026B2/en
Publication of JP2021114683A publication Critical patent/JP2021114683A/en
Application granted granted Critical
Publication of JP7356026B2 publication Critical patent/JP7356026B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ロードバランサ配備位置決定方法、及びロードバランサ配備位置決定プログラムに関する。 The present invention relates to a load balancer deployment position determination method and a load balancer deployment position determination program.

仮想化技術の発展に伴い、データセンタ内で起動している仮想マシンを利用して種々のサービスを利用者に提供するクラウドサービスが普及しつつある。クラウドサービスでは、サービスに必要なデータやプログラム等を仮想マシン側で管理するため、これらを利用者が管理する必要がなくなり、利用者の業務の効率化やコストダウンを図ることができる。なお、以下ではクラウドサービスのことを単にクラウドとも呼ぶ。 With the development of virtualization technology, cloud services that provide various services to users using virtual machines running in data centers are becoming popular. With cloud services, the data and programs necessary for the service are managed on the virtual machine side, so the user no longer has to manage them, making it possible to improve the efficiency of the user's work and reduce costs. Note that cloud services are also simply referred to as clouds below.

クラウドの可用性を高める技術として、複数のクラウドを組み合わせたマルチクラウドと呼ばれる技術がある。マルチクラウドにおいては、データセンタの障害等によってあるクラウドを使用できない状況になっても、残りのクラウドを利用することができるため、クラウドの可用性を高めることができる。 As a technology for increasing cloud availability, there is a technology called multi-cloud, which combines multiple clouds. In multi-cloud, even if one cloud becomes unusable due to a data center failure or the like, the remaining clouds can be used, thereby increasing the availability of the clouds.

但し、マルチクラウドには、利用者がサービスのリクエストを出してからそのサービスの提供を受けるまでの時間のばらつきを抑制するという点で改善の余地がある。 However, there is room for improvement in multi-cloud in terms of reducing variations in the time between a user requesting a service and receiving that service.

特開2018-084986号公報JP2018-084986A

一側面によれば、利用者がサービスのリクエストを出してからそのサービスの提供を受けるまでの時間のばらつきを抑制することを目的とする。 According to one aspect, the purpose is to suppress variations in time from a user issuing a service request to receiving the service.

一側面によれば、コンピュータが、複数の第1のクラウド拠点の各々に構築されたシステムがリクエストを受け付けたときに実行する処理に要する処理時間を前記第1のクラウド拠点ごとに取得し、前記第1のクラウド拠点と第2のクラウド拠点との間の通信時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに取得し、前記処理時間と前記通信時間とを加算した応答時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに算出し、複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点の各々との間における前記応答時間のばらつきが基準値未満となる第2のクラウド拠点を、前記リクエストを複数の前記第1のクラウド拠点の各々に振り分けるロードバランサの配備先の候補とするロードバランサ配備位置決定方法が提供される。 According to one aspect, a computer acquires, for each of the first cloud bases, a processing time required for processing to be executed when a system built at each of the plurality of first cloud bases receives a request; The communication time between a first cloud base and a second cloud base is acquired for each combination of a plurality of first cloud bases and a plurality of second cloud bases, and the processing time and the communication The response time is calculated for each combination of the plurality of first cloud bases and the plurality of second cloud bases, and among the plurality of second cloud bases, the response time A second cloud base where the variation in the response time between each of the plurality of cloud bases is less than a reference value is a candidate for deployment of a load balancer that distributes the request to each of the plurality of first cloud bases. A method for determining the location of a load balancer is provided.

一側面によれば、利用者がサービスのリクエストを出してからそのサービスの提供を受けるまでの時間のばらつきを抑制することができる。 According to one aspect, it is possible to suppress variations in time from a user issuing a service request to receiving the service.

図1は、検討に使用したマルチクラウドのシステム構成図である。FIG. 1 is a system configuration diagram of the multi-cloud system used in the study. 図2(a)、(b)は、問題について説明するための模式図である。FIGS. 2(a) and 2(b) are schematic diagrams for explaining the problem. 図3は、検討に使用したシステムの運用方法について説明するための模式図である。FIG. 3 is a schematic diagram for explaining the operating method of the system used in the study. 図4は、検討に使用したシステムの第1のクラウド拠点に障害が発生した場合の模式図である。FIG. 4 is a schematic diagram of a case where a failure occurs in the first cloud base of the system used in the study. 図5は、本実施形態に係るシステムの構成図である。FIG. 5 is a configuration diagram of a system according to this embodiment. 図6は、本実施形態に係る第1の測定用仮想マシンの機能について説明するための模式図である。FIG. 6 is a schematic diagram for explaining the functions of the first measurement virtual machine according to this embodiment. 図7は、本実施形態に係る第2の測定用仮想マシンの機能について説明するための模式図である。FIG. 7 is a schematic diagram for explaining the functions of the second measurement virtual machine according to this embodiment. 図8は、本実施形態に係る管理サーバによる応答時間の算出結果について説明するための模式図である。FIG. 8 is a schematic diagram for explaining the response time calculation result by the management server according to the present embodiment. 図9は、本実施形態に係る管理サーバによる応答時間のばらつきの算出結果について説明するための模式図である。FIG. 9 is a schematic diagram for explaining calculation results of response time variations by the management server according to the present embodiment. 図10は、本実施形態に係るロードバランサの配備先の決定方法の一例を示す模式図である。FIG. 10 is a schematic diagram illustrating an example of a method for determining a deployment destination of a load balancer according to this embodiment. 図11は、本実施形態において、複数の第2のクラウド拠点にロードバランサを配備した場合の本実施形態に係るシステムのシステム構成図である。FIG. 11 is a system configuration diagram of a system according to this embodiment when load balancers are deployed at a plurality of second cloud bases. 図12は、管理サーバが定期的にばらつきを監視する場合の本実施形態に係るシステムのシステム構成図である。FIG. 12 is a system configuration diagram of a system according to this embodiment in which the management server periodically monitors variations. 図13は、本実施形態に係る管理サーバの機能構成図である。FIG. 13 is a functional configuration diagram of the management server according to this embodiment. 図14は、本実施形態に係るロードバランサ配備位置決定方法の一例を示すフローチャート(その1)である。FIG. 14 is a flowchart (part 1) illustrating an example of the load balancer deployment position determination method according to the present embodiment. 図15は、本実施形態に係るロードバランサ配備位置決定方法の一例を示すフローチャート(その2)である。FIG. 15 is a flowchart (Part 2) illustrating an example of the load balancer deployment position determination method according to the present embodiment. 図16は、本実施形態に係る処理時間管理テーブル作成処理について示すフローチャートである。FIG. 16 is a flowchart showing processing time management table creation processing according to this embodiment. 図17は、本実施形態に係る通信時間管理テーブル作成処理について示すフローチャートである。FIG. 17 is a flowchart showing communication time management table creation processing according to this embodiment. 図18は、本実施形態に係る管理サーバのハードウェア構成図である。FIG. 18 is a hardware configuration diagram of the management server according to this embodiment.

本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。 Prior to describing this embodiment, matters considered by the inventor of the present application will be described.

図1は、検討に使用したマルチクラウドのシステム構成図である。
このシステム1は、マルチクラウドを実現するシステムであり、第1のクラウド拠点2と第2のクラウド拠点3とを有する。このうち、第1のクラウド拠点2は、拠点Aに設置されたデータセンタの計算機を利用して事業者Aが提供するクラウドの拠点である。また、第2のクラウド拠点3は、拠点Bに設置されたデータセンタの計算機を利用して事業者Bが提供するクラウドの拠点である。
FIG. 1 is a system configuration diagram of the multi-cloud system used in the study.
This system 1 is a system that realizes a multi-cloud, and includes a first cloud base 2 and a second cloud base 3. Among these, the first cloud base 2 is a cloud base provided by business operator A using computers in a data center installed at base A. Further, the second cloud base 3 is a cloud base provided by business operator B using a computer in a data center installed at base B.

これらのクラウド拠点2、3の各々は、ネットワーク4を介して利用者端末5と接続されており、利用者端末5に対して種々のサービスを提供する。なお、ここではネットワーク4としてインターネットを想定する。また、利用者端末5は、マルチクラウドを利用する利用者が操作するPC(Personal Computer)等の情報処理装置である。 Each of these cloud bases 2 and 3 is connected to a user terminal 5 via a network 4, and provides various services to the user terminal 5. Note that here, it is assumed that the network 4 is the Internet. Further, the user terminal 5 is an information processing device such as a PC (Personal Computer) operated by a user who uses the multi-cloud.

更に、このシステム1においては、第1のクラウド拠点の事業者Aと第2のクラウド拠点の事業者Bとを別の主体にする。これにより、一方の事業者がクラウドを提供できない状況になっても、残りの事業者のクラウドを利用して利用者にサービスを提供できるため、サービスの可用性を高めることができる。 Furthermore, in this system 1, operator A of the first cloud base and operator B of the second cloud base are separate entities. As a result, even if one provider is unable to provide cloud services, the remaining provider's cloud can be used to provide services to users, increasing service availability.

各々のクラウド拠点2、3には、サービスを提供するためのシステム10が構築される。システム10は、データセンタ内で起動している仮想マシンを利用して構築されており、利用者のニーズに応えるための様々なサービスを提供する。 A system 10 for providing services is constructed in each of the cloud bases 2 and 3. The system 10 is constructed using virtual machines running within a data center, and provides various services to meet the needs of users.

ここでは、第1のクラウド拠点2に第1~第3の仮想マシンVM1~VM3を起動した場合を想定する。このうち、第1の仮想マシンVM1は、利用者端末5からHTTP(Hypertext Transfer Protocol)のリクエストReqを受け付ける仮想サーバである。リクエストReqは、システム10に対してサービスに応じた処理を依頼する要求である。その処理をシステム10が終えると、第1の仮想マシンVM1は、処理の結果を応答Ackとして利用者端末5に返す。 Here, it is assumed that the first to third virtual machines VM1 to VM3 are started in the first cloud base 2. Among these, the first virtual machine VM1 is a virtual server that receives an HTTP (Hypertext Transfer Protocol) request Req from the user terminal 5. The request Req is a request for requesting the system 10 to perform processing according to the service. When the system 10 finishes the processing, the first virtual machine VM1 returns the processing result to the user terminal 5 as a response Ack.

また、第2の仮想マシンVM2は、第1の仮想マシンVM1が受け付けたリクエストReqに応じた処理を行い、その処理の結果を第1の仮想マシンVM1に返す仮想サーバである。そして、第3の仮想マシンVM3は、その処理を行うのに要する仮想データベースDBである。 Further, the second virtual machine VM2 is a virtual server that performs processing according to the request Req received by the first virtual machine VM1, and returns the result of the processing to the first virtual machine VM1. The third virtual machine VM3 is a virtual database DB required to perform the processing.

例えば、システム10がEC(Electronic Commerce)サイトを構築するシステムである場合には、第1の仮想マシンVM1が利用者端末5から商品検索のリクエストを受け付ける。そして、第2の仮想マシンVM2が仮想データベースDBに登録されている商品を検索し、その結果を第1の仮想マシンVM1に返すことになる。 For example, if the system 10 is a system for building an EC (Electronic Commerce) site, the first virtual machine VM1 receives a request for product search from the user terminal 5. Then, the second virtual machine VM2 searches for products registered in the virtual database DB, and returns the results to the first virtual machine VM1.

ここでは、システム10がリクエストReqを受け付けてから応答Ackを返すまでの時間を処理時間T1と呼ぶ。 Here, the time from when the system 10 receives a request Req until it returns a response Ack is referred to as processing time T1.

また、第2のクラウド拠点3の内部にも、第1のクラウド拠点2におけるのと同じシステム10が構築される。 Furthermore, the same system 10 as in the first cloud base 2 is constructed inside the second cloud base 3 as well.

更に、この例では、利用者端末5が送信したリクエストReqを第1のクラウド拠点2と第2のクラウド拠点3の各々に振り分けるロードバランサ8を第1のクラウド拠点2の内部に配備する。ロードバランサ8は、第1のクラウド拠点2に起動している仮想マシンによって実現することができ、ラウンドロビン等の所定のアルゴリズムに従って第1のクラウド拠点2と第2のクラウド拠点3の各々にリクエストReqを振り分ける。 Furthermore, in this example, a load balancer 8 that distributes the request Req sent by the user terminal 5 to the first cloud base 2 and the second cloud base 3 is installed inside the first cloud base 2. The load balancer 8 can be realized by a virtual machine running on the first cloud base 2, and requests requests to each of the first cloud base 2 and the second cloud base 3 according to a predetermined algorithm such as round robin. Allocate Req.

なお、ロードバランサ8とシステム10との間の通信の往復時間を以下では通信時間T2と呼ぶ。 Note that the round trip time for communication between the load balancer 8 and the system 10 is hereinafter referred to as communication time T2.

このようなシステム1によれば、二つのクラウド拠点2、3に同じシステム10を構築し、ロードバランサ8が利用者端末5のリクエストReqを各クラウド拠点2、3に振り分ける。よって、例えば第1のクラウド拠点2に障害が発生してその内部のシステム10を利用できない状況になっても、利用者端末5は第2のクラウド拠点3のシステム10を利用することができ、サービスの可用性を高めることができる。
但し、このシステム10には以下のような問題が発生することがある。
According to such a system 1, the same system 10 is constructed in two cloud bases 2 and 3, and the load balancer 8 distributes requests Req from user terminals 5 to each cloud base 2 and 3. Therefore, even if, for example, a failure occurs in the first cloud base 2 and the internal system 10 becomes unavailable, the user terminal 5 can use the system 10 of the second cloud base 3. Service availability can be increased.
However, the following problems may occur in this system 10.

図2(a)、(b)は、その問題について説明するための模式図である。
図2(a)においては、利用者端末5がシステム1にリクエストを複数回送信した場合の模式図である。ここでは、1回目のリクエストをReq 1で表し、このリクエストReq 1に対してシステム1が利用者端末5に返す応答をAck 1で表す。そして、利用者端末5がリクエストReq 1を送信してから応答Ack 1を受信するまでの時間間隔をΔt1で表す。
FIGS. 2(a) and 2(b) are schematic diagrams for explaining the problem.
FIG. 2A is a schematic diagram of a case where the user terminal 5 transmits a request to the system 1 multiple times. Here, the first request is expressed as Req 1, and the response that the system 1 returns to the user terminal 5 in response to this request Req 1 is expressed as Ack 1. The time interval from when the user terminal 5 sends the request Req 1 until it receives the response Ack 1 is represented by Δt1.

同様に、2回目のリクエストと応答をそれぞれReq 2、Ack 2で表し、これらの時間間隔をΔt2で表す。そして、3回目のリクエストと応答をそれぞれReq 3、Ack 3で表し、これらの時間間隔をΔt3で表す。 Similarly, the second request and response are represented by Req 2 and Ack 2, respectively, and the time interval between them is represented by Δt2. Then, the third request and response are represented by Req 3 and Ack 3, respectively, and the time interval between them is represented by Δt3.

図2(a)の例では各時間間隔Δt1~Δt3が略一定であり、利用者端末5がシステム1から安定したサービスを受けられる状態にある。 In the example of FIG. 2(a), each time interval Δt1 to Δt3 is approximately constant, and the user terminal 5 is in a state where it can receive stable service from the system 1.

一方、図2(b)の例では、各時間間隔Δt1~Δt3が不均一となっている。この原因としては、例えばシステム10の処理時間T1が第1のクラウド拠点2と第2のクラウド拠点3とで異なることが挙げられる。また、システム10とロードバランサ8との間の通信時間T2が第1のクラウド拠点2と第2のクラウド拠点3とで異なることも各時間間隔Δt1~Δt3が不均一となる原因の一つである。 On the other hand, in the example of FIG. 2(b), the time intervals Δt1 to Δt3 are non-uniform. One reason for this is, for example, that the processing time T1 of the system 10 is different between the first cloud base 2 and the second cloud base 3. Furthermore, the fact that the communication time T2 between the system 10 and the load balancer 8 is different between the first cloud base 2 and the second cloud base 3 is also one of the reasons why the time intervals Δt1 to Δt3 are uneven. be.

このような状態では、利用者端末5がリクエストReqを送信してから応答Ackを受信するまでの時間が不安定となるため、利用者端末5がシステム1から安定したサービスを受けることができない。 In such a state, the time from when the user terminal 5 sends the request Req until it receives the response Ack becomes unstable, so the user terminal 5 cannot receive stable service from the system 1.

また、マルチクラウドを提供する事業者によっては、管理サーバを利用してシステム1が正常に動作しているかどうかを監視することがある。その場合、管理サーバは、システム1にダミーのリクエストを送信し、そのリクエストに対する応答を管理サーバがシステム1から受信する。システム1に障害等の異常が発生している場合には、管理サーバがダミーのリクエストを送信してから応答を受信するまでの時間間隔Δtが長くなることが想定される。よって、管理者は、システム1に異常が発生しているとみなすための閾値tsを予め定めておく。そして、Δt<tsの場合にはシステム1は正常であると管理サーバが判断し、Δt≧tsの場合にはシステム1は異常であると管理サーバが判断する。 Further, depending on the provider of multi-cloud, a management server may be used to monitor whether the system 1 is operating normally. In that case, the management server sends a dummy request to the system 1, and the management server receives a response to the request from the system 1. If an abnormality such as a failure occurs in the system 1, it is assumed that the time interval Δt from when the management server sends a dummy request until it receives a response becomes longer. Therefore, the administrator predetermines a threshold value ts for determining that an abnormality has occurred in the system 1. Then, if Δt<ts, the management server determines that the system 1 is normal, and if Δt≧ts, the management server determines that the system 1 is abnormal.

そのような場合に各時間間隔Δt1~Δt3が不均一となっていると、システム1に異常がないにも関わらず、例えばΔt3≧tsとなってしまい異常と誤判定するおそれがある。よって、異常と正常とを切り分けるのに適切な閾値tsを設定するのが困難となり、マルチクラウドに異常があるかどうかを事業者が監視するのが難しくなる。 In such a case, if the time intervals Δt1 to Δt3 are non-uniform, there is a risk that, for example, Δt3≧ts may be established even though there is no abnormality in the system 1, resulting in an erroneous determination that the system 1 is abnormal. Therefore, it becomes difficult to set an appropriate threshold value ts to distinguish between abnormality and normality, and it becomes difficult for the operator to monitor whether there is an abnormality in the multi-cloud.

なお、各時間間隔Δt1~Δt3が不均一になるのを防止するために、以下のようにシステム1を運用することも考えられる。 Note that in order to prevent the time intervals Δt1 to Δt3 from becoming non-uniform, it is also possible to operate the system 1 as follows.

図3は、システム1の運用方法について説明するための模式図である。
図3の例では、利用者端末5から送信されたリクエストReqをロードバランサ8が常に第1のクラウド拠点2に振り分ける。このように第1のクラウド拠点2のみを利用すれば、各クラウド拠点2、3における処理時間T1や通信時間T2の相違に起因して時間間隔Δt1~Δt3が不均一になるのを抑制できる。
FIG. 3 is a schematic diagram for explaining the operating method of the system 1.
In the example of FIG. 3, the load balancer 8 always distributes the request Req sent from the user terminal 5 to the first cloud base 2. By using only the first cloud base 2 in this way, it is possible to suppress the time intervals Δt1 to Δt3 from becoming non-uniform due to differences in the processing time T1 and communication time T2 between the cloud bases 2 and 3.

しかし、このような運用方法では、第1のクラウド拠点2に障害が発生した場合に以下のように時間間隔Δt1~Δt3が不均一になるおそれがある。 However, in such an operation method, if a failure occurs in the first cloud base 2, the time intervals Δt1 to Δt3 may become uneven as described below.

図4は、第1のクラウド拠点2に障害が発生した場合の模式図である。
この場合には利用者端末5が第1のクラウド拠点2のシステム10を使用することができないため、ロードバランサ8がリクエストReqの振り分け先を第2のクラウド拠点3に切り替える。
FIG. 4 is a schematic diagram when a failure occurs in the first cloud base 2.
In this case, since the user terminal 5 cannot use the system 10 of the first cloud base 2, the load balancer 8 switches the distribution destination of the request Req to the second cloud base 3.

しかし、システム10の処理時間T1が第1のクラウド拠点2と第2のクラウド拠点3とで異なる場合には、利用者端末5がリクエストReqを送信してから応答Ackを受信するまでの時間が切り替えの前後で異なってしまう。同様に、システム10とロードバランサ8との間の通信時間T2が第1のクラウド拠点2と第2のクラウド拠点3とで異なる場合にも、リクエストReqの送信から応答Ackの受信までの時間が切り替えの前後で異なってしまう。これにより、図2(b)の例と同様に、ロードバランサ8の振り分け先の切り替えの前後において各時間間隔Δt1~Δt3が不均一となるおそれがある。 However, if the processing time T1 of the system 10 is different between the first cloud base 2 and the second cloud base 3, the time from when the user terminal 5 sends the request Req until it receives the response Ack is It will be different before and after switching. Similarly, even if the communication time T2 between the system 10 and the load balancer 8 is different between the first cloud base 2 and the second cloud base 3, the time from sending the request Req to receiving the response Ack is It will be different before and after switching. As a result, the time intervals Δt1 to Δt3 may become non-uniform before and after switching the distribution destination of the load balancer 8, as in the example of FIG. 2(b).

以下に、利用者端末がリクエストを送信してから応答を受信するまでの時間間隔が不均一となるのを抑制することが可能な各実施形態について説明する。 Each embodiment that can suppress uneven time intervals from when a user terminal sends a request until it receives a response will be described below.

(本実施形態)
[全体構成]
図5は、本実施形態に係るシステムの構成図である。
このシステム20は、マルチクラウドを実現するシステムであり、複数の第1のクラウド拠点21と、複数の第2のクラウド拠点22とを有する。なお、これらのクラウド拠点21、22の各々は、クラウドを提供する事業者と、そのクラウドを提供するための計算機を収容したデータセンタが設置されている拠点との組み合わせで特定されるコンピューティングシステムを示す。このうち、第1のクラウド拠点21には、利用者端末27にサービスを提供するためのシステム23が構築される。この例では、第1のクラウド拠点21に第1~第3の仮想マシン21a~21cを配備し、これらの仮想マシン21a~21cによりシステム23を実現する。
(This embodiment)
[overall structure]
FIG. 5 is a configuration diagram of a system according to this embodiment.
This system 20 is a system that realizes a multi-cloud, and includes a plurality of first cloud bases 21 and a plurality of second cloud bases 22. Note that each of these cloud bases 21 and 22 is a computing system specified by a combination of a cloud provider and a base where a data center containing computers for providing the cloud is installed. shows. Among these, a system 23 for providing services to user terminals 27 is constructed in the first cloud base 21 . In this example, first to third virtual machines 21a to 21c are installed in the first cloud base 21, and the system 23 is realized by these virtual machines 21a to 21c.

各仮想マシン21a~21cの機能は特に限定されない。例えば、第1の仮想マシン21aは、利用者端末27からHTTPのリクエストReqを受け付ける仮想サーバである。リクエストReqは、システム23に対してサービスに応じた処理を依頼する要求である。その処理をシステム23が終えると、第1の仮想マシン21aは、処理の結果を応答Ackとして利用者端末27に返す。 The functions of each virtual machine 21a to 21c are not particularly limited. For example, the first virtual machine 21a is a virtual server that receives an HTTP request Req from the user terminal 27. The request Req is a request for requesting the system 23 to perform processing according to the service. When the system 23 finishes the processing, the first virtual machine 21a returns the processing result to the user terminal 27 as a response Ack.

第2の仮想マシン21bは、第1の仮想マシン21aが受け付けたリクエストReqに応じた処理を行い、その処理の結果を第1の仮想マシン21aに返す仮想サーバである。そして、第3の仮想マシン21cは、その処理を行うのに要する仮想データベースDBである The second virtual machine 21b is a virtual server that performs processing according to the request Req received by the first virtual machine 21a, and returns the result of the processing to the first virtual machine 21a. The third virtual machine 21c is a virtual database DB required to perform the processing.

更に、第1のクラウド拠点21には、システム23の処理時間を測定するための第1の測定用仮想マシン24aが配備される。更に、第1のクラウド拠点21と第2のクラウド拠点22との間の通信時間を測定するための第2の測定用仮想マシン24bも第1のクラウド拠点21内に配備される。 Furthermore, a first measurement virtual machine 24a for measuring the processing time of the system 23 is installed in the first cloud base 21. Furthermore, a second measurement virtual machine 24b for measuring the communication time between the first cloud base 21 and the second cloud base 22 is also installed within the first cloud base 21.

一方、第2のクラウド拠点22は、ロードバランサ25の配備先の候補のクラウド拠点である。この例では複数の第2のクラウド拠点22を用意し、このうちのいずれかに最終的にロードバランサ25が配備される。なお、ロードバランサ25は、第2のクラウド拠点22の内部に起動する仮想マシンによって実現することができる。更に、第2のクラウド拠点22には、前述の第2の測定用仮想マシン24bも配備される。 On the other hand, the second cloud base 22 is a candidate cloud base where the load balancer 25 is to be deployed. In this example, a plurality of second cloud bases 22 are prepared, and the load balancer 25 is eventually deployed to one of them. Note that the load balancer 25 can be realized by a virtual machine activated inside the second cloud base 22. Furthermore, the second measurement virtual machine 24b described above is also installed in the second cloud base 22.

第1のクラウド拠点21と第2のクラウド拠点22の各々はネットワーク26を介して利用者端末27と接続される。ネットワーク26は特に限定されない。例えば、インターネット、VPN(Virtual Private Network)、及びLAN(Local Area Network)等をネットワーク26として採用し得る。 Each of the first cloud base 21 and the second cloud base 22 is connected to a user terminal 27 via a network 26. Network 26 is not particularly limited. For example, the Internet, VPN (Virtual Private Network), LAN (Local Area Network), etc. may be employed as the network 26.

利用者端末27は、マルチクラウドを利用する利用者が操作するPC等の情報処理装置である。利用者の操作を受け付けると、利用者端末27は、第1のクラウド拠点21のシステム23からサービスを受けるためにロードバランサ25に対してリクエストReqを送信する。ロードバランサ25は、ラウンドロビン等のアルゴリズムによってそのリクエストReqを複数の第1のクラウド拠点21のいずれかに振り分ける。そして、リクエストReqが振り分けられた第1のクラウド拠点21のシステム23が所定の処理を行う。その後、システム23は、その処理の結果をリクエストReqに対する応答Ackとして利用者端末27に送信する。 The user terminal 27 is an information processing device such as a PC operated by a user who uses the multi-cloud. Upon receiving the user's operation, the user terminal 27 transmits a request Req to the load balancer 25 in order to receive a service from the system 23 of the first cloud base 21. The load balancer 25 distributes the request Req to one of the plurality of first cloud bases 21 using an algorithm such as round robin. Then, the system 23 of the first cloud base 21 to which the request Req is distributed performs predetermined processing. Thereafter, the system 23 transmits the processing result to the user terminal 27 as a response Ack to the request Req.

また、複数の第1のクラウド拠点21の各々を提供する事業者は特に限定されず、複数の第1のクラウド拠点21ごとに事業者が異なってもよいし、複数の第1のクラウド拠点21の中に同一事業者が提供するクラウド拠点が存在してもよい。但し、システム20の可用性を高めるためには、複数の第1のクラウド拠点21の各々の事業者を異なるようにするのが好ましい。 Further, the provider that provides each of the plurality of first cloud bases 21 is not particularly limited, and the provider may be different for each of the plurality of first cloud bases 21, or the provider may be different for each of the plurality of first cloud bases 21. There may be cloud bases provided by the same provider. However, in order to increase the availability of the system 20, it is preferable that the plurality of first cloud bases 21 be operated by different operators.

図5においては、第1のクラウド拠点21と第2のクラウド拠点22の各々においてクラウドを提供する事業者を事業者A、事業者B、事業者C、…等で表す。また、各クラウド拠点21、22が提供するクラウドを実現するための計算機が収容されているデータセンタの拠点を拠点A、拠点B、拠点C、…等で表す。拠点A、拠点B、拠点C、…は、各々が異なる国に位置してもよいし、これらの中に同一国内の拠点が含まれてもよい。 In FIG. 5, the businesses that provide cloud services at each of the first cloud base 21 and the second cloud base 22 are represented as business A, business B, business C, etc. In addition, bases of data centers in which computers for realizing the cloud provided by each of the cloud bases 21 and 22 are housed are represented as base A, base B, base C, etc. Base A, base B, base C, etc. may be located in different countries, or may include bases within the same country.

更に、このシステム20は、各クラウド拠点21、22を管理するための管理サーバ30を有する。管理サーバ30はネットワーク26に接続されており、複数の第1のクラウド拠点21と複数の第2のクラウド拠点22の各々にアクセス可能となっている。なお、管理サーバ30の形態は特に限定されず、物理サーバや仮想サーバ等のコンピュータを管理サーバ30として採用し得る。 Furthermore, this system 20 includes a management server 30 for managing each cloud base 21 and 22. The management server 30 is connected to the network 26 and can access each of the plurality of first cloud bases 21 and the plurality of second cloud bases 22. Note that the form of the management server 30 is not particularly limited, and a computer such as a physical server or a virtual server may be employed as the management server 30.

このようなシステム20においては、前述のようにロードバランサ25が複数の第1のクラウド拠点21にリクエストReqを振り分ける。そのため、利用者端末27がリクエストReqを送信してから応答Ackを受信するまでの時間間隔Δtは、振り分け先の第1のクラウド拠点21におけるシステム23の処理時間によって変わる。更に、ロードバランサ25が配備されている第2のクラウド拠点22と第1のクラウド拠点21との間の往復の通信時間によっても時間間隔Δtは変わる。 In such a system 20, the load balancer 25 distributes requests Req to the plurality of first cloud bases 21 as described above. Therefore, the time interval Δt from when the user terminal 27 sends the request Req until it receives the response Ack changes depending on the processing time of the system 23 at the first cloud base 21 to which the request is distributed. Furthermore, the time interval Δt also changes depending on the round-trip communication time between the second cloud base 22 and the first cloud base 21 where the load balancer 25 is installed.

リクエストReqを送信する度に時間間隔Δtが大きく変動すると、図2(b)で例示したように第1のクラウド拠点21が正常に動作しているかを監視するのが困難となる。しかも、利用者にとっては、システム23から安定してサービスを受けることができないため不便である。 If the time interval Δt changes significantly each time a request Req is transmitted, it becomes difficult to monitor whether the first cloud base 21 is operating normally, as illustrated in FIG. 2(b). Moreover, it is inconvenient for users because they cannot receive services stably from the system 23.

そこで、本実施形態では、以下のようにして複数の第2のクラウド拠点22のうちで時間間隔Δtのばらつきを抑制することが可能なクラウド拠点にロードバランサ25を配備する。 Therefore, in this embodiment, the load balancer 25 is installed at a cloud base that can suppress variations in the time interval Δt among the plurality of second cloud bases 22 as described below.

[ロードバランサ配備位置決定方法]
図6は、第1の測定用仮想マシン24aの機能について説明するための模式図である。
[Load balancer deployment position determination method]
FIG. 6 is a schematic diagram for explaining the functions of the first measurement virtual machine 24a.

第1の測定用仮想マシン24aは、自身が配備されている第1のクラウド拠点21内のシステム23に対してHTTPのダミーのリクエストReq_dを送信する。ダミーのリクエストReq_dとしては、例えばHTTPのGETメソッドを含むリクエストがある。そして、第1の測定用仮想マシン24aは、ダミーのリクエストReq_dを送信してからそれに対する応答Ack_dをシステム23から受信するまでの時間を処理時間T1として取得する。処理時間T1は、システム23がダミーのリクエストReq_dを受け付けたときに実行する処理に要する時間である。 The first measurement virtual machine 24a transmits an HTTP dummy request Req_d to the system 23 in the first cloud base 21 where the first measurement virtual machine 24a is installed. The dummy request Req_d is, for example, a request that includes an HTTP GET method. Then, the first measurement virtual machine 24a obtains the time from sending the dummy request Req_d until receiving the response Ack_d therefrom from the system 23 as the processing time T1. The processing time T1 is the time required for processing executed when the system 23 receives the dummy request Req_d.

なお、第1の測定用仮想マシン24aがシステム23にダミーのリクエストReq_dを複数回送信し、各々のリクエストReq_dに対する応答Ack_dを複数回受信してもよい。その場合、第1の測定用仮想マシン24aがリクエストReq_dを送信してから応答Ack_dを受信するまでの時間を各回で平均した値を処理時間T1として採用し得る。 Note that the first measurement virtual machine 24a may transmit the dummy request Req_d to the system 23 multiple times and receive the response Ack_d to each request Req_d multiple times. In that case, a value obtained by averaging the time from when the first measurement virtual machine 24a transmits the request Req_d until it receives the response Ack_d each time can be adopted as the processing time T1.

更に、ダミーのリクエストReq_dに代えて、利用者端末27が送信するリクエストReqを利用して第1の測定用仮想マシン24aが処理時間T1を測定してもよい。その場合は、第1の測定用仮想マシン24aが、システム23に出入りするパケットをキャプチャすることにより、リクエストReqの受信時刻と応答Ackの送信時刻との差を処理時間T1として特定すればよい。 Furthermore, instead of the dummy request Req_d, the first measuring virtual machine 24a may measure the processing time T1 using the request Req transmitted by the user terminal 27. In that case, the first measurement virtual machine 24a may identify the difference between the reception time of the request Req and the transmission time of the response Ack as the processing time T1 by capturing packets entering and exiting the system 23.

管理サーバ30は、第1のクラウド拠点21ごとに、ネットワーク26を介して第1の測定用仮想マシン24aから処理時間T1を取得する。更に、管理サーバ30は、その処理時間T1と第1のクラウド拠点21とを対応付けた処理時間管理テーブルTB1を生成する。処理時間管理テーブルTB1において複数の第1のクラウド拠点21の各々を識別する識別子として、ここでは第1のクラウド拠点21の事業者と拠点との組み合わせを採用する。例えば、「事業者A/拠点A」という組み合わせによって、第1のクラウド拠点21を一意に識別することができる。 The management server 30 acquires the processing time T1 from the first measurement virtual machine 24a via the network 26 for each first cloud base 21. Furthermore, the management server 30 generates a processing time management table TB1 that associates the processing time T1 with the first cloud base 21. As an identifier for identifying each of the plurality of first cloud bases 21 in the processing time management table TB1, a combination of the operator and the base of the first cloud base 21 is used here. For example, the first cloud base 21 can be uniquely identified by the combination "Business operator A/base A."

図7は、第2の測定用仮想マシン24bの機能について説明するための模式図である。 FIG. 7 is a schematic diagram for explaining the functions of the second measurement virtual machine 24b.

図7に示すように、第1のクラウド拠点21の第2の測定用仮想マシン24bは、自身が配備されている第1のクラウド拠点21と第2のクラウド拠点22との間における通信時間T2を測定する。その通信時間T2として、ここでは往復の通信時間RTT(Round Trip Time)を採用する。この場合、第1のクラウド拠点21の第2の測定用仮想マシン24bが、第2のクラウド拠点22の第2の測定用仮想マシン24bにping用のパケットを送信する。そして、第1のクラウド拠点21の第2の測定用仮想マシン24bは、ping用のパケットを送信してからそれに対する応答パケットを第2のクラウド拠点22の第2の測定用仮想マシン24bから受信するまでの時間を通信時間T2として測定する。 As shown in FIG. 7, the second measurement virtual machine 24b of the first cloud base 21 has a communication time T2 between the first cloud base 21 and the second cloud base 22 where it is deployed. Measure. As the communication time T2, the round trip communication time RTT (Round Trip Time) is adopted here. In this case, the second measurement virtual machine 24b of the first cloud base 21 transmits a ping packet to the second measurement virtual machine 24b of the second cloud base 22. Then, the second measurement virtual machine 24b of the first cloud base 21 transmits a ping packet and then receives a response packet therefrom from the second measurement virtual machine 24b of the second cloud base 22. The time it takes to do so is measured as the communication time T2.

なお、第2の測定用仮想マシン24bがRTTの測定を複数回行い、RTTの平均値を通信時間T2として算出するようにしてもよい。また、第1のクラウド拠点21と第2のクラウド拠点22との間の往復の通信時間を2で除した片道の通信時間を通信時間T2として採用してもよい。 Note that the second measuring virtual machine 24b may measure the RTT multiple times and calculate the average value of the RTT as the communication time T2. Further, the one-way communication time obtained by dividing the round-trip communication time between the first cloud base 21 and the second cloud base 22 by two may be adopted as the communication time T2.

そして、管理サーバ30は、ネットワーク26を介して複数の第1のクラウド拠点21の各々にアクセスし、第1のクラウド拠点21内の第2の測定用仮想マシン24bから通信時間T2を取得する。 Then, the management server 30 accesses each of the plurality of first cloud bases 21 via the network 26 and acquires the communication time T2 from the second measurement virtual machine 24b in the first cloud base 21.

更に、管理サーバ30は、その通信時間T2を含む通信時間管理テーブルTB2を生成する。通信時間管理テーブルTB2は、第1のクラウド拠点21、第2のクラウド拠点22、及び通信時間T2の各々を対応付けたテーブルである。 Furthermore, the management server 30 generates a communication time management table TB2 that includes the communication time T2. The communication time management table TB2 is a table that associates each of the first cloud base 21, the second cloud base 22, and the communication time T2.

その通信時間管理テーブルTB2においては、処理時間管理テーブルTB1と同様に、第1のクラウド拠点21と第2のクラウド拠点22の各々を事業者と拠点との組み合わせにより識別する。 In the communication time management table TB2, similarly to the processing time management table TB1, each of the first cloud base 21 and the second cloud base 22 is identified by a combination of a provider and a base.

そして、管理サーバ30は、上記の処理時間管理テーブルTB1と通信時間管理テーブルTB2を利用して、次のように応答時間を算出する。 Then, the management server 30 uses the processing time management table TB1 and communication time management table TB2 to calculate the response time as follows.

図8は、管理サーバ30による応答時間の算出結果31について説明するための模式図である。 FIG. 8 is a schematic diagram for explaining the response time calculation result 31 by the management server 30.

応答時間T3は、処理時間T1と通信時間T2との和で定義される。管理サーバ30は、そのような応答時間T3を、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとに算出する。 Response time T3 is defined as the sum of processing time T1 and communication time T2. The management server 30 calculates such a response time T3 for each combination of the first cloud base 21 and the second cloud base 22.

例えば、「事業者A/拠点A」の第1のクラウド拠点21と、「事業者A/拠点C」の第2のクラウド拠点22との組み合わせについて考える。この場合は、処理時間管理テーブルTB1の一行目を参照すると、「事業者A/拠点A」の第1のクラウド拠点21の処理時間T1は100msecである。また、通信時間管理テーブルTB2の一行目を参照すると、「事業者A/拠点A」の第1のクラウド拠点21と「事業者A/拠点C」の第2のクラウド拠点22との間の通信時間T2は50msecである。よって、応答時間T3は150msec(=100msec+50msec)となる。 For example, consider a combination of the first cloud base 21 of "Business Operator A/Base A" and the second cloud base 22 of "Business A/Base C". In this case, referring to the first row of the processing time management table TB1, the processing time T1 of the first cloud base 21 of "Business Operator A/Site A" is 100 msec. Also, when referring to the first line of the communication time management table TB2, the communication between the first cloud base 21 of "Business Operator A/Base A" and the second cloud base 22 of "Business Operator A/Base C" Time T2 is 50 msec. Therefore, the response time T3 is 150 msec (=100 msec+50 msec).

次に、管理サーバ30は、応答時間T3の算出結果31を利用して、次のようにして応答時間T3のばらつきΔTを算出する。 Next, the management server 30 uses the response time T3 calculation result 31 to calculate the variation ΔT in the response time T3 as follows.

図9は、管理サーバ30による応答時間T3のばらつきΔTの算出結果32について説明するための模式図である。 FIG. 9 is a schematic diagram for explaining the calculation result 32 of the variation ΔT in response time T3 by the management server 30.

応答時間T3のばらつきΔTは、一つの第2のクラウド拠点22と、複数の第1のクラウド拠点21との間における応答時間T3の最大値T3maxと最小値T3minとの差である。 The variation ΔT in the response time T3 is the difference between the maximum value T3 max and the minimum value T3 min of the response time T3 between one second cloud base 22 and a plurality of first cloud bases 21.

例えば、算出結果31における第2のクラウド拠点22が「事業者A/拠点C」である場合について考える。この場合、算出結果31において「事業者A/拠点C」に対応する第1のクラウド拠点21としては「事業者A/拠点A」と「事業者B/拠点B」がある。このうち、「事業者A/拠点C」と「事業者A/拠点A」との間における応答時間T3は150msecである。そして、「事業者A/拠点C」と「事業者B/拠点B」との間における応答時間T3は150msecである。よって、第2のクラウド拠点22が「事業者A/拠点C」の場合は、応答時間T3の最大値T3maxと最小値T3minはいずれも150msecとなり、ばらつきΔTは0msec(=150msec-150msec)となる。 For example, consider a case where the second cloud base 22 in the calculation result 31 is "Business Operator A/Site C". In this case, in the calculation result 31, the first cloud bases 21 corresponding to "business operator A/base C" include "business operator A/base A" and "business operator B/base B." Among these, the response time T3 between "Business Operator A/Location C" and "Business Operator A/Location A" is 150 msec. The response time T3 between "Business Operator A/Location C" and "Business Operator B/Location B" is 150 msec. Therefore, when the second cloud base 22 is "Business operator A/base C", the maximum value T3 max and minimum value T3 min of response time T3 are both 150 msec, and the dispersion ΔT is 0 msec (=150 msec - 150 msec) becomes.

次に、算出結果31における第2のクラウド拠点22が「事業者A/拠点D」である場合について考える。上記と同様に算出すると、「事業者A/拠点D」と「事業者A/拠点A」との間における応答時間T3は150msecとなる。そして、「事業者A/拠点D」と「事業者B/拠点B」との間における応答時間T3は155msecとなる。よって、第2のクラウド拠点22が「事業者A/拠点D」である場合には、応答時間T3の最大値T3maxは155msecとなり、応答時間T3の最小値T3minは150msecとなる。これにより、ばらつきΔTは5msec(=155msec-150msec)となる。 Next, consider the case where the second cloud base 22 in the calculation result 31 is "Business Operator A/base D". When calculated in the same manner as above, the response time T3 between "Business Operator A/Location D" and "Business Operator A/Location A" is 150 msec. Then, the response time T3 between "Business Operator A/Location D" and "Business Operator B/Location B" is 155 msec. Therefore, when the second cloud base 22 is "Business operator A/base D", the maximum value T3 max of the response time T3 is 155 msec, and the minimum value T3 min of the response time T3 is 150 msec. As a result, the variation ΔT becomes 5 msec (=155 msec−150 msec).

管理サーバ30は、このような計算を複数の第2のクラウド拠点22の全てに対して行い、応答時間T3のばらつきΔTの算出結果32を得る。 The management server 30 performs such a calculation for all of the plurality of second cloud bases 22, and obtains a calculation result 32 of the variation ΔT in the response time T3.

そのばらつきΔTが大きいと前述のように第1のクラウド拠点21が正常に動作しているかを管理者が監視するのが困難となると共に、利用者端末27がシステム23から安定してサービスを受けることができない。 If the variation ΔT is large, it becomes difficult for the administrator to monitor whether the first cloud base 21 is operating normally as described above, and the user terminal 27 receives stable service from the system 23. I can't.

そこで、本実施形態では、管理者が、ばらつきΔTに予め基準値ΔTthを設定しておく。そして、管理サーバ30が、ばらつきΔTが基準値ΔTth未満となる第2のクラウド拠点22を、ロードバランサ25の配備先の候補とする。 Therefore, in this embodiment, the administrator sets the reference value ΔTth for the variation ΔT in advance. Then, the management server 30 selects the second cloud base 22 where the variation ΔT is less than the reference value ΔTth as a candidate for the deployment destination of the load balancer 25.

図9の例では、管理者が基準値ΔTthを10msecに設定している。この場合は、管理サーバ30は、「事業者A/拠点C」、「事業者A/拠点D」、及び「事業者C/拠点C」の三つの第2のクラウド拠点22を、ロードバランサ25の配備先の候補35とする。 In the example of FIG. 9, the administrator has set the reference value ΔTth to 10 msec. In this case, the management server 30 connects the three second cloud bases 22 of "Business Operator A/Location C", "Business Operator A/Location D", and "Business Operator C/Location C" to the load balancer 25. This is the candidate 35 for the deployment destination.

これにより、システム20の管理者が、ばらつきΔTが基準値ΔTth未満とすることが可能なロードバランサ25の配備先の候補35を取得できる。そして、実際に管理者がその候補35にロードバランサ25を配備することで、管理者が第1のクラウド拠点21が正常に動作しているかを監視し易くなると共に、利用者端末27がシステム23から安定してサービスを受けることが可能となる。 Thereby, the administrator of the system 20 can obtain candidates 35 for deployment locations of the load balancer 25 that can make the variation ΔT less than the reference value ΔTth. By actually deploying the load balancer 25 in the candidate 35, the administrator can easily monitor whether the first cloud base 21 is operating normally, and the user terminal 27 can It will be possible to receive stable services from

なお、このように候補35に複数の第2のクラウド拠点22が含まれている場合には、管理サーバ30は、それらのうちの一つをロードバランサ25の配備先として決定してもよい。 Note that if the candidates 35 include a plurality of second cloud bases 22 in this way, the management server 30 may determine one of them as the deployment destination of the load balancer 25.

図10は、ロードバランサ25の配備先の決定方法の一例を示す模式図である。 FIG. 10 is a schematic diagram showing an example of a method for determining the deployment destination of the load balancer 25.

図10の例では、管理サーバ30が、候補35のうちで複数の第1のクラウド拠点21との間における応答時間T3の最大値T3maxが最も小さい第2のクラウド拠点22をロードバランサ25の配備先に決定する。ここでは、図9に示したように、「事業者A/拠点C」の応答時間T3の最大値T3maxは150msecである。また、「事業者A/拠点D」の応答時間T3の最大値は155msecであり、「事業者C/拠点C」の応答時間T3の最大値T3maxは160msecである。よって、管理サーバ30は、応答時間T3の最大値T3maxが最も小さい「事業者A/拠点C」をロードバランサ25の配備先に決定する。 In the example of FIG. 10, the management server 30 selects the second cloud base 22, which has the smallest maximum value T3 max of the response time T3 between the candidates 35 and the plurality of first cloud bases 21, as the load balancer 25. Determine where to deploy. Here, as shown in FIG. 9, the maximum value T3 max of the response time T3 of "Business Operator A/Location C" is 150 msec. Further, the maximum value of the response time T3 of "Business Operator A/Location D" is 155 msec, and the maximum value T3 max of the response time T3 of "Business Operator C/Location C" is 160 msec. Therefore, the management server 30 determines "Business Operator A/Location C" with the smallest maximum value T3 max of the response time T3 as the deployment destination of the load balancer 25.

これにより、利用者端末27がリクエストReqを送信してから応答Ackを受信するまでの時間間隔が最も短くなるようなロードバランサ25の配備先を管理者が特定できる。また、実際に管理者がその配備先にロードバランサ25を配備することにより、利用者端末27がシステム23から速やかにサービスを受けることができ、利用者の利便性を向上させることができる。 Thereby, the administrator can specify the deployment destination of the load balancer 25 where the time interval from when the user terminal 27 sends the request Req until it receives the response Ack is the shortest. Further, by actually deploying the load balancer 25 at the location where the administrator has installed it, the user terminal 27 can quickly receive services from the system 23, thereby improving convenience for the user.

なお、配備先を決定する際の基準として用いる値は最大値T3maxに限定されない。例えば、管理サーバ30が、候補35にある複数の第2のクラウド拠点22のうちでコストが最も安価なクラウド拠点をロードバランサ25の配備先に決定してもよい。一例として、第2のクラウド拠点22の事業者が従量課金制でロードバランサ25の利用料金を設定している場合には、単位時間当たりの利用料金が最も安価な第2のクラウド拠点22をロードバランサ25の配備先に決定してもよい。これにより、システム20の管理者のコスト減を図ることができ、管理者が利用者に安価なシステム20を提供することができる。 Note that the value used as a reference when determining the deployment destination is not limited to the maximum value T3 max . For example, the management server 30 may determine the lowest-cost cloud base among the plurality of second cloud bases 22 in the candidates 35 as the deployment destination of the load balancer 25. As an example, if the operator of the second cloud base 22 sets usage fees for the load balancer 25 on a pay-as-you-go basis, the second cloud base 22 with the lowest usage fee per unit time is loaded. The location where the balancer 25 is installed may be determined. Thereby, the cost for the administrator of the system 20 can be reduced, and the administrator can provide the user with an inexpensive system 20.

なお、ロードバランサ25の可用性を高めるために、候補35にある全ての第2のクラウド拠点22にロードバランサ25を配備すると共に、そのうちの一つを現用系にし、残りを待機系にしてもよい。 Note that in order to increase the availability of the load balancer 25, the load balancer 25 may be deployed in all the second cloud bases 22 in the candidate 35, and one of them may be used as an active system and the rest as a standby system. .

図11は、このように複数の第2のクラウド拠点22にロードバランサ25を配備した場合の本実施形態に係るシステム20のシステム構成図である。 FIG. 11 is a system configuration diagram of the system 20 according to this embodiment when the load balancer 25 is deployed in the plurality of second cloud bases 22 in this way.

図11の例では、「事業者A/拠点C」の第2のクラウド拠点22に現用系のロードバランサ25を配備し、「事業者C/拠点C」の第2のクラウド拠点22に待機系のロードバランサ25を配備している。これにより、「事業者A/拠点C」のロードバランサ25に障害が発生した場合には、「事業者C/拠点C」にあるロードバランサ25を利用することにより利用者端末27が引き続きシステム23からサービスを受けることができる。 In the example of FIG. 11, the active load balancer 25 is deployed at the second cloud base 22 of "Business Operator A/Location C", and the standby load balancer 25 is deployed at the second cloud base 22 of "Business Operator C/Location C". A load balancer 25 is deployed. As a result, if a failure occurs in the load balancer 25 of "Business Operator A/Base C", the user terminal 27 can continue to connect to the system 25 by using the load balancer 25 of "Business C/Base C". You can receive services from.

なお、ある事業者自身に障害が発生すると、その事業者が提供している全ての第2のクラウド拠点22が使用できなくなり、ロードバランサ25の可用性が低下する。そのため、複数の第2のクラウド拠点22の各々の事業者は全て異なるのが好ましい。図11の例では、二つの第2のクラウド拠点22の事業者が「事業者A」と「事業者C」で異なるため、一方の事業者に障害が発生しても、他方の事業者の第2のクラウド拠点22においてロードバランサ25を使用することができる。 Note that when a failure occurs in a certain business operator, all the second cloud bases 22 provided by that business become unusable, and the availability of the load balancer 25 decreases. Therefore, it is preferable that the operators of the plurality of second cloud bases 22 are all different. In the example shown in Figure 11, the two second cloud bases 22 are operated by different operators, ``operator A'' and ``operator C,'' so even if a failure occurs in one operator, the other operator's A load balancer 25 can be used at the second cloud base 22.

また、この例のように複数の第2のクラウド拠点22にロードバランサ25を配備する場合には、次のように管理サーバ30が定期的に応答時間T3のばらつきΔTを算出するのが好ましい。 Further, when the load balancer 25 is deployed at a plurality of second cloud bases 22 as in this example, it is preferable that the management server 30 periodically calculates the variation ΔT in the response time T3 as follows.

図12は、管理サーバ30が定期的にばらつきΔTを監視する場合の本実施形態に係るシステム20のシステム構成図である。 FIG. 12 is a system configuration diagram of the system 20 according to this embodiment when the management server 30 regularly monitors the variation ΔT.

システム20においては、運用途中で第1のクラウド拠点21の事業者や拠点が変更される場合がある。例えば、事業者や拠点を変えた方が第1のクラウド拠点21のコストが安くなる場合にこのような変更が生じることがある。 In the system 20, the operator or base of the first cloud base 21 may be changed during operation. For example, such a change may occur when the cost of the first cloud base 21 becomes cheaper if the provider or base is changed.

図12においては、複数の第1のクラウド拠点21のうちの一つの拠点が、拠点Aから拠点Fに変更された場合を例示している。この場合には、拠点が変更された時点で応答時間T3のばらつきΔTが変化する。このようにばらつきΔTが変化すると候補35も変わるため、管理サーバ30は、例えば1日に一回程度の周期で定期的にばらつきΔTを算出し、その算出結果に応じて定期的に候補35を更新するのが好ましい。 In FIG. 12, a case is illustrated in which one of the plurality of first cloud bases 21 is changed from base A to base F. In this case, the variation ΔT in response time T3 changes when the base is changed. When the variation ΔT changes in this way, the candidates 35 also change, so the management server 30 calculates the variation ΔT periodically, for example, once a day, and periodically changes the candidates 35 according to the calculation result. Preferably updated.

また、候補35を更新した結果、拠点の変更前では「事業者A/拠点C」が候補35に含まれていたものの、拠点の変更後では「事業者A/拠点C」が候補35から外れることがある。ここでは、拠点の変更によってこのように候補35から「事業者A/拠点C」が外れ、かつ候補35に「事業者C/拠点C」が含まれた場合について説明する。 Additionally, as a result of updating candidate 35, "Business Operator A/Base C" was included in Candidate 35 before the base change, but after the base change, "Business Operator A/Base C" is no longer included in Candidate 35. Sometimes. Here, a case will be described in which "Business Operator A/Base C" is removed from the candidates 35 due to a change in the base, and "Business Operator C/Base C" is included in the candidates 35.

その場合には、「事業者A/拠点C」のロードバランサ25から「事業者C/拠点C」のロードバランサ25に切り替えることにより、「事業者C/拠点C」のロードバランサ25がリクエストReqの振り分けを行うようにすればよい。但し、利用者端末27は、切り替え後の「事業者C/拠点C」のロードバランサ25のIPアドレスを取得していないため、このままでは当該ロードバランサ25にアクセスすることができない。 In that case, by switching from the load balancer 25 of "Business Operator A/Location C" to the load balancer 25 of "Business Operator C/Location C", the load balancer 25 of "Business Operator C/Location C" All you have to do is sort it out. However, since the user terminal 27 has not acquired the IP address of the load balancer 25 of "Business Operator C/Location C" after switching, it cannot access the load balancer 25 as it is.

そこで、この例では、管理サーバ30が、更新後の候補35に含まれるロードバランサ25のIP(Internet Protocol)アドレスを、当該ロードバランサ25のドメイン名と対応付けてDNS(Domain Name System)サーバ36に登録する。 Therefore, in this example, the management server 30 associates the IP (Internet Protocol) address of the load balancer 25 included in the updated candidates 35 with the domain name of the load balancer 25 and sends it to the DNS (Domain Name System) server 30. Register.

ここでは、複数の第2のクラウド拠点22の全てのロードバランサ25のドメイン名を「lb.cloud.com」とし、利用者端末27の記憶部には当該ドメイン名「lb.cloud.com」が格納されているものとする。また、「事業者A/拠点C」の第2のクラウド拠点22にあるロードバランサ25のIPアドレスは「1.1.1.1」であり、「事業者C/拠点C」の第2のクラウド拠点22にあるロードバランサ25のIPアドレスは「2.2.2.2」であるとする。 Here, the domain name of all the load balancers 25 of the plurality of second cloud bases 22 is "lb.cloud.com", and the domain name "lb.cloud.com" is stored in the storage section of the user terminal 27. Assume that it is stored. In addition, the IP address of the load balancer 25 in the second cloud base 22 of "Business Operator A/Base C" is "1.1.1.1", and It is assumed that the IP address of a certain load balancer 25 is "2.2.2.2".

そのIPアドレスは、ロードバランサ25のドメイン名と対応付けてDNSサーバ36の管理情報36aに格納される。上記の例では、候補35の更新前においてはドメイン名「lb.cloud.com」とIPアドレス「1.1.1.1」とが対応付けられて管理情報36aに格納される。そして、候補35が更新されると、管理サーバ30は、管理情報36aにおいてドメイン名「lb.cloud.com」に対応するIPアドレスとして「2.2.2.2」を登録することにより、管理情報36aを更新する。 The IP address is stored in the management information 36a of the DNS server 36 in association with the domain name of the load balancer 25. In the above example, before the candidate 35 is updated, the domain name "lb.cloud.com" and the IP address "1.1.1.1" are associated and stored in the management information 36a. Then, when the candidate 35 is updated, the management server 30 updates the management information 36a by registering "2.2.2.2" as the IP address corresponding to the domain name "lb.cloud.com" in the management information 36a. do.

これにより、利用者端末27が「事業者C/拠点C」のロードバランサ25のIPアドレスを取得できる。その結果、利用者端末27は、そのIPアドレスを送信先アドレスに設定してロードバランサ25にリクエストReqを送信できるようになる。 Thereby, the user terminal 27 can acquire the IP address of the load balancer 25 of "Business Operator C/Location C". As a result, the user terminal 27 can set the IP address as the destination address and send the request Req to the load balancer 25.

[機能構成]
次に、本実施形態に係る管理サーバ30の機能構成について説明する。
図13は、本実施形態に係る管理サーバ30の機能構成図である。
図13に示すように、管理サーバ30は、通信部41、制御部42、及び記憶部43を有する。
[Functional configuration]
Next, the functional configuration of the management server 30 according to this embodiment will be explained.
FIG. 13 is a functional configuration diagram of the management server 30 according to this embodiment.
As shown in FIG. 13, the management server 30 includes a communication section 41, a control section 42, and a storage section 43.

通信部41は、例えばNIC(Network Interface Card)によって実現される処理部である。ここでは、通信部41は、ネットワーク26を介して管理サーバ30を第1のクラウド拠点21、第2のクラウド拠点22、及びDNSサーバ36の各々に接続するインターフェースとして機能する。 The communication unit 41 is a processing unit implemented by, for example, a NIC (Network Interface Card). Here, the communication unit 41 functions as an interface that connects the management server 30 to each of the first cloud base 21, the second cloud base 22, and the DNS server 36 via the network 26.

制御部42は、CPU(Central Processing Unit)等のプロセッサがDRAM(Dynamic Random Access Memory)等のメモリと協働して本実施形態に係るロードバランサ配備位置決定プログラムを実行することにより実現される処理部である。 The control unit 42 is a process realized by a processor such as a CPU (Central Processing Unit) cooperating with a memory such as a DRAM (Dynamic Random Access Memory) to execute the load balancer deployment position determination program according to the present embodiment. Department.

その制御部42は、第1の取得部44、第2の取得部45、算出部46、候補決定部47、及びアドレス登録部48を有する。 The control unit 42 includes a first acquisition unit 44 , a second acquisition unit 45 , a calculation unit 46 , a candidate determination unit 47 , and an address registration unit 48 .

第1の取得部44は、複数の第1のクラウド拠点21の各々の第1の測定用仮想マシン24aから処理時間T1を取得することにより、第1のクラウド拠点21ごとに処理時間T1を取得する処理部である。また、第1の取得部44は、取得した処理時間T1を第1のクラウド拠点21と対応付けて処理時間管理テーブルTB1を生成し、それを記憶部43に格納する。 The first acquisition unit 44 acquires the processing time T1 for each first cloud base 21 by acquiring the processing time T1 from the first measurement virtual machine 24a of each of the plurality of first cloud bases 21. This is a processing section that performs Further, the first acquisition unit 44 associates the acquired processing time T1 with the first cloud base 21 to generate a processing time management table TB1, and stores it in the storage unit 43.

第2の取得部45は、複数の第1のクラウド拠点21と複数の第2のクラウド拠点22との組み合わせごとに通信時間T2を取得する処理部である。例えば、第2の取得部45は、第1のクラウド拠点21の第2の測定用仮想マシン24bから通信時間T2を取得することにより、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとの通信時間T2を取得する。更に、第2の取得部45は、取得した通信時間T2を第1のクラウド拠点21と第2のクラウド拠点22の各々と対応付けて通信時間管理テーブルTB2を生成し、それを記憶部43に格納する。 The second acquisition unit 45 is a processing unit that acquires communication time T2 for each combination of a plurality of first cloud bases 21 and a plurality of second cloud bases 22. For example, the second acquisition unit 45 acquires the communication time T2 from the second measurement virtual machine 24b of the first cloud base 21, thereby allowing communication between the first cloud base 21 and the second cloud base 22. Obtain the communication time T2 for each combination. Furthermore, the second acquisition unit 45 associates the acquired communication time T2 with each of the first cloud base 21 and the second cloud base 22, generates a communication time management table TB2, and stores it in the storage unit 43. Store.

一方、算出部46は、処理時間管理テーブルTB1と通信時間管理テーブルTB2とを参照することにより、処理時間T1と通信時間T2とを加算した応答時間T3を第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとに算出する。 On the other hand, the calculation unit 46 calculates the response time T3, which is the sum of the processing time T1 and the communication time T2, between the first cloud base 21 and the second cloud base 21 by referring to the processing time management table TB1 and the communication time management table TB2. It is calculated for each combination with the cloud base 22.

また、候補決定部47は、複数の第1のクラウド拠点21の各々との間における応答時間T3のばらつきΔTが基準値ΔTth未満となる第2のクラウド拠点22をロードバランサ25の配備先の候補35として決定する処理部である。更に、候補決定部47は、その候補35が列挙された候補データCDを作成し、それを記憶部43に格納する。 In addition, the candidate determining unit 47 selects the second cloud base 22 as a candidate for the deployment destination of the load balancer 25, where the variation ΔT in response time T3 between each of the plurality of first cloud bases 21 is less than the reference value ΔTth. This is the processing unit that is determined as 35. Further, the candidate determining unit 47 creates candidate data CD in which the candidates 35 are listed, and stores it in the storage unit 43.

そして、アドレス登録部48は、ロードバランサ25のIPアドレスをそのドメイン名と対応付けてDNSサーバ36に登録する処理部である。例えば、アドレス登録部48は、図12に示したように、ばらつきΔTを定期的に監視した結果候補35が更新された場合に、更新後の候補35に含まれるロードバランサ25のIPアドレスをDNSサーバ36に登録する。 The address registration unit 48 is a processing unit that associates the IP address of the load balancer 25 with its domain name and registers it in the DNS server 36. For example, as shown in FIG. 12, when the candidate 35 is updated as a result of regularly monitoring the variation ΔT, the address registration unit 48 sends the IP address of the load balancer 25 included in the updated candidate 35 to the DNS. Register in the server 36.

一方、記憶部43は、HDD等の記憶装置とDRAM等のメモリとによって実現され、前述の処理時間管理テーブルTB1、通信時間管理テーブルTB2、及び候補データCDの各々を記憶する。 On the other hand, the storage unit 43 is realized by a storage device such as an HDD and a memory such as a DRAM, and stores each of the aforementioned processing time management table TB1, communication time management table TB2, and candidate data CD.

[処理の流れ]
次に、本実施形態に係る管理サーバ30の動作について説明する。
図14及び図15は、本実施形態に係るロードバランサ配備位置決定方法の一例を示すフローチャートである。
[Processing flow]
Next, the operation of the management server 30 according to this embodiment will be explained.
14 and 15 are flowcharts illustrating an example of a load balancer deployment position determining method according to this embodiment.

まず、第1の取得部44が、記憶部43に処理時間管理テーブルTB1があるかどうかを判断する(ステップS11)。ここで、記憶部43に処理時間管理テーブルTB1がないと第1の取得部44が判断した場合は(ステップS11:否定)、後述の処理時間管理テーブル作成処理(ステップS12)を実行した後に再びステップS11からやり直す。 First, the first acquisition unit 44 determines whether the processing time management table TB1 exists in the storage unit 43 (step S11). Here, if the first acquisition unit 44 determines that the processing time management table TB1 does not exist in the storage unit 43 (step S11: negative), the processing time management table creation process (step S12), which will be described later, is executed and then the Start over from step S11.

一方、処理時間管理テーブルTB1があると第1の取得部44が判断した場合は(ステップS11:肯定)、第1の取得部44は、処理時間管理テーブルTB1から第1のクラウド拠点21ごとに処理時間T1を取得する(ステップS13)。 On the other hand, if the first acquisition unit 44 determines that there is a processing time management table TB1 (step S11: affirmative), the first acquisition unit 44 acquires information for each first cloud base 21 from the processing time management table TB1. The processing time T1 is obtained (step S13).

その後、第1の取得部44は、全ての第1のクラウド拠点21の処理時間T1を取得したかを判断する(ステップS14)。ここで、全ての第1のクラウド拠点21の処理時間T1を取得していないと第1の取得部44が判断した場合(ステップS14:否定)にはステップS13に戻る。 After that, the first acquisition unit 44 determines whether the processing time T1 of all the first cloud bases 21 has been acquired (step S14). Here, if the first acquisition unit 44 determines that the processing time T1 of all the first cloud bases 21 has not been acquired (step S14: negative), the process returns to step S13.

一方、全ての第1のクラウド拠点21の処理時間T1を取得したと第1の取得部44が判断した場合(ステップS14:肯定)にはステップS15に移る。 On the other hand, if the first acquisition unit 44 determines that the processing time T1 of all the first cloud bases 21 has been acquired (step S14: affirmative), the process moves to step S15.

ステップS15においては、第2の取得部45が、記憶部43に通信時間管理テーブルTB2があるかどうかを判断する。 In step S15, the second acquisition unit 45 determines whether the storage unit 43 has the communication time management table TB2.

ここで、記憶部43に通信時間管理テーブルTB2がないと第2の取得部45が判断した場合は(ステップS15:否定)、後述の通信時間管理テーブル作成処理(ステップS16)を実行した後に再びステップS15からやり直す。 Here, if the second acquisition unit 45 determines that the communication time management table TB2 does not exist in the storage unit 43 (step S15: negative), the communication time management table creation process (step S16) described below is executed and then the Start over from step S15.

一方、通信時間管理テーブルTB2があると第2の取得部45が判断した場合は(ステップS15:肯定)、第2の取得部45は、通信時間管理テーブルTB2から通信時間T2を取得する(ステップS17)。このとき、第2の取得部45は、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとに通信時間T2を取得する。 On the other hand, if the second acquisition unit 45 determines that there is the communication time management table TB2 (step S15: affirmative), the second acquisition unit 45 acquires the communication time T2 from the communication time management table TB2 (step S17). At this time, the second acquisition unit 45 acquires the communication time T2 for each combination of the first cloud base 21 and the second cloud base 22.

次いで、第2の取得部45は、第1のクラウド拠点21と第2のクラウド拠点22の全ての組み合わせについて通信時間T2を取得したかを判断する(ステップS18)。ここで、全ての組み合わせについて通信時間T2を取得していないと第2の取得部45が判断した場合(ステップS18:否定)にはステップS17に戻る。 Next, the second acquisition unit 45 determines whether the communication time T2 has been acquired for all combinations of the first cloud base 21 and the second cloud base 22 (step S18). Here, if the second acquisition unit 45 determines that the communication time T2 has not been acquired for all combinations (step S18: negative), the process returns to step S17.

一方、第2の取得部45が全ての組み合わせについて通信時間T2を取得したと判断した場合(ステップS18:肯定)にはステップS19に移る。 On the other hand, if the second acquisition unit 45 determines that the communication time T2 has been acquired for all combinations (step S18: affirmative), the process moves to step S19.

ステップS19においては、算出部46が、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせを一つ選択し、選択した組み合わせに対して応答時間T3を算出する。応答時間T3は、ステップS13とステップS17の各々で取得した処理時間T1と通信時間T2とを用いて、図8に例示した方法で算出される。 In step S19, the calculation unit 46 selects one combination of the first cloud base 21 and the second cloud base 22, and calculates the response time T3 for the selected combination. The response time T3 is calculated by the method illustrated in FIG. 8 using the processing time T1 and the communication time T2 obtained in step S13 and step S17, respectively.

例えば、図8の「事業者A/拠点A」と「事業者A/拠点C」との組み合わせについては、「事業者A/拠点A」の処理時間T1が100msecであり、「事業者A/拠点A」と「事業者A/拠点C」との間の通信時間T2が50msecである。よって、算出部46が算出する応答時間T3は150msec(=100msec+50msec)となる。 For example, regarding the combination of "Business Operator A/Location A" and "Business Operator A/Location C" in Figure 8, the processing time T1 of "Business Operator A/Location A" is 100 msec, and the The communication time T2 between "base A" and "operator A/base C" is 50 msec. Therefore, the response time T3 calculated by the calculation unit 46 is 150 msec (=100 msec+50 msec).

次いで、算出部46が、ステップS19で算出した応答時間T3が最大値T3maxよりも大きいかどうかを判断する(ステップS20)。最大値T3maxは、一つの第2のクラウド拠点22と、複数の第1のクラウド拠点21との間における応答時間T3の最大値であり、第2のクラウド拠点22ごとに定まる値である。例えば、図8の算出結果31に示すように、第2のクラウド拠点22が「事業者A/拠点D」の場合には、応答時間T3は150msecと155msecとなるため、最大値T3maxは155msecとなる。 Next, the calculation unit 46 determines whether the response time T3 calculated in step S19 is larger than the maximum value T3 max (step S20). The maximum value T3 max is the maximum value of the response time T3 between one second cloud base 22 and a plurality of first cloud bases 21, and is a value determined for each second cloud base 22. For example, as shown in the calculation result 31 in FIG. 8, when the second cloud base 22 is "Business operator A/base D", the response time T3 is 150 msec and 155 msec, so the maximum value T3 max is 155 msec. becomes.

ステップS20においては、応答時間T3の算出対象となった第1のクラウド拠点21と第2のクラウド拠点22との組み合わせにおいて、第2のクラウド拠点22に対応する最大値T3maxと応答時間T3との大小関係が算出部46によって判断される。 In step S20, in the combination of the first cloud base 21 and the second cloud base 22 for which the response time T3 is calculated, the maximum value T3 max and the response time T3 corresponding to the second cloud base 22 are calculated. The calculation unit 46 determines the magnitude relationship between the two.

なお、算出部46は、このフローチャートを実行する前に、複数の第2のクラウド拠点22の各々の最大値T3maxを十分小さな初期値に初期化しておく。一例として、算出部46は、最大値T3maxの初期値を0msecに設定する。 Note that, before executing this flowchart, the calculation unit 46 initializes the maximum value T3 max of each of the plurality of second cloud bases 22 to a sufficiently small initial value. As an example, the calculation unit 46 sets the initial value of the maximum value T3 max to 0 msec.

そして、応答時間T3が最大値T3maxよりも大きいと算出部46が判断した場合には(ステップS20:肯定)、算出部46がその応答時間T3を新たな最大値T3maxとする(ステップS21)。 If the calculation unit 46 determines that the response time T3 is larger than the maximum value T3 max (step S20: affirmative), the calculation unit 46 sets the response time T3 as a new maximum value T3 max (step S21). ).

一方、応答時間T3が最大値T3maxよりも大きくないと算出部46が判断した場合(ステップS20:否定)にはステップS22に移る。 On the other hand, if the calculation unit 46 determines that the response time T3 is not larger than the maximum value T3 max (step S20: negative), the process moves to step S22.

ステップS22においては、算出部46が、ステップS19で算出した応答時間T3が最小値T3minよりも小さいかどうかを判断する。最小値T3minは、一つの第2のクラウド拠点22と、複数の第1のクラウド拠点21との間における応答時間T3の最小値であり、第2のクラウド拠点22ごとに定まる値である。例えば、図8の算出結果31に示すように、第2のクラウド拠点22が「事業者A/拠点D」の場合には、前述のように応答時間T3が150msecと155msecとなるため、最小値T3minは150msecとなる。 In step S22, the calculation unit 46 determines whether the response time T3 calculated in step S19 is smaller than the minimum value T3 min . The minimum value T3 min is the minimum value of the response time T3 between one second cloud base 22 and a plurality of first cloud bases 21, and is a value determined for each second cloud base 22. For example, as shown in the calculation result 31 in FIG. 8, when the second cloud base 22 is "Business operator A/base D", the response time T3 is 150 msec and 155 msec as described above, so the minimum value T3 min is 150 msec.

ステップS22においては、応答時間T3の算出対象となった第1のクラウド拠点21と第2のクラウド拠点22との組み合わせにおいて、第2のクラウド拠点22に対応する最小値T3minと応答時間T3との大小関係が算出部46によって判断される。 In step S22, in the combination of the first cloud base 21 and the second cloud base 22 for which the response time T3 is calculated, the minimum value T3 min and the response time T3 corresponding to the second cloud base 22 are calculated. The calculation unit 46 determines the magnitude relationship between the two.

なお、算出部46は、このフローチャートを実行する前に、複数の第2のクラウド拠点22の各々の最小値T3minを十分大きな初期値に初期化しておく。一例として、算出部46は、最小値T3minの初期値を1000msecに設定する。 Note that, before executing this flowchart, the calculation unit 46 initializes the minimum value T3 min of each of the plurality of second cloud bases 22 to a sufficiently large initial value. As an example, the calculation unit 46 sets the initial value of the minimum value T3 min to 1000 msec.

ここで、応答時間T3が最小値T3minよりも小さいと算出部46が判断した場合には(ステップS22:肯定)、算出部46がその応答時間T3を新たな最小値T3minとする(ステップS23)。 Here, if the calculation unit 46 determines that the response time T3 is smaller than the minimum value T3 min (step S22: affirmative), the calculation unit 46 sets the response time T3 to a new minimum value T3 min (step S23).

上記のようにしてステップS21とステップS23を終えた後はステップS24に移る。なお、応答時間T3が最小値T3minよりも小さくないと算出部46が判断した場合(ステップS22:否定)にもステップS24に移る。 After completing step S21 and step S23 as described above, the process moves to step S24. Note that the process also moves to step S24 when the calculation unit 46 determines that the response time T3 is not smaller than the minimum value T3 min (step S22: negative).

ステップS24においては、算出部46が、第1のクラウド拠点21と第2のクラウド拠点22の全ての組み合わせに対して応答時間T3を算出したかどうかを判断する。 In step S24, the calculation unit 46 determines whether the response time T3 has been calculated for all combinations of the first cloud base 21 and the second cloud base 22.

ここで、全ての組み合わせに対して応答時間T3を算出していないと算出部46が判断した場合(ステップS24:否定)にはステップS19からやり直す。 Here, if the calculation unit 46 determines that the response time T3 has not been calculated for all combinations (step S24: negative), the process is restarted from step S19.

一方、全ての組み合わせに対して応答時間T3を算出したと算出部46が判断した場合(ステップS24:肯定)にはステップS25に移る。 On the other hand, if the calculation unit 46 determines that the response time T3 has been calculated for all combinations (step S24: affirmative), the process moves to step S25.

ステップS25においては、候補決定部47が、候補データCDに格納されている候補35を空に初期化する。 In step S25, the candidate determining unit 47 initializes the candidates 35 stored in the candidate data CD to be empty.

次に、算出部46が、第2のクラウド拠点22の応答時間T3のばらつきΔTを算出する(ステップS26)。図9を参照して説明したように、ばらつきΔTは、一つの第2のクラウド拠点22の応答時間T3の最大値T3maxと最小値T3minとの差として定義される。 Next, the calculation unit 46 calculates the variation ΔT in the response time T3 of the second cloud base 22 (step S26). As described with reference to FIG. 9, the variation ΔT is defined as the difference between the maximum value T3 max and the minimum value T3 min of the response time T3 of one second cloud base 22.

次いで、候補決定部47が、ばらつきΔTが基準値ΔTth未満かどうかを判断する(ステップS27)。基準値ΔTthは、利用者端末27が各システム23から安定してサービスを受けることができる目安となる値である。ここでは、管理者が基準値ΔTthを10msecに設定する。 Next, the candidate determining unit 47 determines whether the variation ΔT is less than the reference value ΔTth (step S27). The reference value ΔTth is a value that is a guideline for allowing the user terminal 27 to stably receive services from each system 23. Here, the administrator sets the reference value ΔTth to 10 msec.

そして、ばらつきΔTが基準値ΔTth未満であると候補決定部47が判断した場合(ステップS27:肯定)にはステップS28に移る。 If the candidate determining unit 47 determines that the variation ΔT is less than the reference value ΔTth (step S27: affirmative), the process moves to step S28.

ステップS28においては、候補決定部47が、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22と同一の事業者のクラウド拠点が候補データCDの候補35に含まれているかを判断する。 In step S28, the candidate determining unit 47 determines that the cloud base of the same operator as the second cloud base 22 whose variation ΔT was determined to be less than the reference value ΔTth in step S27 is included in the candidates 35 of the candidate data CD. Determine if there are any.

ここで、同一事業者の複数の第2のクラウド拠点22の各々にロードバランサ25を配備すると、その事業者に障害が生じたときに、前述のように当該事業者が提供する全てのロードバランサ25が使用できなくなってしまう。 Here, if the load balancer 25 is deployed in each of the plurality of second cloud bases 22 of the same operator, when a failure occurs in that operator, all the load balancers provided by the operator will be 25 becomes unusable.

そこで、同一の事業者の第2のクラウド拠点22が候補35に含まれていると候補決定部47が判断した場合には(ステップS28:肯定)、ステップS29において、候補決定部47が複数の第2のクラウド拠点22から一つを選択する。その選択の基準として、ここでは応答時間T3の最大値T3maxを採用する。 Therefore, if the candidate determining unit 47 determines that the second cloud base 22 of the same provider is included in the candidates 35 (step S28: affirmative), in step S29, the candidate determining unit 47 One of the second cloud bases 22 is selected. Here, the maximum value T3 max of the response time T3 is adopted as the criterion for selection.

例えば、候補決定部47は、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22の最大値T3max_Aが、候補35にある同一事業者の第2のクラウド拠点22の最大値T3max_Bよりも小さいかを判断する。 For example, the candidate determining unit 47 determines that the maximum value T3 max_A of the second cloud base 22 whose variation ΔT was determined to be less than the reference value ΔTth in step S27 is the maximum value T3 max_A of the second cloud base 22 of the same operator in the candidate 35. Determine whether it is smaller than the maximum value T3 max_B .

そして、最大値T3max_Aが最大値T3max_Bよりも小さいと判断された場合(ステップS29:肯定)にはステップS30に移る。 If it is determined that the maximum value T3 max_A is smaller than the maximum value T3 max_B (step S29: affirmative), the process moves to step S30.

ステップS30においては、候補決定部47が、最大値T3max_Aを有する第2のクラウド拠点22をロードバランサ25の配備先の候補35とする。これにより、同一事業者が提供する複数の第2のクラウド拠点22のうちで最大値T3maxがより小さい第2のクラウド拠点22がロードバランサ25の配備先の候補となる。そのため、実際にその第2のクラウド拠点22にロードバランサ25を配備することにより、利用者端末27がリクエストを送信してから応答を受信するまでの時間を短くすることができる。 In step S30, the candidate determining unit 47 sets the second cloud base 22 having the maximum value T3 max_A as the candidate 35 for the deployment destination of the load balancer 25. As a result, the second cloud base 22 with the smaller maximum value T3 max among the plurality of second cloud bases 22 provided by the same provider becomes a candidate for the deployment destination of the load balancer 25. Therefore, by actually deploying the load balancer 25 at the second cloud base 22, it is possible to shorten the time from when the user terminal 27 sends a request until it receives a response.

なお、ステップS28において同一の事業者の第2のクラウド拠点22が候補35に含まれていないと候補決定部47が判断した場合にもステップS30を実行する。この場合も、候補決定部47が、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22を候補35に登録する。 Note that step S30 is also executed when the candidate determining unit 47 determines in step S28 that the second cloud base 22 of the same provider is not included in the candidates 35. In this case as well, the candidate determining unit 47 registers the second cloud base 22 whose variation ΔT is determined to be less than the reference value ΔTth in step S27 as the candidate 35.

一方、ステップS29において最大値T3max_Aが最大値T3max_Bよりも小さくないと判断された場合にはステップS30をスキップする。 On the other hand, if it is determined in step S29 that the maximum value T3 max_A is not smaller than the maximum value T3 max_B , step S30 is skipped.

次に、候補決定部47が、全ての第2のクラウド拠点22に対してばらつきΔTを算出したかどうかを判断する(ステップS31)。なお、ステップS27においてばらつきΔTが基準値ΔTth未満ではないと候補決定部47が判断した場合も、ステップS28~S30をスキップしてステップS31を実行する。 Next, the candidate determining unit 47 determines whether the variation ΔT has been calculated for all the second cloud bases 22 (step S31). Note that even if the candidate determining unit 47 determines in step S27 that the variation ΔT is not less than the reference value ΔTth, steps S28 to S30 are skipped and step S31 is executed.

そして、全ての第2のクラウド拠点22に対してばらつきΔTを算出していないと候補決定部47が判断した場合(ステップS31:否定)にはステップS26に戻り、そうでない場合(ステップS31:肯定)には処理を終える。 If the candidate determination unit 47 determines that the variation ΔT has not been calculated for all the second cloud bases 22 (step S31: negative), the process returns to step S26; otherwise (step S31: affirmative). ) the processing ends.

次に、ステップS12の処理時間管理テーブル作成処理について説明する。
図16は、処理時間管理テーブル作成処理について示すフローチャートである。
Next, the processing time management table creation process in step S12 will be explained.
FIG. 16 is a flowchart showing processing time management table creation processing.

まず、第1の取得部44は、複数の第1の測定用仮想マシン24aの各々に対し処理時間T1を送信するように要求する(ステップS41)。 First, the first acquisition unit 44 requests each of the plurality of first measurement virtual machines 24a to transmit the processing time T1 (step S41).

次に、第1の取得部44は、全ての第1の測定用仮想マシン24aから処理時間T1を受信したかどうかを判断する(ステップS42)。ここで、全ての第1の測定用仮想マシン24aから処理時間T1を受信していないと第1の取得部44が判断した場合(ステップS42:否定)にはステップS41からやり直す。 Next, the first acquisition unit 44 determines whether the processing time T1 has been received from all the first measurement virtual machines 24a (step S42). Here, if the first acquisition unit 44 determines that the processing time T1 has not been received from all the first measurement virtual machines 24a (step S42: negative), the process starts over from step S41.

一方、全ての第1の測定用仮想マシン24aから処理時間T1を受信したと第1の取得部44が判断した場合(ステップS42:肯定)にはステップS43に移る。 On the other hand, if the first acquisition unit 44 determines that the processing time T1 has been received from all the first measurement virtual machines 24a (step S42: affirmative), the process moves to step S43.

ステップS43においては、第1の取得部44が、第1の測定用仮想マシン24aが配備されている第1のクラウド拠点21と処理時間T1と対応付けて処理時間管理テーブルTB1に格納する。
以上により、処理時間管理テーブル作成処理を終える。
In step S43, the first acquisition unit 44 associates the processing time T1 with the first cloud base 21 where the first measurement virtual machine 24a is deployed and stores it in the processing time management table TB1.
With the above steps, the processing time management table creation process is completed.

次に、ステップS16の通信時間管理テーブル作成処理について説明する。
図17は、通信時間管理テーブル作成処理について示すフローチャートである。
Next, the communication time management table creation process in step S16 will be explained.
FIG. 17 is a flowchart showing communication time management table creation processing.

まず、第2の取得部45は、複数の第2の測定用仮想マシン24bの各々に対し通信時間T2を送信するように要求する(ステップS51)。 First, the second acquisition unit 45 requests each of the plurality of second measurement virtual machines 24b to transmit the communication time T2 (step S51).

次に、第2の取得部45は、全ての第2の測定用仮想マシン24bから通信時間T2を受信したかどうかを判断する(ステップS52)。ここで、全ての第2の測定用仮想マシン24bから通信時間T2を受信していないと第2の取得部45が判断した場合(ステップS52:否定)にはステップS51からやり直す。 Next, the second acquisition unit 45 determines whether the communication time T2 has been received from all the second measurement virtual machines 24b (step S52). Here, if the second acquisition unit 45 determines that the communication time T2 has not been received from all the second measurement virtual machines 24b (step S52: negative), the process starts over from step S51.

一方、全ての第2の測定用仮想マシン24bから通信時間T2を受信したと第2の取得部45が判断した場合(ステップS52:肯定)にはステップS53に移る。 On the other hand, if the second acquisition unit 45 determines that the communication time T2 has been received from all the second measurement virtual machines 24b (step S52: affirmative), the process moves to step S53.

ステップS53においては、第2の取得部45が、通信時間T2を第1のクラウド拠点21と第2のクラウド拠点22の各々と対応付けて通信時間管理テーブルTB2に格納する。
以上により、通信時間管理テーブル作成処理を終える。
In step S53, the second acquisition unit 45 stores the communication time T2 in correspondence with each of the first cloud base 21 and the second cloud base 22 in the communication time management table TB2.
With the above steps, the communication time management table creation process is completed.

[ハードウェア構成]
図18は、本実施形態に係る管理サーバ30のハードウェア構成図である。
図18に示すように、管理サーバ30は、記憶装置30a、メモリ30b、プロセッサ30c、通信インターフェース30d、表示装置30e、及び入力装置30fを有する。これらの各部は、バス30gにより相互に接続される。
[Hardware configuration]
FIG. 18 is a hardware configuration diagram of the management server 30 according to this embodiment.
As shown in FIG. 18, the management server 30 includes a storage device 30a, a memory 30b, a processor 30c, a communication interface 30d, a display device 30e, and an input device 30f. These parts are interconnected by a bus 30g.

このうち、記憶装置30aは、HDDやSSD(Solid State Drive)等の不揮発性のストレージデバイスであり、本実施形態に係るロードバランサ配備位置決定プログラム50を記憶する。 Among these, the storage device 30a is a non-volatile storage device such as an HDD or an SSD (Solid State Drive), and stores the load balancer deployment position determination program 50 according to this embodiment.

なお、ロードバランサ配備位置決定プログラム50をコンピュータが読み取り可能な記録媒体30hに記録させておき、プロセッサ30cに記録媒体30hのロードバランサ配備位置決定プログラム50を読み取らせるようにしてもよい。 Note that the load balancer deployment position determination program 50 may be recorded on the computer-readable recording medium 30h, and the processor 30c may be made to read the load balancer deployment position determination program 50 from the recording medium 30h.

そのような記録媒体30hとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体30hとして使用してもよい。これらの記録媒体30hは、物理的な形態を持たない搬送波のような一時的な媒体ではない。 Examples of such a recording medium 30h include physical portable recording media such as a CD-ROM (Compact Disc - Read Only Memory), a DVD (Digital Versatile Disc), and a USB (Universal Serial Bus) memory. Furthermore, a semiconductor memory such as a flash memory or a hard disk drive may be used as the recording medium 30h. These recording media 30h are not temporary media like carrier waves that do not have a physical form.

更に、公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置にロードバランサ配備位置決定プログラム50を記憶させてもよい。その場合は、プロセッサ30cがそのロードバランサ配備位置決定プログラム50を読み出して実行すればよい。 Furthermore, the load balancer deployment position determining program 50 may be stored in a device connected to a public line, the Internet, a LAN (Local Area Network), or the like. In that case, the processor 30c may read and execute the load balancer deployment position determining program 50.

一方、メモリ30bは、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述のロードバランサ配備位置決定プログラム50が展開される。 On the other hand, the memory 30b is hardware such as a DRAM that temporarily stores data, and the load balancer deployment position determining program 50 described above is expanded thereon.

プロセッサ30cは、管理サーバ30の各部を制御するCPU(Central Processing Unit)やGPU(Graphical Processing Unit)等のハードウェアである。また、プロセッサ30cは、メモリ30bと協働してロードバランサ配備位置決定プログラム50も実行する。 The processor 30c is hardware such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit) that controls each part of the management server 30. The processor 30c also executes the load balancer deployment position determination program 50 in cooperation with the memory 30b.

このようにメモリ30bとプロセッサ30cとが協働してロードバランサ配備位置決定プログラム50を実行することにより、図13の第1の取得部44、第2の取得部45、算出部46、候補決定部47、及びアドレス登録部48を備えた制御部42が実現される。また、図13の記憶部43は、記憶装置30aとメモリ30bによって実現される。 In this way, the memory 30b and the processor 30c cooperate to execute the load balancer deployment position determination program 50, so that the first acquisition unit 44, second acquisition unit 45, calculation unit 46, and candidate determination in FIG. A control section 42 including a section 47 and an address registration section 48 is realized. Furthermore, the storage unit 43 in FIG. 13 is realized by a storage device 30a and a memory 30b.

更に、通信インターフェース30dは、管理サーバ30をネットワーク26に接続するためのインターフェースである。その通信インターフェース30dにより、図13の通信部41が実現される。 Furthermore, the communication interface 30d is an interface for connecting the management server 30 to the network 26. The communication interface 30d realizes the communication section 41 in FIG. 13.

そして、表示装置30eは、液晶表示装置等のハードウェアであって、システム20の管理者に種々の情報を表示する。また、入力装置30fは、キーボードやマウス等のハードウェアである。例えば、管理者は、入力装置30fを操作することにより、管理サーバ30に対して種々の指示を出すことになる。 The display device 30e is hardware such as a liquid crystal display device, and displays various information to the administrator of the system 20. Further, the input device 30f is hardware such as a keyboard and a mouse. For example, the administrator issues various instructions to the management server 30 by operating the input device 30f.

以上説明した各実施形態に関し、更に以下の付記を開示する。
(付記1) コンピュータが、
複数の第1のクラウド拠点の各々に構築されたシステムがリクエストを受け付けたときに実行する処理に要する処理時間を前記第1のクラウド拠点ごとに取得し、
前記第1のクラウド拠点と第2のクラウド拠点との間の通信時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに取得し、
前記処理時間と前記通信時間とを加算した応答時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに算出し、
複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点の各々との間における前記応答時間のばらつきが基準値未満となる第2のクラウド拠点を、前記リクエストを複数の前記第1のクラウド拠点の各々に振り分けるロードバランサの配備先の候補とすること、
を特徴とするロードバランサ配備位置決定方法。
(付記2) 前記ばらつきは、一つの前記第2のクラウド拠点と、複数の前記第1のクラウド拠点との間における前記応答時間の最大値と最小値との差であることを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記3) 前記コンピュータが、
前記ばらつきが前記基準値未満となる複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点との間における前記応答時間の最大値が最も小さい第2のクラウド拠点を前記配備先に決定することを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記4) 前記コンピュータが、
前記ばらつきが前記基準値未満となる複数の前記第2のクラウド拠点のうち、コストが最も安価な第2のクラウド拠点を前記配備先に決定することを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記5) 前記コンピュータが、
前記ばらつきが前記基準値未満となる前記第2のクラウド拠点に、同一の事業者が提供する複数の第2のクラウド拠点が含まれている場合には、前記事業者が提供する複数の前記第2のクラウド拠点のうちの一つを前記候補にすることを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記6) 前記コンピュータが、
前記事業者が提供する複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点との間における前記応答時間の最大値が最も小さい第2のクラウド拠点を前記候補にすることを特徴とする付記5に記載のロードバランサ配備位置決定方法。
(付記7) 複数の前記第1のクラウド拠点の各々を提供する複数の事業者の各々が異なることを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記8) 前記コンピュータが、
前記ばらつきを定期的に算出することにより、定期的に前記候補を更新することを特徴とする付記1に記載のロードバランサ配備位置決定方法。
(付記9) 前記コンピュータが、
前記更新前に前記ロードバランサを配備していた前記第2のクラウド拠点と複数の前記第1のクラウド拠点の各々との間における前記応答時間の前記ばらつきが前記基準値以上となった場合には、前記更新後の前記候補に含まれる前記ロードバランサのいずれかのIPアドレスを、当該ロードバランサのドメイン名と対応付けてDNSサーバに登録することを特徴とする付記8に記載のロードバランサ配備位置決定方法。
(付記10) 複数の第1のクラウド拠点の各々に構築されたシステムがリクエストを受け付けたときに実行する処理に要する処理時間を前記第1のクラウド拠点ごとに取得する処理と、
前記第1のクラウド拠点と第2のクラウド拠点との間の通信時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに取得する処理と、
前記処理時間と前記通信時間とを加算した応答時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに算出する処理と、
複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点の各々との間における前記応答時間のばらつきが基準値未満となる第2のクラウド拠点を、前記リクエストを複数の前記第1のクラウド拠点の各々に振り分けるロードバランサの配備先の候補とする処理と、
をコンピュータに実行させるためのロードバランサ配備位置決定プログラム。
Regarding each embodiment described above, the following additional notes are further disclosed.
(Additional note 1) The computer is
Obtaining, for each of the plurality of first cloud bases, the processing time required for processing executed when a system built at each of the plurality of first cloud bases receives a request;
obtaining the communication time between the first cloud base and the second cloud base for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
calculating a response time obtained by adding the processing time and the communication time for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
Among the plurality of second cloud bases, a second cloud base where the variation in response time between each of the plurality of first cloud bases is less than a reference value is selected as the second cloud base where the request is sent to the second cloud base. 1 as a candidate for deployment of a load balancer distributed to each of the cloud bases;
A load balancer deployment position determination method characterized by:
(Supplementary Note 2) A supplementary note characterized in that the variation is a difference between the maximum value and the minimum value of the response time between one of the second cloud bases and a plurality of the first cloud bases. 1. The load balancer deployment position determination method described in 1.
(Additional note 3) The computer is
Among the plurality of second cloud bases where the variation is less than the reference value, the second cloud base with the smallest maximum value of the response time with respect to the plurality of first cloud bases is selected as the deployment destination. The load balancer deployment position determining method according to appendix 1, characterized in that the load balancer deployment position is determined.
(Additional Note 4) The computer is
Load balancer deployment according to appendix 1, characterized in that, among the plurality of second cloud bases where the variation is less than the reference value, the second cloud base with the lowest cost is determined as the deployment destination. Positioning method.
(Additional note 5) The computer is
If the second cloud bases for which the variation is less than the reference value include a plurality of second cloud bases provided by the same provider, the plurality of second cloud bases provided by the same provider are The load balancer deployment position determining method according to supplementary note 1, characterized in that one of the two cloud bases is selected as the candidate.
(Additional note 6) The computer is
Among the plurality of second cloud locations provided by the aforementioned vendor, the second cloud location having the smallest maximum value of the response time with respect to the plurality of first cloud locations is selected as the candidate. The method for determining the load balancer deployment position according to appendix 5.
(Supplementary Note 7) The load balancer deployment position determining method according to Supplementary Note 1, wherein each of the plurality of businesses providing each of the plurality of first cloud bases is different.
(Additional note 8) The computer is
The load balancer deployment position determining method according to appendix 1, characterized in that the candidates are periodically updated by periodically calculating the variation.
(Additional Note 9) The computer is
If the variation in the response time between the second cloud base where the load balancer was deployed before the update and each of the plurality of first cloud bases is equal to or greater than the reference value, , the load balancer deployment position according to appendix 8, wherein the IP address of any of the load balancers included in the updated candidates is registered in a DNS server in association with the domain name of the load balancer. How to decide.
(Additional Note 10) A process of acquiring, for each of the first cloud bases, a processing time required for a process executed when a system built at each of the plurality of first cloud bases receives a request;
a process of acquiring communication time between the first cloud base and the second cloud base for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
a process of calculating a response time obtained by adding the processing time and the communication time for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
Among the plurality of second cloud bases, a second cloud base where the variation in response time between each of the plurality of first cloud bases is less than a reference value is selected as the second cloud base where the request is sent to the second cloud base. 1. A process of selecting candidates for the deployment location of the load balancer to be distributed to each of the cloud bases in 1.
A load balancer deployment position determination program that allows a computer to execute.

1…システム、2…第1のクラウド拠点、3…第2のクラウド拠点、4…ネットワーク、5…利用者端末、8…ロードバランサ、10…システム、20…システム、21…第1のクラウド拠点、21a~21c…第1~第3の仮想マシン、22…第2のクラウド拠点、23…システム、24a…第1の測定用仮想マシン、24b…第2の測定用仮想マシン、25…ロードバランサ、26…ネットワーク、27…利用者端末、30…管理サーバ、30a…記憶装置、30b…メモリ、30c…プロセッサ、30d…通信インターフェース、30e…表示装置、30f…入力装置、30g…バス、30h…記録媒体、31、32…算出結果、35…候補、36…DNSサーバ、36a…管理情報、41…通信部、42…制御部、43…記憶部、44…第1の取得部、45…第2の取得部、46…算出部、47…候補決定部、48…アドレス登録部。

1... System, 2... First cloud base, 3... Second cloud base, 4... Network, 5... User terminal, 8... Load balancer, 10... System, 20... System, 21... First cloud base , 21a to 21c...first to third virtual machines, 22...second cloud base, 23...system, 24a...first measurement virtual machine, 24b...second measurement virtual machine, 25...load balancer , 26... Network, 27... User terminal, 30... Management server, 30a... Storage device, 30b... Memory, 30c... Processor, 30d... Communication interface, 30e... Display device, 30f... Input device, 30g... Bus, 30h... Recording medium, 31, 32...Calculation result, 35...Candidate, 36...DNS server, 36a...Management information, 41...Communication unit, 42...Control unit, 43...Storage unit, 44...First acquisition unit, 45...th 2 acquisition section, 46... calculation section, 47... candidate determination section, 48... address registration section.

Claims (6)

コンピュータが、
複数の第1のクラウド拠点の各々に構築されたシステムがリクエストを受け付けたときに実行する処理に要する処理時間を前記第1のクラウド拠点ごとに取得し、
前記第1のクラウド拠点と第2のクラウド拠点との間の通信時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに取得し、
前記処理時間と前記通信時間とを加算した応答時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに算出し、
複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点の各々との間における前記応答時間のばらつきが基準値未満となる第2のクラウド拠点を、前記リクエストを複数の前記第1のクラウド拠点の各々に振り分けるロードバランサの配備先の候補とすること、
を特徴とするロードバランサ配備位置決定方法。
The computer is
Obtaining, for each of the plurality of first cloud bases, the processing time required for processing executed when a system built at each of the plurality of first cloud bases receives a request;
obtaining the communication time between the first cloud base and the second cloud base for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
calculating a response time obtained by adding the processing time and the communication time for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
Among the plurality of second cloud bases, a second cloud base where the variation in response time between each of the plurality of first cloud bases is less than a reference value is selected as the second cloud base where the request is sent to the second cloud base. 1 as a candidate for deployment of a load balancer distributed to each of the cloud bases;
A load balancer deployment position determination method characterized by:
前記コンピュータが、
前記ばらつきが前記基準値未満となる複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点との間における前記応答時間の最大値が最も小さい第2のクラウド拠点を前記配備先に決定することを特徴とする請求項1に記載のロードバランサ配備位置決定方法。
The computer,
Among the plurality of second cloud bases where the variation is less than the reference value, the second cloud base with the smallest maximum value of the response time with respect to the plurality of first cloud bases is selected as the deployment destination. 2. The load balancer deployment position determining method according to claim 1, wherein the load balancer deployment position is determined.
前記コンピュータが、
前記ばらつきが前記基準値未満となる前記第2のクラウド拠点に、同一の事業者が提供する複数の第2のクラウド拠点が含まれている場合には、前記事業者が提供する複数の前記第2のクラウド拠点のうちの一つを前記候補にすることを特徴とする請求項1に記載のロードバランサ配備位置決定方法。
The computer,
If the second cloud bases for which the variation is less than the reference value include a plurality of second cloud bases provided by the same provider, the plurality of second cloud bases provided by the same provider are 2. The load balancer deployment position determining method according to claim 1, wherein one of two cloud bases is selected as the candidate.
前記コンピュータが、
前記ばらつきを定期的に算出することにより、定期的に前記候補を更新することを特徴とする請求項1に記載のロードバランサ配備位置決定方法。
The computer,
2. The load balancer deployment position determining method according to claim 1, wherein the candidates are periodically updated by periodically calculating the variation.
前記コンピュータが、
前記更新前に前記ロードバランサを配備していた前記第2のクラウド拠点と複数の前記第1のクラウド拠点の各々との間における前記応答時間の前記ばらつきが前記基準値以上となった場合には、前記更新後の前記候補に含まれる前記ロードバランサのいずれかのIP(Internet Protocol)アドレスを、当該ロードバランサのドメイン名と対応付けてDNS(Domain Name System)サーバに登録することを特徴とする請求項4に記載のロードバランサ配備位置決定方法。
The computer,
If the variation in the response time between the second cloud base where the load balancer was deployed before the update and each of the plurality of first cloud bases is equal to or greater than the reference value, , the IP (Internet Protocol) address of any of the load balancers included in the updated candidates is registered in a DNS (Domain Name System) server in association with the domain name of the load balancer. The load balancer deployment position determining method according to claim 4.
複数の第1のクラウド拠点の各々に構築されたシステムがリクエストを受け付けたときに実行する処理に要する処理時間を前記第1のクラウド拠点ごとに取得する処理と、
前記第1のクラウド拠点と第2のクラウド拠点との間の通信時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに取得する処理と、
前記処理時間と前記通信時間とを加算した応答時間を、複数の前記第1のクラウド拠点と複数の前記第2のクラウド拠点との組み合わせごとに算出する処理と、
複数の前記第2のクラウド拠点のうち、複数の前記第1のクラウド拠点の各々との間における前記応答時間のばらつきが基準値未満となる第2のクラウド拠点を、前記リクエストを複数の前記第1のクラウド拠点の各々に振り分けるロードバランサの配備先の候補にする処理と、
をコンピュータに実行させるためのロードバランサ配備位置決定プログラム。
a process of acquiring, for each of the first cloud bases, a processing time required for a process executed when a system built at each of the plurality of first cloud bases receives a request;
a process of acquiring communication time between the first cloud base and the second cloud base for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
a process of calculating a response time obtained by adding the processing time and the communication time for each combination of the plurality of first cloud bases and the plurality of second cloud bases;
Among the plurality of second cloud bases, a second cloud base where the variation in response time between each of the plurality of first cloud bases is less than a reference value is selected as the second cloud base where the request is sent to the second cloud base. 1. A process of selecting candidate locations for deploying a load balancer to be distributed to each of the cloud bases in 1.
A load balancer deployment position determination program that allows a computer to execute.
JP2020006068A 2020-01-17 2020-01-17 Load balancer deployment position determination method and load balancer deployment position determination program Active JP7356026B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020006068A JP7356026B2 (en) 2020-01-17 2020-01-17 Load balancer deployment position determination method and load balancer deployment position determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006068A JP7356026B2 (en) 2020-01-17 2020-01-17 Load balancer deployment position determination method and load balancer deployment position determination program

Publications (2)

Publication Number Publication Date
JP2021114683A JP2021114683A (en) 2021-08-05
JP7356026B2 true JP7356026B2 (en) 2023-10-04

Family

ID=77077684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006068A Active JP7356026B2 (en) 2020-01-17 2020-01-17 Load balancer deployment position determination method and load balancer deployment position determination program

Country Status (1)

Country Link
JP (1) JP7356026B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006332825A (en) 2005-05-24 2006-12-07 Fujitsu Ltd Program, method, and device for dispersing load
JP2014103637A (en) 2012-11-22 2014-06-05 Nec Corp Load distribution control method and system
US20170310583A1 (en) 2016-04-22 2017-10-26 Cisco Technology, Inc. Segment routing for load balancing
US20180227776A1 (en) 2017-02-09 2018-08-09 Nec Corporation Management server, communication system, management server control method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006332825A (en) 2005-05-24 2006-12-07 Fujitsu Ltd Program, method, and device for dispersing load
US20100057935A1 (en) 2005-05-24 2010-03-04 Fujitsu Limited Record medium with a load distribution program recorded thereon, load distribution method, and load distribution apparatus
JP2014103637A (en) 2012-11-22 2014-06-05 Nec Corp Load distribution control method and system
US20170310583A1 (en) 2016-04-22 2017-10-26 Cisco Technology, Inc. Segment routing for load balancing
US20180227776A1 (en) 2017-02-09 2018-08-09 Nec Corporation Management server, communication system, management server control method, and program
JP2018129718A (en) 2017-02-09 2018-08-16 日本電気株式会社 Management server, communication system, control method of management server, and program

Also Published As

Publication number Publication date
JP2021114683A (en) 2021-08-05

Similar Documents

Publication Publication Date Title
JP5277062B2 (en) Computer resource providing system, computer resource providing method, resource transaction apparatus, and resource transaction program
EP2335162B1 (en) Dynamic distribution of virtual machines in a communication network
JP5557689B2 (en) Network system
US20180302464A1 (en) Measuring responsiveness of a load-balancing system
JP2019212336A (en) Distributed caching cluster management
US20150347246A1 (en) Automatic-fault-handling cache system, fault-handling processing method for cache server, and cache manager
US11070634B2 (en) Highly available private cloud service
JP6200080B2 (en) Managing client access to multiple computing systems
US20160156567A1 (en) Allocation method of a computer resource and computer system
US20130007253A1 (en) Method, system and corresponding device for load balancing
US20130262681A1 (en) Apparatus and method for providing service availability to a user via selection of data centers for the user
US9515882B2 (en) Managing imaging of computing devices
US20160378526A1 (en) Seamless address reassignment via multi-tenant linkage
WO2016196406A1 (en) Effective service node traffic routing
Hajjat et al. Dealer: application-aware request splitting for interactive cloud applications
US20180063236A1 (en) Producer system registration
JP6520512B2 (en) Information processing apparatus, priority calculation program and data center system
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system
JP5735899B2 (en) Service providing system, file update method, and distributed management apparatus
JP7356026B2 (en) Load balancer deployment position determination method and load balancer deployment position determination program
US20170034359A1 (en) Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load
Wajahat et al. MERIT: Model-driven Rehoming for VNF chains
US9270530B1 (en) Managing imaging of multiple computing devices
JP2010061391A (en) Information processing method and information processing system
CN111274022A (en) Server resource allocation method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7356026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150