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 PDFInfo
- 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
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.
一側面によれば、利用者がサービスのリクエストを出してからそのサービスの提供を受けるまでの時間のばらつきを抑制することを目的とする。 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.
本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。 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
これらのクラウド拠点2、3の各々は、ネットワーク4を介して利用者端末5と接続されており、利用者端末5に対して種々のサービスを提供する。なお、ここではネットワーク4としてインターネットを想定する。また、利用者端末5は、マルチクラウドを利用する利用者が操作するPC(Personal Computer)等の情報処理装置である。
Each of these
更に、このシステム1においては、第1のクラウド拠点の事業者Aと第2のクラウド拠点の事業者Bとを別の主体にする。これにより、一方の事業者がクラウドを提供できない状況になっても、残りの事業者のクラウドを利用して利用者にサービスを提供できるため、サービスの可用性を高めることができる。
Furthermore, in this
各々のクラウド拠点2、3には、サービスを提供するためのシステム10が構築される。システム10は、データセンタ内で起動している仮想マシンを利用して構築されており、利用者のニーズに応えるための様々なサービスを提供する。
A
ここでは、第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
また、第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
ここでは、システム10がリクエストReqを受け付けてから応答Ackを返すまでの時間を処理時間T1と呼ぶ。
Here, the time from when the
また、第2のクラウド拠点3の内部にも、第1のクラウド拠点2におけるのと同じシステム10が構築される。
Furthermore, the
更に、この例では、利用者端末5が送信したリクエストReqを第1のクラウド拠点2と第2のクラウド拠点3の各々に振り分けるロードバランサ8を第1のクラウド拠点2の内部に配備する。ロードバランサ8は、第1のクラウド拠点2に起動している仮想マシンによって実現することができ、ラウンドロビン等の所定のアルゴリズムに従って第1のクラウド拠点2と第2のクラウド拠点3の各々にリクエストReqを振り分ける。
Furthermore, in this example, a
なお、ロードバランサ8とシステム10との間の通信の往復時間を以下では通信時間T2と呼ぶ。
Note that the round trip time for communication between the
このようなシステム1によれば、二つのクラウド拠点2、3に同じシステム10を構築し、ロードバランサ8が利用者端末5のリクエストReqを各クラウド拠点2、3に振り分ける。よって、例えば第1のクラウド拠点2に障害が発生してその内部のシステム10を利用できない状況になっても、利用者端末5は第2のクラウド拠点3のシステム10を利用することができ、サービスの可用性を高めることができる。
但し、このシステム10には以下のような問題が発生することがある。
According to such a
However, the following problems may occur in this
図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
同様に、2回目のリクエストと応答をそれぞれReq 2、Ack 2で表し、これらの時間間隔をΔt2で表す。そして、3回目のリクエストと応答をそれぞれReq 3、Ack 3で表し、これらの時間間隔をΔt3で表す。
Similarly, the second request and response are represented by
図2(a)の例では各時間間隔Δt1~Δt3が略一定であり、利用者端末5がシステム1から安定したサービスを受けられる状態にある。
In the example of FIG. 2(a), each time interval Δt1 to Δt3 is approximately constant, and the
一方、図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
このような状態では、利用者端末5がリクエストReqを送信してから応答Ackを受信するまでの時間が不安定となるため、利用者端末5がシステム1から安定したサービスを受けることができない。
In such a state, the time from when the
また、マルチクラウドを提供する事業者によっては、管理サーバを利用してシステム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
そのような場合に各時間間隔Δ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
なお、各時間間隔Δ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
図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
In the example of FIG. 3, the
しかし、このような運用方法では、第1のクラウド拠点2に障害が発生した場合に以下のように時間間隔Δt1~Δt3が不均一になるおそれがある。
However, in such an operation method, if a failure occurs in the
図4は、第1のクラウド拠点2に障害が発生した場合の模式図である。
この場合には利用者端末5が第1のクラウド拠点2のシステム10を使用することができないため、ロードバランサ8がリクエストReqの振り分け先を第2のクラウド拠点3に切り替える。
FIG. 4 is a schematic diagram when a failure occurs in the
In this case, since the
しかし、システム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
以下に、利用者端末がリクエストを送信してから応答を受信するまでの時間間隔が不均一となるのを抑制することが可能な各実施形態について説明する。 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
各仮想マシン21a~21cの機能は特に限定されない。例えば、第1の仮想マシン21aは、利用者端末27からHTTPのリクエストReqを受け付ける仮想サーバである。リクエストReqは、システム23に対してサービスに応じた処理を依頼する要求である。その処理をシステム23が終えると、第1の仮想マシン21aは、処理の結果を応答Ackとして利用者端末27に返す。
The functions of each
第2の仮想マシン21bは、第1の仮想マシン21aが受け付けたリクエストReqに応じた処理を行い、その処理の結果を第1の仮想マシン21aに返す仮想サーバである。そして、第3の仮想マシン21cは、その処理を行うのに要する仮想データベースDBである
The second
更に、第1のクラウド拠点21には、システム23の処理時間を測定するための第1の測定用仮想マシン24aが配備される。更に、第1のクラウド拠点21と第2のクラウド拠点22との間の通信時間を測定するための第2の測定用仮想マシン24bも第1のクラウド拠点21内に配備される。
Furthermore, a first measurement
一方、第2のクラウド拠点22は、ロードバランサ25の配備先の候補のクラウド拠点である。この例では複数の第2のクラウド拠点22を用意し、このうちのいずれかに最終的にロードバランサ25が配備される。なお、ロードバランサ25は、第2のクラウド拠点22の内部に起動する仮想マシンによって実現することができる。更に、第2のクラウド拠点22には、前述の第2の測定用仮想マシン24bも配備される。
On the other hand, the
第1のクラウド拠点21と第2のクラウド拠点22の各々はネットワーク26を介して利用者端末27と接続される。ネットワーク26は特に限定されない。例えば、インターネット、VPN(Virtual Private Network)、及びLAN(Local Area Network)等をネットワーク26として採用し得る。
Each of the
利用者端末27は、マルチクラウドを利用する利用者が操作するPC等の情報処理装置である。利用者の操作を受け付けると、利用者端末27は、第1のクラウド拠点21のシステム23からサービスを受けるためにロードバランサ25に対してリクエストReqを送信する。ロードバランサ25は、ラウンドロビン等のアルゴリズムによってそのリクエストReqを複数の第1のクラウド拠点21のいずれかに振り分ける。そして、リクエストReqが振り分けられた第1のクラウド拠点21のシステム23が所定の処理を行う。その後、システム23は、その処理の結果をリクエストReqに対する応答Ackとして利用者端末27に送信する。
The
また、複数の第1のクラウド拠点21の各々を提供する事業者は特に限定されず、複数の第1のクラウド拠点21ごとに事業者が異なってもよいし、複数の第1のクラウド拠点21の中に同一事業者が提供するクラウド拠点が存在してもよい。但し、システム20の可用性を高めるためには、複数の第1のクラウド拠点21の各々の事業者を異なるようにするのが好ましい。
Further, the provider that provides each of the plurality of
図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
更に、このシステム20は、各クラウド拠点21、22を管理するための管理サーバ30を有する。管理サーバ30はネットワーク26に接続されており、複数の第1のクラウド拠点21と複数の第2のクラウド拠点22の各々にアクセス可能となっている。なお、管理サーバ30の形態は特に限定されず、物理サーバや仮想サーバ等のコンピュータを管理サーバ30として採用し得る。
Furthermore, this
このようなシステム20においては、前述のようにロードバランサ25が複数の第1のクラウド拠点21にリクエストReqを振り分ける。そのため、利用者端末27がリクエストReqを送信してから応答Ackを受信するまでの時間間隔Δtは、振り分け先の第1のクラウド拠点21におけるシステム23の処理時間によって変わる。更に、ロードバランサ25が配備されている第2のクラウド拠点22と第1のクラウド拠点21との間の往復の通信時間によっても時間間隔Δtは変わる。
In such a
リクエスト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
そこで、本実施形態では、以下のようにして複数の第2のクラウド拠点22のうちで時間間隔Δtのばらつきを抑制することが可能なクラウド拠点にロードバランサ25を配備する。
Therefore, in this embodiment, the
[ロードバランサ配備位置決定方法]
図6は、第1の測定用仮想マシン24aの機能について説明するための模式図である。
[Load balancer deployment position determination method]
FIG. 6 is a schematic diagram for explaining the functions of the first measurement
第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
なお、第1の測定用仮想マシン24aがシステム23にダミーのリクエストReq_dを複数回送信し、各々のリクエストReq_dに対する応答Ack_dを複数回受信してもよい。その場合、第1の測定用仮想マシン24aがリクエストReq_dを送信してから応答Ack_dを受信するまでの時間を各回で平均した値を処理時間T1として採用し得る。
Note that the first measurement
更に、ダミーのリクエストReq_dに代えて、利用者端末27が送信するリクエストReqを利用して第1の測定用仮想マシン24aが処理時間T1を測定してもよい。その場合は、第1の測定用仮想マシン24aが、システム23に出入りするパケットをキャプチャすることにより、リクエストReqの受信時刻と応答Ackの送信時刻との差を処理時間T1として特定すればよい。
Furthermore, instead of the dummy request Req_d, the first measuring
管理サーバ30は、第1のクラウド拠点21ごとに、ネットワーク26を介して第1の測定用仮想マシン24aから処理時間T1を取得する。更に、管理サーバ30は、その処理時間T1と第1のクラウド拠点21とを対応付けた処理時間管理テーブルTB1を生成する。処理時間管理テーブルTB1において複数の第1のクラウド拠点21の各々を識別する識別子として、ここでは第1のクラウド拠点21の事業者と拠点との組み合わせを採用する。例えば、「事業者A/拠点A」という組み合わせによって、第1のクラウド拠点21を一意に識別することができる。
The
図7は、第2の測定用仮想マシン24bの機能について説明するための模式図である。
FIG. 7 is a schematic diagram for explaining the functions of the second measurement
図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
なお、第2の測定用仮想マシン24bがRTTの測定を複数回行い、RTTの平均値を通信時間T2として算出するようにしてもよい。また、第1のクラウド拠点21と第2のクラウド拠点22との間の往復の通信時間を2で除した片道の通信時間を通信時間T2として採用してもよい。
Note that the second measuring
そして、管理サーバ30は、ネットワーク26を介して複数の第1のクラウド拠点21の各々にアクセスし、第1のクラウド拠点21内の第2の測定用仮想マシン24bから通信時間T2を取得する。
Then, the
更に、管理サーバ30は、その通信時間T2を含む通信時間管理テーブルTB2を生成する。通信時間管理テーブルTB2は、第1のクラウド拠点21、第2のクラウド拠点22、及び通信時間T2の各々を対応付けたテーブルである。
Furthermore, the
その通信時間管理テーブルTB2においては、処理時間管理テーブルTB1と同様に、第1のクラウド拠点21と第2のクラウド拠点22の各々を事業者と拠点との組み合わせにより識別する。
In the communication time management table TB2, similarly to the processing time management table TB1, each of the
そして、管理サーバ30は、上記の処理時間管理テーブルTB1と通信時間管理テーブルTB2を利用して、次のように応答時間を算出する。
Then, the
図8は、管理サーバ30による応答時間の算出結果31について説明するための模式図である。
FIG. 8 is a schematic diagram for explaining the response
応答時間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
例えば、「事業者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
次に、管理サーバ30は、応答時間T3の算出結果31を利用して、次のようにして応答時間T3のばらつきΔTを算出する。
Next, the
図9は、管理サーバ30による応答時間T3のばらつきΔTの算出結果32について説明するための模式図である。
FIG. 9 is a schematic diagram for explaining the
応答時間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
例えば、算出結果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
次に、算出結果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
管理サーバ30は、このような計算を複数の第2のクラウド拠点22の全てに対して行い、応答時間T3のばらつきΔTの算出結果32を得る。
The
そのばらつきΔTが大きいと前述のように第1のクラウド拠点21が正常に動作しているかを管理者が監視するのが困難となると共に、利用者端末27がシステム23から安定してサービスを受けることができない。
If the variation ΔT is large, it becomes difficult for the administrator to monitor whether the
そこで、本実施形態では、管理者が、ばらつきΔ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
図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
これにより、システム20の管理者が、ばらつきΔTが基準値ΔTth未満とすることが可能なロードバランサ25の配備先の候補35を取得できる。そして、実際に管理者がその候補35にロードバランサ25を配備することで、管理者が第1のクラウド拠点21が正常に動作しているかを監視し易くなると共に、利用者端末27がシステム23から安定してサービスを受けることが可能となる。
Thereby, the administrator of the
なお、このように候補35に複数の第2のクラウド拠点22が含まれている場合には、管理サーバ30は、それらのうちの一つをロードバランサ25の配備先として決定してもよい。
Note that if the
図10は、ロードバランサ25の配備先の決定方法の一例を示す模式図である。
FIG. 10 is a schematic diagram showing an example of a method for determining the deployment destination of the
図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
これにより、利用者端末27がリクエストReqを送信してから応答Ackを受信するまでの時間間隔が最も短くなるようなロードバランサ25の配備先を管理者が特定できる。また、実際に管理者がその配備先にロードバランサ25を配備することにより、利用者端末27がシステム23から速やかにサービスを受けることができ、利用者の利便性を向上させることができる。
Thereby, the administrator can specify the deployment destination of the
なお、配備先を決定する際の基準として用いる値は最大値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
なお、ロードバランサ25の可用性を高めるために、候補35にある全ての第2のクラウド拠点22にロードバランサ25を配備すると共に、そのうちの一つを現用系にし、残りを待機系にしてもよい。
Note that in order to increase the availability of the
図11は、このように複数の第2のクラウド拠点22にロードバランサ25を配備した場合の本実施形態に係るシステム20のシステム構成図である。
FIG. 11 is a system configuration diagram of the
図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
なお、ある事業者自身に障害が発生すると、その事業者が提供している全ての第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
また、この例のように複数の第2のクラウド拠点22にロードバランサ25を配備する場合には、次のように管理サーバ30が定期的に応答時間T3のばらつきΔTを算出するのが好ましい。
Further, when the
図12は、管理サーバ30が定期的にばらつきΔTを監視する場合の本実施形態に係るシステム20のシステム構成図である。
FIG. 12 is a system configuration diagram of the
システム20においては、運用途中で第1のクラウド拠点21の事業者や拠点が変更される場合がある。例えば、事業者や拠点を変えた方が第1のクラウド拠点21のコストが安くなる場合にこのような変更が生じることがある。
In the
図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
また、候補35を更新した結果、拠点の変更前では「事業者A/拠点C」が候補35に含まれていたものの、拠点の変更後では「事業者A/拠点C」が候補35から外れることがある。ここでは、拠点の変更によってこのように候補35から「事業者A/拠点C」が外れ、かつ候補35に「事業者C/拠点C」が含まれた場合について説明する。
Additionally, as a result of updating
その場合には、「事業者A/拠点C」のロードバランサ25から「事業者C/拠点C」のロードバランサ25に切り替えることにより、「事業者C/拠点C」のロードバランサ25がリクエストReqの振り分けを行うようにすればよい。但し、利用者端末27は、切り替え後の「事業者C/拠点C」のロードバランサ25のIPアドレスを取得していないため、このままでは当該ロードバランサ25にアクセスすることができない。
In that case, by switching from the
そこで、この例では、管理サーバ30が、更新後の候補35に含まれるロードバランサ25のIP(Internet Protocol)アドレスを、当該ロードバランサ25のドメイン名と対応付けてDNS(Domain Name System)サーバ36に登録する。
Therefore, in this example, the
ここでは、複数の第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
その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
これにより、利用者端末27が「事業者C/拠点C」のロードバランサ25のIPアドレスを取得できる。その結果、利用者端末27は、そのIPアドレスを送信先アドレスに設定してロードバランサ25にリクエストReqを送信できるようになる。
Thereby, the
[機能構成]
次に、本実施形態に係る管理サーバ30の機能構成について説明する。
図13は、本実施形態に係る管理サーバ30の機能構成図である。
図13に示すように、管理サーバ30は、通信部41、制御部42、及び記憶部43を有する。
[Functional configuration]
Next, the functional configuration of the
FIG. 13 is a functional configuration diagram of the
As shown in FIG. 13, the
通信部41は、例えばNIC(Network Interface Card)によって実現される処理部である。ここでは、通信部41は、ネットワーク26を介して管理サーバ30を第1のクラウド拠点21、第2のクラウド拠点22、及びDNSサーバ36の各々に接続するインターフェースとして機能する。
The
制御部42は、CPU(Central Processing Unit)等のプロセッサがDRAM(Dynamic Random Access Memory)等のメモリと協働して本実施形態に係るロードバランサ配備位置決定プログラムを実行することにより実現される処理部である。
The
その制御部42は、第1の取得部44、第2の取得部45、算出部46、候補決定部47、及びアドレス登録部48を有する。
The
第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
第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
一方、算出部46は、処理時間管理テーブルTB1と通信時間管理テーブルTB2とを参照することにより、処理時間T1と通信時間T2とを加算した応答時間T3を第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとに算出する。
On the other hand, the
また、候補決定部47は、複数の第1のクラウド拠点21の各々との間における応答時間T3のばらつきΔTが基準値ΔTth未満となる第2のクラウド拠点22をロードバランサ25の配備先の候補35として決定する処理部である。更に、候補決定部47は、その候補35が列挙された候補データCDを作成し、それを記憶部43に格納する。
In addition, the
そして、アドレス登録部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
一方、記憶部43は、HDD等の記憶装置とDRAM等のメモリとによって実現され、前述の処理時間管理テーブルTB1、通信時間管理テーブルTB2、及び候補データCDの各々を記憶する。
On the other hand, the
[処理の流れ]
次に、本実施形態に係る管理サーバ30の動作について説明する。
図14及び図15は、本実施形態に係るロードバランサ配備位置決定方法の一例を示すフローチャートである。
[Processing flow]
Next, the operation of the
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
その後、第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
一方、全ての第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
ステップS15においては、第2の取得部45が、記憶部43に通信時間管理テーブルTB2があるかどうかを判断する。
In step S15, the
ここで、記憶部43に通信時間管理テーブルTB2がないと第2の取得部45が判断した場合は(ステップS15:否定)、後述の通信時間管理テーブル作成処理(ステップS16)を実行した後に再びステップS15からやり直す。
Here, if the
一方、通信時間管理テーブルTB2があると第2の取得部45が判断した場合は(ステップS15:肯定)、第2の取得部45は、通信時間管理テーブルTB2から通信時間T2を取得する(ステップS17)。このとき、第2の取得部45は、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせごとに通信時間T2を取得する。
On the other hand, if the
次いで、第2の取得部45は、第1のクラウド拠点21と第2のクラウド拠点22の全ての組み合わせについて通信時間T2を取得したかを判断する(ステップS18)。ここで、全ての組み合わせについて通信時間T2を取得していないと第2の取得部45が判断した場合(ステップS18:否定)にはステップS17に戻る。
Next, the
一方、第2の取得部45が全ての組み合わせについて通信時間T2を取得したと判断した場合(ステップS18:肯定)にはステップS19に移る。
On the other hand, if the
ステップS19においては、算出部46が、第1のクラウド拠点21と第2のクラウド拠点22との組み合わせを一つ選択し、選択した組み合わせに対して応答時間T3を算出する。応答時間T3は、ステップS13とステップS17の各々で取得した処理時間T1と通信時間T2とを用いて、図8に例示した方法で算出される。
In step S19, the
例えば、図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
次いで、算出部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
ステップS20においては、応答時間T3の算出対象となった第1のクラウド拠点21と第2のクラウド拠点22との組み合わせにおいて、第2のクラウド拠点22に対応する最大値T3maxと応答時間T3との大小関係が算出部46によって判断される。
In step S20, in the combination of the
なお、算出部46は、このフローチャートを実行する前に、複数の第2のクラウド拠点22の各々の最大値T3maxを十分小さな初期値に初期化しておく。一例として、算出部46は、最大値T3maxの初期値を0msecに設定する。
Note that, before executing this flowchart, the
そして、応答時間T3が最大値T3maxよりも大きいと算出部46が判断した場合には(ステップS20:肯定)、算出部46がその応答時間T3を新たな最大値T3maxとする(ステップS21)。
If the
一方、応答時間T3が最大値T3maxよりも大きくないと算出部46が判断した場合(ステップS20:否定)にはステップS22に移る。
On the other hand, if the
ステップ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
ステップS22においては、応答時間T3の算出対象となった第1のクラウド拠点21と第2のクラウド拠点22との組み合わせにおいて、第2のクラウド拠点22に対応する最小値T3minと応答時間T3との大小関係が算出部46によって判断される。
In step S22, in the combination of the
なお、算出部46は、このフローチャートを実行する前に、複数の第2のクラウド拠点22の各々の最小値T3minを十分大きな初期値に初期化しておく。一例として、算出部46は、最小値T3minの初期値を1000msecに設定する。
Note that, before executing this flowchart, the
ここで、応答時間T3が最小値T3minよりも小さいと算出部46が判断した場合には(ステップS22:肯定)、算出部46がその応答時間T3を新たな最小値T3minとする(ステップS23)。
Here, if the
上記のようにしてステップ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
ステップS24においては、算出部46が、第1のクラウド拠点21と第2のクラウド拠点22の全ての組み合わせに対して応答時間T3を算出したかどうかを判断する。
In step S24, the
ここで、全ての組み合わせに対して応答時間T3を算出していないと算出部46が判断した場合(ステップS24:否定)にはステップS19からやり直す。
Here, if the
一方、全ての組み合わせに対して応答時間T3を算出したと算出部46が判断した場合(ステップS24:肯定)にはステップS25に移る。
On the other hand, if the
ステップS25においては、候補決定部47が、候補データCDに格納されている候補35を空に初期化する。
In step S25, the
次に、算出部46が、第2のクラウド拠点22の応答時間T3のばらつきΔTを算出する(ステップS26)。図9を参照して説明したように、ばらつきΔTは、一つの第2のクラウド拠点22の応答時間T3の最大値T3maxと最小値T3minとの差として定義される。
Next, the
次いで、候補決定部47が、ばらつきΔTが基準値ΔTth未満かどうかを判断する(ステップS27)。基準値ΔTthは、利用者端末27が各システム23から安定してサービスを受けることができる目安となる値である。ここでは、管理者が基準値ΔTthを10msecに設定する。
Next, the
そして、ばらつきΔTが基準値ΔTth未満であると候補決定部47が判断した場合(ステップS27:肯定)にはステップS28に移る。
If the
ステップS28においては、候補決定部47が、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22と同一の事業者のクラウド拠点が候補データCDの候補35に含まれているかを判断する。
In step S28, the
ここで、同一事業者の複数の第2のクラウド拠点22の各々にロードバランサ25を配備すると、その事業者に障害が生じたときに、前述のように当該事業者が提供する全てのロードバランサ25が使用できなくなってしまう。
Here, if the
そこで、同一の事業者の第2のクラウド拠点22が候補35に含まれていると候補決定部47が判断した場合には(ステップS28:肯定)、ステップS29において、候補決定部47が複数の第2のクラウド拠点22から一つを選択する。その選択の基準として、ここでは応答時間T3の最大値T3maxを採用する。
Therefore, if the
例えば、候補決定部47は、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22の最大値T3max_Aが、候補35にある同一事業者の第2のクラウド拠点22の最大値T3max_Bよりも小さいかを判断する。
For example, the
そして、最大値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
なお、ステップS28において同一の事業者の第2のクラウド拠点22が候補35に含まれていないと候補決定部47が判断した場合にもステップS30を実行する。この場合も、候補決定部47が、ステップS27においてばらつきΔTが基準値ΔTth未満と判断された第2のクラウド拠点22を候補35に登録する。
Note that step S30 is also executed when the
一方、ステップ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
そして、全ての第2のクラウド拠点22に対してばらつきΔTを算出していないと候補決定部47が判断した場合(ステップS31:否定)にはステップS26に戻り、そうでない場合(ステップS31:肯定)には処理を終える。
If the
次に、ステップ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
次に、第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
一方、全ての第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
ステップS43においては、第1の取得部44が、第1の測定用仮想マシン24aが配備されている第1のクラウド拠点21と処理時間T1と対応付けて処理時間管理テーブルTB1に格納する。
以上により、処理時間管理テーブル作成処理を終える。
In step S43, the first acquisition unit 44 associates the processing time T1 with the
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
次に、第2の取得部45は、全ての第2の測定用仮想マシン24bから通信時間T2を受信したかどうかを判断する(ステップS52)。ここで、全ての第2の測定用仮想マシン24bから通信時間T2を受信していないと第2の取得部45が判断した場合(ステップS52:否定)にはステップS51からやり直す。
Next, the
一方、全ての第2の測定用仮想マシン24bから通信時間T2を受信したと第2の取得部45が判断した場合(ステップS52:肯定)にはステップS53に移る。
On the other hand, if the
ステップS53においては、第2の取得部45が、通信時間T2を第1のクラウド拠点21と第2のクラウド拠点22の各々と対応付けて通信時間管理テーブルTB2に格納する。
以上により、通信時間管理テーブル作成処理を終える。
In step S53, the
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
As shown in FIG. 18, the
このうち、記憶装置30aは、HDDやSSD(Solid State Drive)等の不揮発性のストレージデバイスであり、本実施形態に係るロードバランサ配備位置決定プログラム50を記憶する。
Among these, the
なお、ロードバランサ配備位置決定プログラム50をコンピュータが読み取り可能な記録媒体30hに記録させておき、プロセッサ30cに記録媒体30hのロードバランサ配備位置決定プログラム50を読み取らせるようにしてもよい。
Note that the load balancer deployment
そのような記録媒体30hとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体30hとして使用してもよい。これらの記録媒体30hは、物理的な形態を持たない搬送波のような一時的な媒体ではない。
Examples of such a
更に、公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置にロードバランサ配備位置決定プログラム50を記憶させてもよい。その場合は、プロセッサ30cがそのロードバランサ配備位置決定プログラム50を読み出して実行すればよい。
Furthermore, the load balancer deployment
一方、メモリ30bは、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述のロードバランサ配備位置決定プログラム50が展開される。
On the other hand, the
プロセッサ30cは、管理サーバ30の各部を制御するCPU(Central Processing Unit)やGPU(Graphical Processing Unit)等のハードウェアである。また、プロセッサ30cは、メモリ30bと協働してロードバランサ配備位置決定プログラム50も実行する。
The
このようにメモリ30bとプロセッサ30cとが協働してロードバランサ配備位置決定プログラム50を実行することにより、図13の第1の取得部44、第2の取得部45、算出部46、候補決定部47、及びアドレス登録部48を備えた制御部42が実現される。また、図13の記憶部43は、記憶装置30aとメモリ30bによって実現される。
In this way, the
更に、通信インターフェース30dは、管理サーバ30をネットワーク26に接続するためのインターフェースである。その通信インターフェース30dにより、図13の通信部41が実現される。
Furthermore, the
そして、表示装置30eは、液晶表示装置等のハードウェアであって、システム20の管理者に種々の情報を表示する。また、入力装置30fは、キーボードやマウス等のハードウェアである。例えば、管理者は、入力装置30fを操作することにより、管理サーバ30に対して種々の指示を出すことになる。
The
以上説明した各実施形態に関し、更に以下の付記を開示する。
(付記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
(Additional Note 4) The computer is
Load balancer deployment according to
(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
(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
(Supplementary Note 7) The load balancer deployment position determining method according to
(Additional note 8) The computer is
The load balancer deployment position determining method according to
(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
(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...
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のクラウド拠点と第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.
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)
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 |
-
2020
- 2020-01-17 JP JP2020006068A patent/JP7356026B2/en active Active
Patent Citations (6)
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 |