JP6938944B2 - Information processing device and load balancing control method - Google Patents

Information processing device and load balancing control method Download PDF

Info

Publication number
JP6938944B2
JP6938944B2 JP2017028289A JP2017028289A JP6938944B2 JP 6938944 B2 JP6938944 B2 JP 6938944B2 JP 2017028289 A JP2017028289 A JP 2017028289A JP 2017028289 A JP2017028289 A JP 2017028289A JP 6938944 B2 JP6938944 B2 JP 6938944B2
Authority
JP
Japan
Prior art keywords
control
message
amount
control devices
server
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
JP2017028289A
Other languages
Japanese (ja)
Other versions
JP2017215933A5 (en
JP2017215933A (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 US15/581,168 priority Critical patent/US10397315B2/en
Publication of JP2017215933A publication Critical patent/JP2017215933A/en
Publication of JP2017215933A5 publication Critical patent/JP2017215933A5/ja
Application granted granted Critical
Publication of JP6938944B2 publication Critical patent/JP6938944B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、及び、負荷分散制御方法に関する。 The present invention relates to an information processing device and a load balancing control method.

ネットワークの設定変更を柔軟に行えるようにすることを目的として、SDN(Software Defined Networking)技術が開発されている。SDNでは、通信装置と、通信装置を
管理する通信制御装置と、通信装置と通信制御装置とを接続する制御ネットワークとが含まれる。SDNでは、通信装置は転送機能に特化している。通信装置は、通信制御装置によって管理されている。以降、SDNにおける通信装置をスイッチと称する。また、SDNにおける通信制御装置をコントローラと称する。
SDN (Software Defined Networking) technology has been developed for the purpose of flexibly changing network settings. The SDN includes a communication device, a communication control device that manages the communication device, and a control network that connects the communication device and the communication control device. In SDN, communication devices specialize in transfer functions. The communication device is managed by the communication control device. Hereinafter, the communication device in SDN will be referred to as a switch. Further, the communication control device in the SDN is referred to as a controller.

SDNでは、パス算出等のネットワーク制御ロジックは、コントローラ上の通信制御ソフトウェアに実装されている。例えば、通信制御ソフトウェアはパスを算出してコントローラにパスを通知し、コントローラがスイッチに対してパスの設定を行うソフトウェアである。以降、通信制御ソフトウェアを、アプリケーションと称する。 In SDN, network control logic such as path calculation is implemented in communication control software on the controller. For example, communication control software is software that calculates a path, notifies the controller of the path, and the controller sets the path to the switch. Hereinafter, the communication control software will be referred to as an application.

SDNにおけるアプリケーションの一つは、例えば、利用者から2点間のパス設定要求が入力された場合に、指定された2点間をつなぐスイッチへの制御メッセージを生成するパス設定アプリケーションである。 One of the applications in SDN is, for example, a path setting application that generates a control message to a switch connecting the specified two points when a user inputs a path setting request between the two points.

図24は、分散型通信制御システムP100の一例を示す図である。SDNにおいて、コントローラが1台である場合には、ネットワークの規模の拡大にコントローラの性能が追い付かなくなることがある。分散型通信制御システムP100は、複数のコントローラを有し、複数のコントローラ間でスイッチ(図中、SW)の管理を分担することで、処理性能を向上させる。スイッチを制御するコントローラは、制御されるスイッチの「マスタ」と称される。1台のスイッチに対して、マスタとなるコントローラは1台である。また、1台のコントローラは、複数のスイッチのマスタとなり得る。図24では、コントローラは、サーバP1とサーバP2上に実装されており、サーバP1とサーバP2とに備えられるコントローラは、それぞれ3台のスイッチのマスタを担っている。 FIG. 24 is a diagram showing an example of the distributed communication control system P100. In SDN, when there is only one controller, the performance of the controller may not be able to keep up with the expansion of the network scale. The distributed communication control system P100 has a plurality of controllers, and the processing performance is improved by sharing the management of switches (SW in the figure) among the plurality of controllers. The controller that controls the switch is referred to as the "master" of the controlled switch. There is one master controller for one switch. Also, one controller can be the master of a plurality of switches. In FIG. 24, the controller is mounted on the server P1 and the server P2, and the controllers provided in the server P1 and the server P2 each serve as a master of three switches.

例えば、利用者の組織又はエリア毎に、サービスのポリシや帯域制御に対する要望が異なるため、利用者の組織又はエリアそれぞれについて、パス設定アプリケーションが用意される。すなわち、分散型通信制御システムP100では、複数種類のパス設定アプリケーションが存在し、同種のアプリケーションのインスタンスが1つ又は複数のサーバ上で動作する。インスタンスとは、サーバ上のアプリケーションのことである。図24に示される例では、1種類のパス設定アプリケーションのインスタンスが、サーバP1とサーバP2上で動作している。 For example, since the service policy and bandwidth control requirements differ for each user's organization or area, a path setting application is prepared for each user's organization or area. That is, in the distributed communication control system P100, there are a plurality of types of path setting applications, and instances of the same type of applications operate on one or a plurality of servers. An instance is an application on a server. In the example shown in FIG. 24, an instance of one type of path setting application is running on the server P1 and the server P2.

図25は、分散型通信制御システムP100内のパス設定アプリケーションに対してパス設定要求が入力された場合の制御メッセージの流れの一例を示す図である。図25では、図24と同じ分散型通信制御システムP100が示されている。図24に示される例は、サーバP1上のパス設定アプリケーションに、拠点Ha−Hb間のパス設定要求が入力された場合の例である。 FIG. 25 is a diagram showing an example of the flow of control messages when a path setting request is input to the path setting application in the distributed communication control system P100. In FIG. 25, the same distributed communication control system P100 as in FIG. 24 is shown. The example shown in FIG. 24 is an example in which a path setting request between the bases Ha and Hb is input to the path setting application on the server P1.

サーバP1上のパス設定アプリケーションによって、拠点Ha−Hb間のパスとして、スイッチ#1、スイッチ#2を通過する経路が算出され、スイッチ#1、スイッチ#2宛てに、拠点Ha−Hb間のパスを設定するための制御メッセージが生成される。スイッチ
#1のマスタは、サーバP1上のコントローラである。スイッチ#2のマスタはサーバP2上のコントローラである。
The path setting application on the server P1 calculates the path passing through the switch # 1 and the switch # 2 as the path between the bases Ha and Hb, and the path between the bases Ha and Hb addressed to the switches # 1 and the switch # 2. A control message is generated to set. The master of switch # 1 is the controller on server P1. The master of switch # 2 is the controller on server P2.

スイッチ#1のマスタは制御メッセージを生成したインスタンスと同じサーバP1上のコントローラであるで、スイッチ#1への制御メッセージは、サーバP1から宛先のスイッチ#1に送信される。以降、制御メッセージを、単に、メッセージと称する。 The master of switch # 1 is a controller on the same server P1 as the instance that generated the control message, and the control message to switch # 1 is transmitted from server P1 to the destination switch # 1. Hereinafter, the control message is simply referred to as a message.

特開2000−268004号公報Japanese Unexamined Patent Publication No. 2000-268004

しかしながら、分散型通信制御システムP100では、以下のような問題が生じることがある。分散型通信制御システムP100では、1台のスイッチに対して複数のコントローラからメッセージが送信されると、スイッチの設定の整合性が取れなくなる可能性がある。スイッチの設定の整合性が取れなくなる可能性を低減するため、スイッチに対するメッセージは、該当のスイッチのマスタのコントローラから送信される仕様である。スイッチ#2のマスタのコントローラは、メッセージを生成したインスタンスのサーバP1とは異なるサーバP2上のコントローラである。したがって、スイッチ#2へのメッセージは、サーバP1からサーバP2に転送され、サーバP2からスイッチ#2に送信される。 However, in the distributed communication control system P100, the following problems may occur. In the distributed communication control system P100, if a message is transmitted from a plurality of controllers to one switch, the switch settings may become inconsistent. To reduce the possibility of inconsistent switch settings, the message to the switch is a specification sent from the controller of the master of the switch. The controller of the master of switch # 2 is a controller on server P2 different from server P1 of the instance that generated the message. Therefore, the message to the switch # 2 is transferred from the server P1 to the server P2 and transmitted from the server P2 to the switch # 2.

例えば、メッセージがスイッチ#2に届くまでの時間は、コントローラ間のメッセージの転送の分、スイッチ#1にメッセージが届くまでの時間よりも長くなる。これによって、スイッチ#1には、拠点Ha−Hb間のパスの設定が完了しているにもかかわらず、スイッチ#2には拠点Ha−Hb間のパスの設定がない状態が生じ、データ転送に悪影響が生じる恐れがある。したがって、コントローラ間のメッセージの転送は、分散型通信制御システムP100の性能劣化の要因となるので、少ない方が好ましい。 For example, the time it takes for the message to reach switch # 2 is longer than the time it takes for the message to reach switch # 1 due to the transfer of the message between the controllers. As a result, even though the path between the bases Ha and Hb has been set in the switch # 1, the switch # 2 does not have the path set between the bases Ha and Hb, and the data is transferred. May have an adverse effect on. Therefore, the transfer of messages between controllers causes deterioration in the performance of the distributed communication control system P100, so it is preferable that the number of messages is reduced.

図26は、負荷分散装置を備える分散型通信制御システムの一例を示す図である。負荷分散装置P3は、各アプリケーションへの要求を受け付け、各サーバに均等に要求を振り分ける。これによって、各サーバのアプリケーションの処理負荷を平準化することができる。しかしながら、コントローラ間の制御メッセージの転送については考慮されておらず、アプリケーションへの要求を各サーバに均等に振り分けることによって、コントローラ間のメッセージの転送を低減させることができるとは限らない。 FIG. 26 is a diagram showing an example of a distributed communication control system including a load balancer. The load balancer P3 receives requests for each application and evenly distributes the requests to each server. As a result, the processing load of the application of each server can be leveled. However, the transfer of control messages between controllers is not considered, and it is not always possible to reduce the transfer of messages between controllers by evenly distributing the requests to the application to each server.

本発明の一態様は、アプリケーションの要求が分散される複数の制御装置について、制御装置間のメッセージの転送を低減可能な情報処理装置、及び、負荷分散制御方法を提供することを目的とする。 One aspect of the present invention is to provide an information processing device capable of reducing message transfer between control devices and a load balancing control method for a plurality of control devices in which application requirements are distributed.

本発明の態様の一つは、情報処理装置である。情報処理装置は、複数の制御装置それぞれについて、所定の処理の要求の振り分けに用いられる重みを、制御対象とする宛先装置の数が多い制御装置ほど当該制御装置に振り分けられる所定の処理の要求量が多くなるように、決定する処理部を備える。複数の制御装置それぞれは、複数の制御装置間で振り分けられた要求のうち自装置に振り分けられた要求を受信する第1の受信部と、要求に応じて所定の処理を実行し、メッセージを生成し、メッセージの宛先装置を制御対象とする制御装置が自装置である場合にはメッセージを当該宛先装置に送信し、メッセージの宛先装置を制御対象とする制御装置が他の制御装置である場合にはメッセージを当該他の制御装置に転送する制御部と、を備える。 One aspect of the present invention is an information processing device. In the information processing device, the weight used for distributing the request for a predetermined process for each of the plurality of control devices is assigned to the control device as the number of destination devices to be controlled increases. A processing unit for determining the number of processing units is provided. Each of the plurality of control devices generates a message by executing a predetermined process according to the first receiving unit that receives the request distributed to the own device among the requests distributed among the plurality of control devices. If the control device that controls the destination device of the message is its own device, the message is sent to the destination device, and if the control device that controls the destination device of the message is another control device. Includes a control unit that transfers the message to the other control device.

開示の情報処理装置、及び、負荷分散制御方法によれば、アプリケーションの要求が分散される複数の制御装置について、制御装置間のメッセージの転送を低減することができる。 According to the disclosed information processing device and the load balancing control method, it is possible to reduce the transfer of messages between control devices for a plurality of control devices in which application requests are distributed.

図1は、第1実施形態に係る分散型通信制御システムのシステム構成の一例を示す図である。FIG. 1 is a diagram showing an example of a system configuration of the distributed communication control system according to the first embodiment. 図2は、サーバのハードウェア構成の一例である。FIG. 2 is an example of the hardware configuration of the server. 図3は、サーバの機能構成の一例を示す図である。FIG. 3 is a diagram showing an example of the functional configuration of the server. 図4は、負荷分散装置によって用いられる重みの決定処理の具体例において想定される分散型通信制御システムの一例を示す図である。FIG. 4 is a diagram showing an example of a distributed communication control system assumed in a specific example of the weight determination process used by the load balancer. 図5は、図4に示される例におけるサーバ1の要求量及びメッセージ量の計測結果の一例である。FIG. 5 is an example of the measurement results of the request amount and the message amount of the server 1 in the example shown in FIG. 図6は、図4に示される例におけるサーバ2の要求量及びメッセージ量の計測結果の一例である。FIG. 6 is an example of the measurement results of the request amount and the message amount of the server 2 in the example shown in FIG. 図7は、具体例における、各サーバにおける各アプリケーションについての直接比率を示す図である。FIG. 7 is a diagram showing a direct ratio for each application in each server in a specific example. 図8は、具体例における、各アプリケーションの発生要求量の一例である。FIG. 8 is an example of the generation request amount of each application in the specific example. 図9は、具体例に係る各サーバの収容量の一例である。FIG. 9 is an example of the capacity of each server according to the specific example. 図10は、具体例に係る線形計画問題の解Xijの一例を示す図である。FIG. 10 is a diagram showing an example of a solution Xij of a linear programming problem according to a specific example. 図11は、具体例に係る、負荷分散装置に通知されるラウンドロビンの重みWijの一例である。FIG. 11 is an example of the round robin weight Wij notified to the load balancer according to a specific example. 図12は、制御部の、負荷分散装置のラウンドロビンの重みの決定処理のフローチャートの一例である。FIG. 12 is an example of a flowchart of the round robin weight determination process of the load balancer of the control unit. 図13は、各アプリケーションの要求量の状態が同条件の場合の、比較例の各サーバのメッセージ量と、具体例で算出された重みWijを用いた場合の各サーバのメッセージ量との一例を示す図である。FIG. 13 shows an example of the message amount of each server in the comparative example when the request amount state of each application is the same condition, and the message amount of each server when the weight Wij calculated in the specific example is used. It is a figure which shows. 図14は、第1実施形態の変形例に係る線形計画問題の定数Aijの一例を示す図である。FIG. 14 is a diagram showing an example of the constant Aij of the linear programming problem according to the modified example of the first embodiment. 図15は、第2実施形態に係る、負荷分散装置のラウンドロビンの重みの決定処理の一例を示す図である。FIG. 15 is a diagram showing an example of a round robin weight determination process of the load balancer according to the second embodiment. 図16は、第2実施形態に係る制御部の、負荷分散装置のラウンドロビンの重みの決定処理のフローチャートの一例である。FIG. 16 is an example of a flowchart of the round robin weight determination process of the load balancer of the control unit according to the second embodiment. 図17は、第3実施形態に係るサーバの収容量Cjの一例を示す図である。FIG. 17 is a diagram showing an example of the capacity Cj of the server according to the third embodiment. 図18は、図17のサーバの収容量Cjの値の設定について、線形計画法で算出された、サーバjに割り当てられるアプリケーションiの要求量Xijの値の一例を示す図である。FIG. 18 is a diagram showing an example of the value of the requested amount Xij of the application i assigned to the server j calculated by the linear programming method for setting the value of the capacity Cj of the server of FIG. 図19は、図18のサーバjに割り当てられるアプリケーションiの要求量Xijの値に対応する、負荷分散装置のラウンドロビンの重みの一例を示す図である。FIG. 19 is a diagram showing an example of the round robin weight of the load balancer corresponding to the value of the request amount Xij of the application i assigned to the server j of FIG. 図20は、各アプリケーションの要求量の状態が同条件の場合の、図19で示される重みWijが用いられて、各アプリケーションの要求がサーバ1とサーバ2とに振り分けられた場合の、サーバ1とサーバ2とのメッセージ量の一例を示す図である。FIG. 20 shows the server 1 when the request amount of each application is distributed to the server 1 and the server 2 by using the weight Wij shown in FIG. 19 when the state of the request amount of each application is the same condition. It is a figure which shows an example of the message amount between and a server 2. 図21は、第4実施形態に係る制御部の処理の、負荷分散装置のラウンドロビンの重みの決定処理のフローチャートの一例である。FIG. 21 is an example of a flowchart of the round robin weight determination process of the load balancer in the process of the control unit according to the fourth embodiment. 図22は、第5実施形態に係る各アプリケーションについて、直接比率が最も高いサーバの一例を示す図である。FIG. 22 is a diagram showing an example of a server having the highest direct ratio for each application according to the fifth embodiment. 図23は、各アプリケーションの要求量の状態が同条件の場合の、比較例での各サーバのメッセージ量と、各アプリケーションについて、図22で示されるサーバに要求が振り分けられた場合の、各サーバのメッセージ量の一例を示す図である。FIG. 23 shows the message amount of each server in the comparative example when the request amount status of each application is the same condition, and each server when the request is distributed to the server shown in FIG. 22 for each application. It is a figure which shows an example of the message amount of. 図24は、分散型通信制御システムの一例を示す図である。FIG. 24 is a diagram showing an example of a distributed communication control system. 図25は、分散型通信制御システム内のパス設定アプリケーションに対してパス設定要求が入力された場合の制御メッセージの流れの一例を示す図である。FIG. 25 is a diagram showing an example of a flow of control messages when a path setting request is input to a path setting application in a distributed communication control system. 図26は、負荷分散装置を備える分散型通信制御システムの一例を示す図である。FIG. 26 is a diagram showing an example of a distributed communication control system including a load balancer. 図27は、第6実施形態に係る具体例において想定される分散型通信制御システムの一例を示す図である。FIG. 27 is a diagram showing an example of a distributed communication control system assumed in the specific example according to the sixth embodiment. 図28は、第6実施形態の具体例に係るマスタ情報の一例である。FIG. 28 is an example of master information according to a specific example of the sixth embodiment. 図29は、第6実施形態の具体例に係るマスタ変更情報の一例を示す図である。FIG. 29 is a diagram showing an example of master change information according to a specific example of the sixth embodiment. 図30は、第6実施形態の具体例に係るスイッチリストの一例を示す図である。FIG. 30 is a diagram showing an example of a switch list according to a specific example of the sixth embodiment. 図31は、第6実施形態の具体例に係るアプリケーションiのコントローラjにおける直接比率Aijの一例を示す図である。FIG. 31 is a diagram showing an example of the direct ratio Aij in the controller j of the application i according to the specific example of the sixth embodiment. 図32は、第6実施形態の具体例に係るアプリケーションの発生要求量の一例を示す図である。FIG. 32 is a diagram showing an example of an application generation request amount according to a specific example of the sixth embodiment. 図33は、第6実施形態の具体例に係る負荷分散装置のラウンドロビンの重みWijの一例である。FIG. 33 is an example of the round robin weight Wij of the load balancer according to the specific example of the sixth embodiment. 図34は、第6実施形態の具体例に係るシミュレーション結果の一例を示す図である。FIG. 34 is a diagram showing an example of simulation results according to a specific example of the sixth embodiment. 図35は、第6実施形態の具体例に係るマスタ変更情報#2の適用後のマスタ情報の一例を示す図である。FIG. 35 is a diagram showing an example of master information after application of master change information # 2 according to a specific example of the sixth embodiment. 図36は、第6実施形態に係るマスタ変更決定処理のフローチャートの一例である。FIG. 36 is an example of a flowchart of the master change determination process according to the sixth embodiment. 図37Aは、シミュレーション処理のフローチャートの一例である。FIG. 37A is an example of a flowchart of the simulation process. 図37Bは、シミュレーション処理のフローチャートの一例である。FIG. 37B is an example of a flowchart of the simulation process. 図38は、第7実施形態の具体例に係るアプリケーションiのコントローラjにおける直接比率Aijの一例を示す図である。FIG. 38 is a diagram showing an example of the direct ratio Aij in the controller j of the application i according to the specific example of the seventh embodiment. 図39は、第7実施形態の具体例に係る各アプリケーションの直接比率の分散値の一例を示す図である。FIG. 39 is a diagram showing an example of the variance value of the direct ratio of each application according to the specific example of the seventh embodiment. 図40は、第7実施形態の具体例に係るアプリケーション#1の各スイッチへの送信メッセージ量の一例である。FIG. 40 is an example of the amount of messages transmitted to each switch of application # 1 according to the specific example of the seventh embodiment. 図41は、第7実施形態に係るマスタ変更決定処理のフローチャートの一 例である。 FIG. 41 is an example of a flowchart of the master change determination process according to the seventh embodiment.

以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The configurations of the following embodiments are examples, and the present invention is not limited to the configurations of the embodiments.

<第1実施形態>
図1は、第1実施形態に係る分散型通信制御システム100のシステム構成の一例を示す図である。分散型通信制御システム100は、サーバ1、サーバ2、負荷分散装置3、複数のスイッチ9、外部クライアント8を備える。サーバ1、サーバ2には、それぞれ、アプリケーションとコントローラとが実装されている。負荷分散装置3は、サーバ1、サーバ2に対して、外部クライアント8からのアプリケーションへの要求を、重みづけラウンドロビンで振り分けて送信する。サーバ1、サーバ2は、それぞれ、複数台のスイッチ9のマスタとして動作する。
<First Embodiment>
FIG. 1 is a diagram showing an example of a system configuration of the distributed communication control system 100 according to the first embodiment. The distributed communication control system 100 includes a server 1, a server 2, a load balancer 3, a plurality of switches 9, and an external client 8. An application and a controller are mounted on the server 1 and the server 2, respectively. The load balancer 3 distributes and transmits the request to the application from the external client 8 to the server 1 and the server 2 by the weighted round robin. Each of the server 1 and the server 2 operates as a master of a plurality of switches 9.

コントローラ間のメッセージの転送は、メッセージを生成するインスタンスと、メッセージの宛先スイッチ9のマスタであるコントローラとが、異なるサーバ上に存在する場合に発生する。したがって、メッセージを生成するインスタンスが存在するサーバと、メッセージの宛先スイッチ9のマスタであるコントローラが存在するサーバとが同じサーバになる可能性が高いほど、コントローラ間のメッセージの転送が発生する可能性は低くなる。 Message transfer between controllers occurs when the instance that generates the message and the controller that is the master of the message destination switch 9 are on different servers. Therefore, the more likely it is that the server on which the instance that generates the message exists and the server on which the controller that is the master of the message destination switch 9 exists will be the same server, the more likely it is that message transfer will occur between the controllers. Will be low.

メッセージを生成するインスタンスと、メッセージの宛先スイッチ9のマスタであるコントローラと、が存在するサーバが同じである可能性を左右する要因の一つは、各コントローラの、各コントローラがマスタとして制御対象とするスイッチの数である。したがって、制御対象とするスイッチの数が多いコントローラに、より多くの要求が振り分けられることによって、メッセージを生成するインスタンスと、メッセージの宛先スイッチ9のマスタであるコントローラと、が存在するサーバが同じになる可能性を高くすることができる。 One of the factors that influences the possibility that the instance that generates the message and the controller that is the master of the message destination switch 9 are the same is that each controller of each controller is controlled as the master. The number of switches to do. Therefore, by allocating more requests to the controller with a large number of switches to be controlled, the instance that generates the message and the controller that is the master of the message destination switch 9 are located on the same server. It is possible to increase the possibility of becoming.

また、メッセージを生成するインスタンスと、メッセージの宛先スイッチ9のマスタであるコントローラと、が存在するサーバが同じになる可能性を左右する他の要因の一つは、アプリケーションの制御対象のスイッチ9がマスタとするコントローラの偏りがある。アプリケーションは複数種類存在し、種類ごとに、制御対象とするスイッチ9に偏りがある。例えば、所定のアプリケーションが、特定のエリアに存在するスイッチを制御対象とする場合には、当該エリア内のスイッチ9がマスタとするコントローラに偏りが生じる。 In addition, one of the other factors that influences the possibility that the instance that generates the message and the controller that is the master of the message destination switch 9 are the same is that the switch 9 that is the control target of the application is the same. There is a bias in the controller used as the master. There are a plurality of types of applications, and each type has a bias in the switch 9 to be controlled. For example, when a predetermined application targets a switch existing in a specific area, the controller in which the switch 9 in the area is the master is biased.

アプリケーションの制御対象のスイッチがマスタとするコントローラの偏りと、コントローラがマスタとして制御対象とするスイッチの数とは、スイッチに直接転送されるメッセージ、又は、他のコントローラに転送されるメッセージ、の比率に投影される。第1実施形態では、線形計画法を用いて、各サーバにおける、スイッチに直接転送されるメッセージ量の比率に基づいて、スイッチに直接転送されるメッセージ量が最大となるような、負荷分散装置3のラウンドロビンで用いられる重みを決定する。ラウンドロビンの重みは、各アプリケーションについて決定される。 The bias of the controller controlled by the switch to be controlled by the application and the number of switches controlled by the controller as the master are the ratio of the message transferred directly to the switch or the message transferred to another controller. Projected on. In the first embodiment, the load balancer 3 uses linear programming to maximize the amount of messages directly transferred to the switch based on the ratio of the amount of messages directly transferred to the switch in each server. Determine the weights used in the round robin of. Round-robin weights are determined for each application.

第1実施形態では、ラウンドロビンの重みの決定をサーバ1が行う。ただし、これに限定されず、ラウンドロビンの重みの決定は、サーバ2、負荷分散装置3のいずれが行ってもよい。ラウンドロビンの重みを決定する装置は、「情報処理装置」の一例である。第1実施形態のサーバ1は、「情報処理装置」の一例である。また、サーバ1、サーバ2は、「制御装置」の一例である。スイッチ9は、「宛先装置」の一例である。 In the first embodiment, the server 1 determines the weight of the round robin. However, the weight is not limited to this, and the round robin weight may be determined by either the server 2 or the load balancer 3. A device that determines the weight of round robin is an example of an "information processing device". The server 1 of the first embodiment is an example of an "information processing device". Further, the server 1 and the server 2 are examples of "control devices". The switch 9 is an example of a “destination device”.

<装置構成>
図2は、サーバ1のハードウェア構成の一例である。サーバ1は、例えば、専用のコンピュータである。サーバ1は、CPU(Central Processing Unit)101、主記憶装置
102、補助記憶装置103、ネットワークインタフェース104を備える。また、これらはバス105により互いに接続されている。
<Device configuration>
FIG. 2 is an example of the hardware configuration of the server 1. The server 1 is, for example, a dedicated computer. The server 1 includes a CPU (Central Processing Unit) 101, a main storage device 102, an auxiliary storage device 103, and a network interface 104. Also, these are connected to each other by a bus 105.

補助記憶装置103は、OS(Operating System)、様々なプログラムや、各プログラムの実行に際してCPU 101が使用するデータを格納する。補助記憶装置103は、例えば、EPROM(Erasable Programmable ROM)、フラッシュメモリ、又はハードデ
ィスクドライブ(Hard Disk Drive)等の不揮発性のメモリである。補助記憶装置103
は、例えば、コントローラ用のプログラム103P、パス設定のアプリケーションを記憶する。
The auxiliary storage device 103 stores an OS (Operating System), various programs, and data used by the CPU 101 when executing each program. The auxiliary storage device 103 is, for example, a non-volatile memory such as an EPROM (Erasable Programmable ROM), a flash memory, or a hard disk drive. Auxiliary storage device 103
Stores, for example, the program 103P for the controller and the path setting application.

主記憶装置102は、CPU 101に、補助記憶装置103に格納されているプログ
ラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする記憶装置である。主記憶装置102は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)のような半導体メモリを含む。主記憶装置102は、「記憶部」の一例である。
The main storage device 102 is a storage device that provides the CPU 101 with a storage area and a work area for loading a program stored in the auxiliary storage device 103, or is used as a buffer. The main storage device 102 includes, for example, a semiconductor memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory). The main storage device 102 is an example of a “storage unit”.

CPU 101は、補助記憶装置103に保持されたOSや様々なアプリケーションプログラムを主記憶装置102にロードして実行することによって、様々な処理を実行する
。CPU 101は、1つに限られず、複数備えられてもよい。CPU 101は、制御装置」の「制御部」、「情報処理装置」の「処理部」の一例である。
The CPU 101 executes various processes by loading and executing the OS and various application programs held in the auxiliary storage device 103 in the main storage device 102. The number of CPUs 101 is not limited to one, and a plurality of CPUs 101 may be provided. The CPU 101 is an example of a " control unit" of a "control device" and a "processing unit" of an "information processing device".

ネットワークインタフェース104は、制御ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース104は、有線のネットワークと接続するインタフェースであってもよいし、無線のネットワークと接続するインタフェースであってもよい。ネットワークインタフェース104は、例えば、NIC(Network Interface Card)等である。ネットワークインタフェース104は、「制御装置」の「第1の受信部」、「情報処理装置」の「受信部」の一例である。 The network interface 104 is an interface for inputting / outputting information to / from the control network. The network interface 104 may be an interface that connects to a wired network or an interface that connects to a wireless network. The network interface 104 is, for example, a NIC (Network Interface Card) or the like. The network interface 104 is an example of the "first receiving unit" of the "control device" and the "receiving unit" of the "information processing device".

なお、図2に示されるサーバ1のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、サーバ1は、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、SDカード、miniSDカード、microSDカード、USB(Universal Serial Bus)フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、Blu−ray(登録商標) Disc、又はフラッシュメモリカードのような記録媒体である。なお、サーバ2、負荷分散装置3も、図2に示されるハードウェア構成と同様に、CPU、主記憶装置、補助記憶装置、ネットワークインタフェースを備える。 The hardware configuration of the server 1 shown in FIG. 2 is an example, and is not limited to the above, and components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the server 1 may include a portable recording medium driving device and execute a program recorded on the portable recording medium. The portable recording medium is, for example, an SD card, a miniSD card, a microSD card, a USB (Universal Serial Bus) flash memory, a CD (Compact Disc), a DVD (Digital Versatile Disc), a Blu-ray (registered trademark) Disc, or a flash. It is a recording medium such as a memory card. The server 2 and the load balancer 3 also include a CPU, a main storage device, an auxiliary storage device, and a network interface, similar to the hardware configuration shown in FIG.

図3は、サーバ1の機能構成の一例を示す図である。サーバ1は、機能構成要素として、要求受信部11、メッセージ転送部12、スイッチ設定部13、情報収集部14、制御部15、計測結果受信部16、重み通知部17、アプリ要求量記憶部18A、メッセージ量記憶部18B、マスタ情報記憶部18C、アプリケーション19を備える。要求受信部11、メッセージ転送部12、スイッチ設定部13、情報収集部14、制御部15、計測結果受信部16、重み通知部17、アプリ要求量記憶部18A、メッセージ量記憶部18B、マスタ情報記憶部18Cは、例えば、CPU 101がコントローラ用プログラム103Pを実行することによって達成される機能構成要素である。 FIG. 3 is a diagram showing an example of the functional configuration of the server 1. As functional components, the server 1 includes a request receiving unit 11, a message forwarding unit 12, a switch setting unit 13, an information collecting unit 14, a control unit 15, a measurement result receiving unit 16, a weight notification unit 17, and an application request amount storage unit 18A. , Message amount storage unit 18B, master information storage unit 18C, and application 19. Request receiving unit 11, message forwarding unit 12, switch setting unit 13, information collecting unit 14, control unit 15, measurement result receiving unit 16, weight notification unit 17, application request amount storage unit 18A, message amount storage unit 18B, master information The storage unit 18C is, for example, a functional component achieved by the CPU 101 executing the controller program 103P.

要求受信部11は、負荷分散装置3によってサーバ1に振り分けられる、アプリケーション19のいずれかに対する要求を受信する。要求受信部11は、要求を該当するアプリケーション19に出力する。また、要求受信部11は、アプリケーション19ごとに、受信した要求量をアプリケーション要求量記憶部18Aに記録する。 The request receiving unit 11 receives a request for any of the applications 19 distributed to the server 1 by the load balancer 3. The request receiving unit 11 outputs the request to the corresponding application 19. Further, the request receiving unit 11 records the received request amount in the application request amount storage unit 18A for each application 19.

アプリケーション19は、例えば、パス設定アプリケーションである。例えば、各利用組織、各エリアのポリシや帯域制御の要望に応じて、各利用組織、各エリアについてアプリケーション19は備えられる。アプリケーション19は、要求受信部11から要求の入力を受ける。アプリケーション19は、要求に応じて所定の処理を行い、処理結果に応じて、設定対象となるスイッチ9の識別情報を含むメッセージを生成し、メッセージ転送部12に出力する。 The application 19 is, for example, a path setting application. For example, the application 19 is provided for each user organization and each area in response to the request for the policy and bandwidth control of each user organization and each area. The application 19 receives a request input from the request receiving unit 11. The application 19 performs a predetermined process in response to the request, generates a message including the identification information of the switch 9 to be set according to the process result, and outputs the message to the message forwarding unit 12.

第1実施形態では、アプリケーション19は、パス設定アプリケーションであることが想定されている。したがって、アプリケーション19への要求は、例えば、2拠点間のパスの設定要求である。また、アプリケーション19は、要求によって指定された2拠点のパスの経路を算出する処理を行う。アプリケーション19の処理結果は、算出した経路情報である。経路情報には、例えば、経路上のスイッチ9の識別情報と、経路上の各スイッチ9の出力インタフェース等が含まれる。したがって、アプリケーション19によって生成されるメッセージには、第1実施形態では、パス計算の結果得られた経路上のスイッチ9の識別情報が含まれる。なお、経路上のスイッチは、1又は複数台であるので、1つの要求について生成されるメッセージの数は、経路上のスイッチの数となる。 In the first embodiment, the application 19 is assumed to be a path setting application. Therefore, the request to the application 19 is, for example, a request for setting a path between two bases. In addition, the application 19 performs a process of calculating the route of the path between the two bases specified by the request. The processing result of the application 19 is the calculated route information. The route information includes, for example, identification information of the switches 9 on the route, an output interface of each switch 9 on the route, and the like. Therefore, in the first embodiment, the message generated by the application 19 includes the identification information of the switch 9 on the route obtained as a result of the path calculation. Since there are one or a plurality of switches on the route, the number of messages generated for one request is the number of switches on the route.

また、第1実施形態では、スイッチ9を制御するプロトコルとして、OpenFlowが用いられていることが想定されている。そのため、アプリケーション19によって生成されるメッセージは、OpenFlowのメッセージである。 Further, in the first embodiment, it is assumed that OpenFlow is used as a protocol for controlling the switch 9. Therefore, the message generated by the application 19 is an OpenFlow message.

メッセージ転送部12は、アプリケーション19からメッセージの入力を受ける。メッセージ転送部12は、マスタ情報を参照して、メッセージの宛先スイッチ9に応じて、メッセージをスイッチ設定部13又はサーバ2に送信する。マスタ情報は、スイッチの識別情報と当該スイッチのマスタとなるコントローラの識別情報との対応情報である。スイッチの識別情報、及び、マスタとなるコントローラの識別情報は、例えば、スイッチ名/コントローラ名、IP(Internet Protocol)アドレスである。 The message forwarding unit 12 receives an input of a message from the application 19. The message forwarding unit 12 refers to the master information and transmits a message to the switch setting unit 13 or the server 2 according to the message destination switch 9. The master information is correspondence information between the identification information of the switch and the identification information of the controller that is the master of the switch. The switch identification information and the identification information of the master controller are, for example, a switch name / controller name and an IP (Internet Protocol) address.

メッセージの宛先スイッチ9のマスタであるコントローラが、自サーバ1に搭載されている場合には、メッセージ転送部12は、メッセージをスイッチ設定部13に出力する。メッセージの宛先スイッチ9のマスタであるコントローラが、他のサーバ2に搭載されている場合には、メッセージ転送部12は、メッセージをサーバ2に転送する。 When the controller that is the master of the message destination switch 9 is mounted on the local server 1, the message forwarding unit 12 outputs the message to the switch setting unit 13. When the controller that is the master of the message destination switch 9 is mounted on another server 2, the message forwarding unit 12 transfers the message to the server 2.

メッセージ転送部12は、スイッチ設定部13に転送したメッセージ量と、サーバ2に転送したメッセージ量とを、アプリケーション19ごとに、メッセージ量記憶部18Bに記録する。以降、スイッチ設定部13に転送されるメッセージを、直接メッセージ、と称する。また、他のサーバ2に転送されるメッセージを、間接メッセージ、と称する。 The message forwarding unit 12 records the message amount transferred to the switch setting unit 13 and the message amount transferred to the server 2 in the message amount storage unit 18B for each application 19. Hereinafter, the message transferred to the switch setting unit 13 will be referred to as a direct message. Further, a message transferred to another server 2 is referred to as an indirect message.

スイッチ設定部13は、メッセージ転送部12又は他のサーバ2から、メッセージの入力を受ける。スイッチ設定部13は、自装置がマスタである制御対象のスイッチ9に、メッセージを送信する。 The switch setting unit 13 receives input of a message from the message forwarding unit 12 or another server 2. The switch setting unit 13 transmits a message to the control target switch 9 whose master is the own device.

情報収集部14は、所定の周期で、アプリケーション要求量記憶部18A、メッセージ量記憶部18Bから、アプリケーション毎の、要求量と直接メッセージ量と間接メッセージ量とを取得し、制御部15に出力する。アプリケーション毎の、要求量と直接メッセージ量と間接メッセージ量との取得周期は、例えば、分散型通信制御システム100の管理者によって、秒単位で設定される。 The information collecting unit 14 acquires the request amount, the direct message amount, and the indirect message amount for each application from the application request amount storage unit 18A and the message amount storage unit 18B at a predetermined cycle, and outputs the request amount to the control unit 15. .. The acquisition cycle of the request amount, the direct message amount, and the indirect message amount for each application is set in seconds by, for example, the administrator of the distributed communication control system 100.

計測結果受信部16は、所定の周期で他のサーバ2から送信される、サーバ2のアプリケーション毎の要求量と直接メッセージ量と間接メッセージ量とを受信し、制御部15に出力する。 The measurement result receiving unit 16 receives the request amount, the direct message amount, and the indirect message amount for each application of the server 2 transmitted from the other server 2 at a predetermined cycle, and outputs the request amount to the control unit 15.

制御部15は、情報収集部14からサーバ1におけるアプリケーション毎の要求量と直接メッセージ量と間接メッセージ量との入力を受ける。また、制御部15は、計測結果受信部16から、サーバ2におけるアプリケーション毎の要求量と直接メッセージ量と間接メッセージ量との入力を受ける。 The control unit 15 receives input from the information collection unit 14 for the request amount, the direct message amount, and the indirect message amount for each application in the server 1. Further, the control unit 15 receives input from the measurement result receiving unit 16 of the request amount, the direct message amount, and the indirect message amount for each application in the server 2.

制御部15は、サーバ1、サーバ2それぞれにおけるアプリケーション毎の要求量と直接メッセージ量と間接メッセージ量とに基づいて、負荷分散装置3のラウンドロビンの重
みを決定する。重みの決定の処理の詳細については、後述される。制御部15は、決定した重みを重み通知部17に出力する。
The control unit 15 determines the round robin weight of the load balancer 3 based on the request amount, the direct message amount, and the indirect message amount for each application in each of the server 1 and the server 2. Details of the weight determination process will be described later. The control unit 15 outputs the determined weight to the weight notification unit 17.

重み通知部17は、制御部15から、負荷分散装置3のラウンドロビンの重みの入力を受け、負荷分散装置3に通知する。 The weight notification unit 17 receives an input of the round robin weight of the load balancer 3 from the control unit 15 and notifies the load balancer 3 of the weight.

アプリケーション要求量記憶部18A、メッセージ量記憶部18B、マスタ情報記憶部18Cは、それぞれ、サーバ1の主記憶装置102の記憶領域内の所定の領域に相当する。アプリケーション要求量記憶部18Aは、負荷分散装置3からサーバ1に入力される要求量をアプリケーション毎に記憶する。メッセージ量記憶部18Bは、直接メッセージ量、間接メッセージ量を、アプリケーション毎に記憶する。アプリケーション要求量記憶部18A、メッセージ量記憶部18Bがそれぞれ保持する値は、例えば、情報収集部14による情報の取得によって、リセットされてもよいし、リセットされずに保持されてもよい。アプリケーション要求量記憶部18A及びメッセージ量記憶部18Bがそれぞれ保持する値が情報収集部14による情報の取得によってリセットされない場合には、情報収集部14は、前回の読み出した値との差分を、所定周期内の、要求量、直接メッセージ量、間接メッセージ量として取得する。 The application request amount storage unit 18A, the message amount storage unit 18B, and the master information storage unit 18C each correspond to a predetermined area in the storage area of the main storage device 102 of the server 1. The application request amount storage unit 18A stores the request amount input from the load balancer 3 to the server 1 for each application. The message amount storage unit 18B stores the direct message amount and the indirect message amount for each application. The values held by the application request amount storage unit 18A and the message amount storage unit 18B may be reset by, for example, acquiring information by the information collecting unit 14, or may be held without being reset. When the values held by the application request amount storage unit 18A and the message amount storage unit 18B are not reset by the acquisition of information by the information collection unit 14, the information collection unit 14 determines the difference from the previously read value. Acquire as request amount, direct message amount, and indirect message amount within the cycle.

マスタ情報記憶部18Cは、マスタ情報を記憶する。マスタ情報は、例えば、分散型通信制御システム100の管理者によって、予め設定される。または、マスタ情報は、コントローラ間のネゴシエーションによって決定されてもよい。マスタ情報の決定方法は、これらに限定されない。 The master information storage unit 18C stores the master information. The master information is set in advance by, for example, the administrator of the distributed communication control system 100. Alternatively, the master information may be determined by negotiation between controllers. The method of determining the master information is not limited to these.

なお、サーバ2の機能構成は、サーバ1の機能構成のうち、制御部15、計測結果受信部16、重み通知部17以外の構成要素を含む構成である。サーバ2において、情報収集部14は、所定の周期でアプリケーション要求量記憶部18Aとメッセージ量記憶部18Bとから取得した情報を、サーバ1に送信する。 The functional configuration of the server 2 includes components other than the control unit 15, the measurement result receiving unit 16, and the weight notification unit 17 among the functional configurations of the server 1. In the server 2, the information collecting unit 14 transmits the information acquired from the application request amount storage unit 18A and the message amount storage unit 18B to the server 1 at a predetermined cycle.

<ラウンドロビンの重みの決定処理の詳細>
図4は、負荷分散装置3によって用いられる重みの決定処理の具体例において想定される分散型通信制御システム100の一例を示す図である。スイッチ9によって形成されるネットワークは、データセンタ(DC)#1、データセンタ#2、WANの3つのエリアに分けられる。DC#1、DC#2、WANそれぞれのエリアに対して、アプリケーションが用意されている。負荷分散装置3、サーバ1、サーバ2には、DC#1、DC#2、WANそれぞれに向けたDC#1制御アプリケーション、DC#2制御アプリケーション、WAN制御アプリケーションのインスタンスが存在する。
<Details of round-robin weight determination process>
FIG. 4 is a diagram showing an example of a distributed communication control system 100 assumed in a specific example of the weight determination process used by the load balancer 3. The network formed by the switch 9 is divided into three areas: data center (DC) # 1, data center # 2, and WAN. Applications are prepared for each area of DC # 1, DC # 2, and WAN. The load balancer 3, the server 1, and the server 2 have instances of a DC # 1 control application, a DC # 2 control application, and a WAN control application for each of DC # 1, DC # 2, and WAN.

(ステップ1)
サーバ1の制御部15は、サーバ1、サーバ2の要求量及びメッセージ量の計測結果を取得する。具体例では、図5、図6の結果が取得されたことを想定する。
(Step 1)
The control unit 15 of the server 1 acquires the measurement results of the request amount and the message amount of the server 1 and the server 2. In a specific example, it is assumed that the results of FIGS. 5 and 6 have been obtained.

図5は、図4に示される例におけるサーバ1の要求量及びメッセージ量の計測結果の一例である。図5から、サーバ1のDC#1制御アプリケーションは、20の要求量を受信し、20の要求量に対して合計で60のメッセージを生成していることが示される。サーバ1のDC#1制御アプリケーションが生成したメッセージのうち、40は直接メッセージであり、20は間接メッセージである。 FIG. 5 is an example of the measurement results of the request amount and the message amount of the server 1 in the example shown in FIG. From FIG. 5, it is shown that the DC # 1 control application of the server 1 has received 20 requests and generated a total of 60 messages for the 20 requests. Of the messages generated by the DC # 1 control application of server 1, 40 are direct messages and 20 are indirect messages.

サーバ1のDC#2制御アプリケーションは、10の要求量を受信し、10の要求量に対して合計で40のメッセージを生成していることが示される。サーバ1のDC#2制御アプリケーションが生成したメッセージのうち、10は直接メッセージであり、30は間
接メッセージである。
It is shown that the DC # 2 control application of server 1 has received 10 requests and generated a total of 40 messages for 10 requests. Of the messages generated by the DC # 2 control application of server 1, 10 are direct messages and 30 are indirect messages.

サーバ1のWAN制御アプリケーションは、5の要求量を受信し、5の要求量に対して合計で10のメッセージを生成していることが示される。サーバ1のWAN制御アプリケーションが生成したメッセージのうち、5は直接メッセージであり、5は間接メッセージである。 It is shown that the WAN control application of server 1 has received 5 requests and generated a total of 10 messages for 5 requests. Of the messages generated by the WAN control application of server 1, 5 is a direct message and 5 is an indirect message.

図6は、図4に示される例におけるサーバ2の要求量及びメッセージ量の計測結果の一例である。図6から、サーバ2のDC#1制御アプリケーションは、20の要求量を受信し、20の要求量に対して合計で60のメッセージを生成していることが示される。サーバ2のDC#1制御アプリケーションが生成したメッセージのうち、20は直接メッセージであり、40は間接メッセージである。 FIG. 6 is an example of the measurement results of the request amount and the message amount of the server 2 in the example shown in FIG. From FIG. 6, it is shown that the DC # 1 control application of the server 2 has received 20 requests and generated a total of 60 messages for the 20 requests. Of the messages generated by the DC # 1 control application of the server 2, 20 are direct messages and 40 are indirect messages.

サーバ2のDC#2制御アプリケーションは、10の要求量を受信し、10の要求量に対して合計で40のメッセージを生成していることが示される。サーバ2のDC#2制御アプリケーションが生成したメッセージのうち、30は直接メッセージであり、10は間接メッセージである。 It is shown that the DC # 2 control application of server 2 has received 10 requests and generated a total of 40 messages for 10 requests. Of the messages generated by the DC # 2 control application of the server 2, 30 are direct messages and 10 are indirect messages.

サーバ2のWAN制御アプリケーションは、5の要求量を受信し、5の要求量に対して合計で10のメッセージを生成していることが示される。サーバのWAN制御アプリケーションが生成したメッセージのうち、5は直接メッセージであり、5は間接メッセージである。 It is shown that the WAN control application of server 2 has received 5 requests and generated a total of 10 messages for 5 requests. Of the messages generated by the WAN control application of the server 2 , 5 is a direct message and 5 is an indirect message.

なお、要求量、メッセージ量の単位は、それぞれ、例えば、個数であってもよいし、単位時間における流入/流出量(kbps)等であってもよい。 The unit of the requested amount and the message amount may be, for example, the number, the inflow / outflow amount (kbps) in a unit time, or the like.

(ステップ2)
サーバ1の制御部15は、サーバ1及びサーバ2から収集された要求量とメッセージ量とに基づいて、アプリケーションとサーバとの各組合せについて、メッセージ総量に対する直接メッセージ量の比率を算出する。所定のサーバ上の所定のアプリケーションのメッセージの総量に対する直接メッセージ量の比率を、直接比率、と称する。
(Step 2)
The control unit 15 of the server 1 calculates the ratio of the direct message amount to the total message amount for each combination of the application and the server based on the request amount and the message amount collected from the server 1 and the server 2. The ratio of the amount of direct messages to the total amount of messages of a predetermined application on a predetermined server is referred to as a direct ratio.

図7は、具体例における、各サーバ上の各アプリケーションについての直接比率を示す図である。図5に示される例において、サーバ1のDC#1制御アプリケーションのメッセージ総数は60であり、直接メッセージ量は40であるので、サーバ1上のDC#1制御アプリケーションについての直接比率は、40/60=2/3となる。図に示される例において、サーバ2のDC#1制御アプリケーションのメッセージ総数は60であり、直接メッセージ量は20であるので、サーバ2上のDC#1制御アプリケーションについての直接比率は、20/60=1/3となる。DC#2制御アプリケーション、WANアプリケーションについても同様に、各サーバについて、直接比率が求められる。 FIG. 7 is a diagram showing a direct ratio for each application on each server in a specific example. In the example shown in FIG. 5, the total number of messages of the DC # 1 control application on the server 1 is 60, and the amount of direct messages is 40. Therefore, the direct ratio for the DC # 1 control application on the server 1 is 40 /. 60 = 2/3. In the example shown in FIG. 6 , the total number of messages of the DC # 1 control application on the server 2 is 60, and the amount of direct messages is 20, so that the direct ratio for the DC # 1 control application on the server 2 is 20 /. 60 = 1/3. Similarly, for the DC # 2 control application and the WAN application, the direct ratio is calculated for each server.

(ステップ3)
サーバ1の制御部15は、サーバ1及びサーバ2から収集されたアプリケーション毎の要求量に基づいて、各アプリケーションから発生した要求量を求める。アプリケーションから発生した要求量を、以降、発生要求量、と称する。
(Step 3)
The control unit 15 of the server 1 obtains the request amount generated from each application based on the request amount for each application collected from the server 1 and the server 2. The request amount generated from the application is hereinafter referred to as the generated request amount.

図8は、具体例における、各アプリケーションの発生要求量の一例である。各アプリケーションの発生要求量は、各サーバから収集された当該アプリケーションの要求量の総和として求められる。例えば、DC#1制御アプリケーションについて、図5より、サーバ1へ振り分けられた要求量は20、図6より、サーバ2へ振り分けられた要求量は20で
あるので、DC#1制御アプリケーションの発生要求量は、20+20=40と求められる。DC#2制御アプリケーション、WAN制御アプリケーションについても同様にして、発生要求量が求められる。
FIG. 8 is an example of the generation request amount of each application in the specific example. The generated request amount of each application is calculated as the sum of the request amounts of the application collected from each server. For example, with respect to the DC # 1 control application, the request amount distributed to the server 1 is 20 from FIG. 5, and the request amount distributed to the server 2 is 20 from FIG. The amount is calculated as 20 + 20 = 40. Similarly for the DC # 2 control application and the WAN control application, the required amount of generation is required.

(ステップ4)
サーバ1の制御部15は、サーバ1及びサーバ2から収集されたアプリケーション毎の要求量に基づいて、各サーバが収容可能な要求量を求める。サーバが収容可能な要求量を、以降、収容量、と称する。
(Step 4)
The control unit 15 of the server 1 obtains the request amount that can be accommodated by each server based on the request amount for each application collected from the server 1 and the server 2. The required amount that can be accommodated by the server is hereinafter referred to as an accommodating amount.

図9は、具体例に係る各サーバの収容量の一例である。第1実施形態では、各サーバの収容量は、分散型通信制御システム100内の全アプリケーションの発生要求量の総量をサーバの台数で割った値として求められる。 FIG. 9 is an example of the capacity of each server according to the specific example. In the first embodiment, the capacity of each server is obtained as a value obtained by dividing the total amount of generation requests of all applications in the distributed communication control system 100 by the number of servers.

具体例では、図8から、全アプリケーションの発生要求量の総量は、DC#1制御アプリケーション、DC#2制御アプリケーション、WANアプリケーションそれぞれの発生要求量を足し合わせて、40+20+10=70と求められる。具体例では、サーバの台数は、サーバ1とサーバ2との2台である。したがって、具体例の各サーバの収容量は、70/2=35と求められる。 In a specific example, from FIG. 8, the total amount of generated requests for all applications is calculated to be 40 + 20 + 10 = 70 by adding the generated requests for each of the DC # 1 control application, the DC # 2 control application, and the WAN application. In a specific example, the number of servers is two, server 1 and server 2. Therefore, the capacity of each server in the specific example is calculated to be 70/2 = 35.

(ステップ5)
サーバ1の制御部15は、直接比率、各アプリケーションの発生要求量、各サーバの収容量を用いて、線形計画問題を解く。第1実施形態では、目的関数と制約条件とは以下の通りに設定される。

Figure 0006938944
(Step 5)
The control unit 15 of the server 1 solves the linear programming problem by using the direct ratio, the generated request amount of each application, and the capacity of each server. In the first embodiment, the objective function and the constraint condition are set as follows.
Figure 0006938944

目的関数は、各サーバ及び各アプリケーションの直接メッセージの総量を推定する関数である。制約条件1は、各サーバに割り当てられる要求量に上限の制約を与えるものである。制約条件2は、各アプリケーションの発生要求量を計測時と同じ状態に制限するものである。 The objective function is a function that estimates the total amount of direct messages for each server and each application. Constraint 1 imposes an upper limit on the amount of request allocated to each server. The constraint condition 2 limits the generated request amount of each application to the same state as at the time of measurement.

サーバ1の制御部15は、上記制約条件のもとで、目的関数が最大となる線形計画問題を解く。線形計画問題の解として、目的関数が最大となる場合のXijの値が得られる。すなわち、サーバ1の制御部15は、計測時と同じ要求の発生状態であり、サーバの収容量に上限がある状態において、直接メッセージの総量が最大となるように、各アプリケーションについて、各サーバへ割り当てられる要求量を求める。直接メッセージの総量が最大となる場合には、間接メッセージ、すなわち、コントローラ間で転送されるメッセージの量が最小となる。 The control unit 15 of the server 1 solves a linear programming problem in which the objective function is maximized under the above constraints. As a solution to the linear programming problem, the value of Xij when the objective function is maximized is obtained. That is, the control unit 15 of the server 1 sends each application to each server so that the total amount of direct messages is maximized in the state where the same request is generated as at the time of measurement and the capacity of the server is limited. Find the required amount to be allocated. When the total amount of direct messages is maximum, the amount of indirect messages, that is, the amount of messages transferred between controllers is minimum.

具体例では、Aijの値は、図7に示される各サーバ上の各アプリケーションについて
の直接比率の値となる。Riの値は、図8に示される各アプリケーションの発生要求量の値となる。Cの値は、図9に示される各サーバの収容量の値となる。
In a specific example, the value of Aij is the value of the direct ratio for each application on each server shown in FIG. The value of Ri is the value of the generated request amount of each application shown in FIG. The value of C is the capacity value of each server shown in FIG.

図10は、具体例に係る線形計画問題の解Xijの一例を示す図である。サーバ1には、DC#1制御アプリケーションの要求が35割り当てられる。サーバ2には、DC#1制御アプリケーションの要求が5、DC#2制御アプリケーションの要求が20、WAN制御アプリケーションの要求が10割り当てられる。 FIG. 10 is a diagram showing an example of a solution Xij of a linear programming problem according to a specific example. The server 1 is assigned 35 requests for the DC # 1 control application. The server 2 is assigned 5 requests for the DC # 1 control application, 20 requests for the DC # 2 control application, and 10 requests for the WAN control application.

(ステップ6)
サーバ1の制御部15は、線形計画問題の解Xijから、各アプリケーションについて、各サーバへ割り当てられる要求の割合を求める。サーバ1の制御部15は、各アプリケーションについての、各サーバへ割り当てられる要求の割合を、負荷分散装置3がラウンドロビンで用いる重みとして、重み通知部17を通じて、負荷分散装置3に通知する。
(Step 6)
The control unit 15 of the server 1 obtains the ratio of requests assigned to each server for each application from the solution Xij of the linear programming problem. The control unit 15 of the server 1 notifies the load balancer 3 through the weight notification unit 17 of the ratio of requests assigned to each server for each application as the weight used by the load balancer 3 in round robin.

アプリケーションiについてサーバjへの要求の振り分けの重みWijは、Wij=Xij/Riで求められる。Riは、アプリケーションiの発生要求量である。 The weight Wij of distribution of requests to the server j for the application i is obtained by Wij = Xij / Ri. Ri is the requested amount of application i.

図11は、具体例に係る、負荷分散装置3に通知されるラウンドロビンの重みWijの一例である。負荷分散装置3は、以降、DC#1制御アプリケーションの要求を、サーバ1に重み7/8で、サーバ2に重み1/8で、振り分け、DC#2制御アプリケーション及びWAN制御アプリケーションの要求を、すべてサーバ2に振り分けるようになる。 FIG. 11 is an example of the round robin weight Wij notified to the load balancer 3 according to a specific example. After that, the load balancer 3 distributes the requests of the DC # 1 control application to the server 1 with a weight of 7/8 and the server 2 with a weight of 1/8, and requests the DC # 2 control application and the WAN control application. All will be distributed to server 2.

サーバ1の制御部15は、以上のステップ1〜6を所定の周期で繰り返し実行する。発生する要求量の変化に応じて、負荷分散装置3のラウンドロビンの重みも変化するので、要求量の変化に応じて、コントローラ間で転送されるメッセージが最小となるように調整される。直接メッセージは「第1のメッセージ」の一例である。間接メッセージは、「第2のメッセージ」の一例である。「直接比率」は、「第1の比率」の一例である。 The control unit 15 of the server 1 repeatedly executes the above steps 1 to 6 at a predetermined cycle. Since the weight of the round robin of the load balancer 3 also changes according to the change in the demand amount that occurs, the message transferred between the controllers is adjusted to be minimized according to the change in the demand amount. The direct message is an example of the "first message". The indirect message is an example of a "second message". The "direct ratio" is an example of the "first ratio".

<処理の流れ>
図12は、サーバ1の制御部15の、負荷分散装置3のラウンドロビンの重みの決定処理のフローチャートの一例である。図12に示される処理は、サーバ1の制御部15に、サーバ1及びサーバ2の要求量及びメッセージ量の情報が入力される周期と同じ周期で繰り返し実行される。図12に示される処理の実行主体は、CPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。
<Processing flow>
FIG. 12 is an example of a flowchart of the round robin weight determination process of the load balancer 3 of the control unit 15 of the server 1. The process shown in FIG. 12 is repeatedly executed in the same cycle as the cycle in which the information on the request amount and the message amount of the server 1 and the server 2 is input to the control unit 15 of the server 1. The execution subject of the process shown in FIG. 12 is the CPU 101, but for convenience, the control unit 15 which is a functional component will be described as the main body.

OP1では、制御部15は、サーバとアプリケーションとの組合せごとの、要求量、直接メッセージ量、間接メッセージ量、を情報収集部14から取得する。 In OP1, the control unit 15 acquires the request amount, the direct message amount, and the indirect message amount for each combination of the server and the application from the information collection unit 14.

OP2では、制御部15は、サーバとアプリケーションとの組合せごとの直接比率Aijを求める。OP3では、制御部15は、アプリケーションごとに発生要求量Riを求める。OP4では、制御部15は、サーバの収容量Cを求める。OP5では、制御部15は、線形計画問題を解く。 In OP2, the control unit 15 obtains the direct ratio Aij for each combination of the server and the application. In OP3, the control unit 15 obtains the generated request amount Ri for each application. In OP4, the control unit 15 obtains the capacity C of the server. In OP5, the control unit 15 solves a linear programming problem.

OP6では、制御部15は、アプリケーションiについて、サーバjへの要求の振り分けの重みWijを算出し、負荷分散装置3に通知する。その後、図12に示される処理が終了する。 In OP6, the control unit 15 calculates the weight Wij for distributing the request to the server j for the application i, and notifies the load balancer 3 of the weight Wij. After that, the process shown in FIG. 12 ends.

<第1実施形態の作用効果>
図13は、各アプリケーションの要求量の状態が同条件の場合の、比較例のサーバ1とサーバ2とのメッセージ量と、具体例で算出された重みWijを用いた場合のサーバ1と
サーバ2とのメッセージ量との一例を示す図である。図13における比較例は、要求が、サーバ1とサーバ2との間で均等に振り分けられた場合の例である。図13における比較例のサーバ1、サーバ2の計測結果は、それぞれ、図5、図6で示されるものと同じである。
<Action and effect of the first embodiment>
FIG. 13 shows the message amounts of the server 1 and the server 2 in the comparative example when the state of the requested amount of each application is the same, and the server 1 and the server 2 when the weight Wij calculated in the specific example is used. It is a figure which shows an example with the message amount of. The comparative example in FIG. 13 is an example in which the requests are evenly distributed between the server 1 and the server 2. The measurement results of the server 1 and the server 2 of the comparative example in FIG. 13 are the same as those shown in FIGS. 5 and 6, respectively.

比較例では、サーバ1における全アプリケーションの間接メッセージの量の合計は55、サーバ2における全アプリケーションの間接メッセージの量の合計は55である。比較例でのサーバ1とサーバ2との間接メッセージ量の合計は、55+55=110である。 In the comparative example, the total amount of indirect messages of all applications on the server 1 is 55, and the total amount of indirect messages of all applications on the server 2 is 55. The total amount of indirect messages between the server 1 and the server 2 in the comparative example is 55 + 55 = 110.

具体例で算出された重みWijが用いられた場合では、サーバ1における全アプリケーションの間接メッセージの量の合計は35、サーバ2における全アプリケーションの間接メッセージの量の合計は40である。具体例では、サーバ1とサーバ2との間接メッセージ量の合計は、35+40=75である。 When the weight Wij calculated in the specific example is used, the total amount of indirect messages of all applications on the server 1 is 35, and the total amount of indirect messages of all applications on the server 2 is 40. In a specific example, the total amount of indirect messages between the server 1 and the server 2 is 35 + 40 = 75.

したがって、第1実施形態によれば、負荷分散装置3のラウンドロビンの重みを変えることによって、コントローラ間で転送されるメッセージ(間接メッセージ)の量を低減できる。また、図13では、具体例のサーバ1の要求量の合計とサーバ2の要求量の合計とは同じである。これは、線形計画問題において、サーバの収容量の上限を制約条件として設けたことに起因する。したがって、第1実施形態によれば、コントローラ間で転送されるメッセージの量を低減しつつ、サーバ間の処理負荷を分散させることができる。また、線形計画法は既存のライブラリを利用可能であるので、実装が比較的容易である。 Therefore, according to the first embodiment, the amount of messages (indirect messages) transferred between the controllers can be reduced by changing the weight of the round robin of the load balancer 3. Further, in FIG. 13, the total request amount of the server 1 and the total request amount of the server 2 of the specific example are the same. This is due to the fact that the upper limit of the server capacity is set as a constraint in the linear programming problem. Therefore, according to the first embodiment, it is possible to distribute the processing load between the servers while reducing the amount of messages transferred between the controllers. In addition, linear programming is relatively easy to implement because existing libraries can be used.

なお、第1実施形態では、直接比率を線形計画問題の定数Aijとし、目的関数を最大にするような解Xijを求め、解Xijに基づいて、負荷分散装置3のラウンドロビンの重みが決定される。これに代えて、サーバjにおけるアプリケーションiのメッセージ総量に対する間接メッセージの比率である間接比率を線形計画問題の定数Aijとしてもよい。この場合には、目的関数は、コントローラ間で転送されるメッセージの量(間接メッセージ量)となるので、解Xijは目的関数を最小にするものとして算出される。負荷分散装置3のラウンドロビンの重みは、解Xijから得られた各アプリケーションについて各サーバに割り当てられる要求の割合となる。 In the first embodiment, the direct ratio is set to the constant Aij of the linear programming problem, the solution Xij that maximizes the objective function is obtained, and the round robin weight of the load balancer 3 is determined based on the solution Xij. NS. Instead of this, the indirect ratio, which is the ratio of the indirect messages to the total amount of messages of the application i on the server j, may be set as the constant Aij of the linear programming problem. In this case, the objective function is the amount of messages transferred between the controllers (indirect message amount), so the solution Xij is calculated assuming that the objective function is minimized. The round robin weight of the load balancer 3 is the ratio of the requests assigned to each server for each application obtained from the solution Xij.

<第1実施形態の変形例>
第1実施形態では、線形計画問題の定数Aijに、各アプリケーションにおける各サーバの直接比率が用いられる。これに代えて、各アプリケーションの設定対象となるスイッチ9が予め判明しているのであれば、その中での各コントローラがマスタであるスイッチの割合を、線形計画問題の定数Aijとしてもよい。例えば、図4に示される例では、DC#1制御アプリケーションにおいて、設定対象のスイッチ3台のうち、サーバ1がマスタであるスイッチは2台、サーバ2がマスタであるスイッチは1台である。DC#2制御アプリケーションにおいて、設定対象のスイッチ4台のうち、サーバ1がマスタであるスイッチは1台、サーバ2がマスタであるスイッチは3台である。WAN制御アプリケーションにおいて、設定対象のスイッチ4台のうち、サーバ1がマスタであるスイッチは2台、サーバ2がマスタであるスイッチは2台である。
<Modified example of the first embodiment>
In the first embodiment, the direct ratio of each server in each application is used for the constant Aij of the linear programming problem. Instead of this, if the switch 9 to be set for each application is known in advance, the ratio of the switches in which each controller is the master may be set as the constant Aij of the linear programming problem. For example, in the example shown in FIG. 4, in the DC # 1 control application, of the three switches to be set, the server 1 is the master switch is two, and the server 2 is the master switch. In the DC # 2 control application, out of the four switches to be set, one switch has the server 1 as the master, and three switches have the server 2 as the master. In the WAN control application, out of the four switches to be set, the server 1 is the master switch is two, and the server 2 is the master switch is two.

図14は、第1実施形態の変形例に係る線形計画問題の定数Aijの一例を示す図である。図14に示される例は、図4のシステム構成を前提とする。図14に示される例の線形計画問題の定数Aijは、各アプリケーションにおける、各コントローラがマスタであるスイッチの割合である。図14に示される例の線形計画問題の定数Aijの値は、図7に示される第1実施形態に係る線形計画問題の定数Aijの値と一致しているので、線形計画問題の解として、図10に示される例と同じ値が得られる。したがって、第1実施形態の変形例によっても、コントローラ間で転送されるメッセージ量を低減させることがで
きる。
FIG. 14 is a diagram showing an example of the constant Aij of the linear programming problem according to the modified example of the first embodiment. The example shown in FIG. 14 is premised on the system configuration of FIG. The constant Aij of the example linear programming problem shown in FIG. 14 is the percentage of switches in each application for which each controller is the master. Since the value of the constant Aij of the linear programming problem of the example shown in FIG. 14 matches the value of the constant Aij of the linear programming problem according to the first embodiment shown in FIG. 7, as a solution of the linear programming problem, The same values as in the example shown in FIG. 10 are obtained. Therefore, the amount of messages transferred between the controllers can be reduced even by the modification of the first embodiment.

<第2実施形態>
第2実施形態では、線形計画法ではなく、ヒューリスティックアルゴリズムを用いて、負荷分散装置3が、各アプリケーションについて要求を各サーバに割り当てる際に用いるラウンドロビンの重みが決定される。ヒューリスティックアルゴリズムとは、必ずしも正しい答えを導けるわけではないが、ある程度のレベルで正解に近い解を得ることができる方法である。
<Second Embodiment>
In the second embodiment, heuristic algorithms are used instead of linear programming to determine the round robin weights that the load balancer 3 uses to assign requests to each server for each application. A heuristic algorithm is a method that does not always lead to the correct answer, but can obtain a solution that is close to the correct answer at a certain level.

第2実施形態では、第1実施形態と共通する説明は省略される。第2実施形態では、システム構成、各装置のハードウェア構成、及び、機能構成は、第1実施形態と同様である。第2実施形態では、機能構成のうち、制御部15の処理が第1実施形態と異なる。 In the second embodiment, the description common to the first embodiment is omitted. In the second embodiment, the system configuration, the hardware configuration of each device, and the functional configuration are the same as those in the first embodiment. In the second embodiment, the processing of the control unit 15 in the functional configuration is different from that in the first embodiment.

図15は、第2実施形態に係る、負荷分散装置3のラウンドロビンの重みの決定処理の一例を示す図である。図15では、図4に示される具体例が想定されている。第2実施形態では、制御部15は、第1実施形態のラウンドロビンの重み決定処理のステップ1(情報収集)、ステップ2(直接比率)、ステップ3(各アプリケーションの発生要求量算出)、ステップ4(各サーバの収容量算出)を実行する。以降の処理は、以下の通りである。 FIG. 15 is a diagram showing an example of a round robin weight determination process of the load balancer 3 according to the second embodiment. In FIG. 15, a specific example shown in FIG. 4 is assumed. In the second embodiment, the control unit 15 performs step 1 (information collection), step 2 (direct ratio), step 3 (calculation of the generation request amount of each application), and step of the round robin weight determination process of the first embodiment. 4 (Calculation of capacity of each server) is executed. Subsequent processing is as follows.

図15に示されるテーブルは、各アプリケーションiについて、要求量r(i)と、各サーバjの直接比率a(i,j)とを含む。各サーバjの直接比率a(i,j)は、値の大きい順位でソートされている。アプリケーションiの要求量r(i)の初期値は、アプリケーションiの要求発生量Riである。さらに、図15では、サーバjの収容量c(j)が示されている。サーバjの収容量c(j)の初期値は、全アプリケーションの要求量の総量をコントローラの台数で割って得られる収容量Cである。直接比率a(i,j)、要求量r(i)の初期値Ri、サーバの収容量c(j)の初期値Cは、それぞれ、図7、図8、図9に示される例と同じ値である。 Table shown in FIG. 15, for each application i, the required amount r (i), direct ratio a (i, j) and the including of each server j. The direct ratios a (i, j) of each server j are sorted in descending order of value. The initial value of the request amount r (i) of the application i is the request generation amount Ri of the application i. Further, in FIG. 15, the capacity c (j) of the server j is shown. The initial value of the capacity c (j) of the server j is the capacity C obtained by dividing the total amount required by all applications by the number of controllers. The direct ratio a (i, j), the initial value Ri of the requested quantity r (i), and the initial value C of the server capacity c (j) are the same as the examples shown in FIGS. 7, 8 and 9, respectively. The value.

まず、制御部15は、最も高い直接比率a(2,2)(=3/4)の、DC#2制御アプリケーションとサーバ2との組合せを選択し、サーバ2に、サーバ2が収容できるだけのDC#2制御アプリケーションの要求量を割り当てる。図15では、サーバ2の収容量c(2)は35で、DC#2制御アプリケーションの要求量r(2)は20であるので、サーバ2にDC#2制御アプリケーションの要求量r(2)=20すべてが割り当てられる。DC#2制御アプリケーションの要求量r(2)は、20から0に書き換えらえる。DC#2制御アプリケーションの要求量r(2)が0になったので、DC#2制御アプリケーションについての処理は終了する。 First, the control unit 15 selects the combination of the DC # 2 control application and the server 2 having the highest direct ratio a (2,2) (= 3/4), and the server 2 can accommodate the server 2. Allocate the requirements of the DC # 2 control application. In FIG. 15, since the capacity c (2) of the server 2 is 35 and the required amount r (2) of the DC # 2 control application is 20, the required amount r (2) of the DC # 2 control application is sent to the server 2. = 20 All are assigned. The required amount r (2) of the DC # 2 control application can be rewritten from 20 to 0. Since the requested amount r (2) of the DC # 2 control application has become 0, the processing for the DC # 2 control application ends.

次に、制御部15は、2番目に高い直接比率a(1,1)(=2/3)の、DC#1制御アプリケーションとサーバ1との組合せを選択し、サーバ1に、サーバ1が収容できるだけのDC#1制御アプリケーションの要求量を割り当てる。図15では、サーバ1の収容量c(1)は35で、DC#1制御アプリケーションの要求量r(1)は40であるので、サーバ1には、サーバ1の収容量c(1)の35までDC#1制御アプリケーションの要求量が割り当てられる。DC#1制御アプリケーションの要求量c(1)は、40から5に書き換えらえる。サーバ1には収容量の上限までDC#1制御アプリケーションの要求が割り当てられているので、以降、サーバ1については、処理対象から除外される。 Next, the control unit 15 selects the combination of the DC # 1 control application and the server 1 having the second highest direct ratio a (1,1) (= 2/3), and the server 1 is set to the server 1. Allocate the required amount of DC # 1 control application that can be accommodated. In FIG. 15, since the capacity c (1) of the server 1 is 35 and the required amount r (1) of the DC # 1 control application is 40, the server 1 has the capacity c (1) of the server 1. Up to 35 DC # 1 control application requirements are allocated. The required amount c (1) of the DC # 1 control application can be rewritten from 40 to 5. Since the request of the DC # 1 control application is assigned to the server 1 up to the upper limit of the capacity, the server 1 is excluded from the processing target thereafter.

次に、制御部15は、直接比率a(3,2)(=1/2)の、WAN制御アプリケーションとサーバ2との組合せを選択し、サーバ2に、サーバ2が収容できるだけのWAN制御アプリケーションの要求量を割り当てる。サーバ2にはすでにDC#2制御アプリケー
ションの要求が20割り当てられているので、サーバ2の収容量c(2)は15である。WAN制御アプリケーションの要求量r(3)は10であるので、サーバ2にWAN制御アプリケーションの要求量r(3)=10すべてが割り当てられる。WAN制御アプリケーションの要求量r(3)は、10から0に書き換えらえる。WAN制御アプリケーションの要求量r(3)が0になったので、WAN制御アプリケーションについての処理は終了する。
Next, the control unit 15 selects a combination of the WAN control application and the server 2 having a direct ratio a (3,2) (= 1/2), and the WAN control application that the server 2 can accommodate in the server 2. Allocate the required amount of. Since the server 2 has already been assigned 20 requests for the DC # 2 control application, the capacity c (2) of the server 2 is 15. Since the request amount r (3) of the WAN control application is 10, the server 2 is assigned all the request amounts r (3) = 10 of the WAN control application. The required quantity r (3) of the WAN control application can be rewritten from 10 to 0. Since the request amount r (3) of the WAN control application has become 0, the processing for the WAN control application ends.

次に、制御部15は、直接比率a(1,2)(=1/3)の、DC#1制御アプリケーションとサーバ2との組合せを選択し、サーバ2に、サーバ2が収容できるだけのDC#1制御アプリケーションの要求量を割り当てる。サーバ2にはすでにDC#2制御アプリケーションの要求が20と、WAN制御アプリケーションの要求が10とが割り当てられているので、サーバ2の収容量c(2)は5である。図15では、サーバ2の収容量c(2)は5で、DC#1制御アプリケーションの要求量r(1)は5であるので、サーバ2にDC#1制御アプリケーションの残りの要求量r(1)=5すべてが割り当てられる。DC#1制御アプリケーションの要求量r(1)は、5から0に書き換えらえる。DC#1制御アプリケーションの要求量r(1)が0になり、すべてのアプリケーションの要求量が0になったので、処理が終了する。 Next, the control unit 15 selects a combination of the DC # 1 control application and the server 2 having a direct ratio a (1,2) (= 1/3), and the server 2 is DC enough to accommodate the server 2. # 1 Allocate the required amount of the control application. Since the request of the DC # 2 control application is already 20 and the request of the WAN control application is 10 assigned to the server 2, the capacity c (2) of the server 2 is 5. In FIG. 15, since the capacity c (2) of the server 2 is 5 and the request amount r (1) of the DC # 1 control application is 5, the remaining request amount r (1) of the DC # 1 control application is sent to the server 2. 1) = 5 All are assigned. The required amount r (1) of the DC # 1 control application can be rewritten from 5 to 0. Since the request amount r (1) of the DC # 1 control application becomes 0 and the request amount of all the applications becomes 0, the process ends.

図15での、各アプリケーションについて各サーバへ割り当てられる要求量の割合は、第1実施形態の線形計画法を用いた場合の結果と同じになる(図10参照)。 The ratio of the request amount allocated to each server for each application in FIG. 15 is the same as the result when the linear programming method of the first embodiment is used (see FIG. 10).

図16は、第2実施形態に係るサーバ1の制御部15の、負荷分散装置3のラウンドロビンの重みの決定処理のフローチャートの一例である。図16に示される処理は、サーバ1の制御部15に、サーバ1及びサーバ2の要求量及びメッセージ量の情報が入力される周期と同じ周期で繰り返し実行される。図16に示される処理の実行主体は、CPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。 FIG. 16 is an example of a flowchart of the round robin weight determination process of the load balancer 3 of the control unit 15 of the server 1 according to the second embodiment. The process shown in FIG. 16 is repeatedly executed in the same cycle as the cycle in which the information on the request amount and the message amount of the server 1 and the server 2 is input to the control unit 15 of the server 1. The execution subject of the process shown in FIG. 16 is the CPU 101, but for convenience, the control unit 15 which is a functional component will be described as the main body.

OP11では、制御部15は、サーバとアプリケーションとの組合せごとの、要求量、直接メッセージ量、間接メッセージ量、を情報収集部14から取得する。 In OP11, the control unit 15 acquires the request amount, the direct message amount, and the indirect message amount for each combination of the server and the application from the information collection unit 14.

OP12では、制御部15は、サーバj上のアプリケーションiにおける直接比率a(i,j)、アプリケーションiの要求量r(i)の初期値Ri、サーバjの収容量C(j)の初期値Cを求める。それぞれの求め方は、第1実施形態と同様である。 In OP12, the control unit 15 uses the direct ratio a (i, j) in the application i on the server j, the initial value Ri of the requested quantity r (i) of the application i, and the initial value of the accommodation capacity C (j) of the server j. Find C. Each method is the same as in the first embodiment.

OP13では、制御部15は、サーバj上のアプリケーションiに割り当てられる要求量x(i,j)、サーバj上のアプリケーションiに対応したフラグf(i,j)を、それぞれ、0で初期化する。サーバj上のアプリケーションiに対応したフラグf(i,j)は、0である場合には未処理、1である場合には処理済みであることが示される。 In OP13, the control unit 15 initializes the request amount x (i, j) assigned to the application i on the server j and the flag f (i, j) corresponding to the application i on the server j with 0, respectively. do. If the flag f (i, j) corresponding to the application i on the server j is 0, it is unprocessed, and if it is 1, it is indicated that it has been processed.

OP14では、制御部15は、アプリケーションiの要求量r(i)がすべて0であるか否かを判定する。アプリケーションiの要求量r(i)がすべて0である場合には(OP14:YES)、図16に示されている処理が終了する。アプリケーションiの要求量r(i)のいずれかが0でない場合には(OP14:NO)、処理がOP15に進む。 In OP14, the control unit 15 determines whether or not the requested amounts r (i) of the application i are all 0. When the requested amounts r (i) of the application i are all 0 (OP14: YES), the process shown in FIG. 16 ends. If any of the request amounts r (i) of the application i is not 0 (OP14: NO), the process proceeds to OP15.

OP15では、制御部15は、フラグf(i,j)が0である、アプリケーションiとサーバjとの組合せのうち、直接比率a(i,j)が最大のアプリケーションiとサーバjとを求める。OP15で求められたアプリケーションi、サーバjを、それぞれ、以降、アプリケーションii、サーバjjと表記する。 In OP15, the control unit 15 obtains the application i and the server j having the maximum direct ratio a (i, j) among the combinations of the application i and the server j in which the flag f (i, j) is 0. .. The application i and the server j obtained in OP15 are hereinafter referred to as the application ii and the server jj, respectively.

OP16では、制御部15は、アプリケーションiiの要求量r(ii)、サーバjj
の収容量c(jj)、サーバjj上のアプリケーションiiに割り当てられる要求量x(ii,jj)を更新する。mは、r(ii)とc(jj)のうちの小さい方の値である。
In OP16, the control unit 15 uses the requested amount r (ii) of the application ii and the server JJ.
The capacity c (jj) of the above and the required amount x (ii, JJ) allocated to the application ii on the server jj are updated. m is the smaller value of r (ii) and c (jj).

アプリケーションiiの要求量r(ii)は、r(ii)からmを差し引いた値に更新される。サーバjj上のアプリケーションiiに割り当てられる要求量x(ii,jj)は、x(ii,jj)からmを差し引いた値に更新される。サーバjj上のアプリケーションiiに割り当てられる要求量x(ii,jj)は、x(ii,jj)にmを加算した値に更新される。 The requested amount r (ii) of the application ii is updated to a value obtained by subtracting m from r (ii). The requested amount x (ii, jj) allocated to the application ii on the server jj is updated to a value obtained by subtracting m from x (ii, jj). The requested amount x (ii, jj) allocated to the application ii on the server jj is updated to a value obtained by adding m to x (ii, JJ).

OP17では、制御部15は、アプリケーションiiの要求量r(ii)が0となるアプリケーションiiについて、全サーバjjのフラグf(ii,j)(jは全サーバ)をにする。アプリケーションiiの要求量r(ii)が0とならない場合には、OP17の処理は省略される。 In OP17, the control unit 15 sets the flags f (ii, j) (j is all servers) of all servers jj to 1 for the application ii in which the requested amount r (ii) of the application ii is 0. If the requested amount r (ii) of the application ii does not become 0, the processing of OP17 is omitted.

OP18では、制御部15は、サーバjjの収容量c(jj)が0となるサーバjjについて、全アプリケーションiiのフラグf(i,jj)(iは全アプリケーション)をにする。サーバjjの収容量c(jj)が0とならない場合には、OP18の処理は省略される。その後、処理がOP14に進み、OP14からの処理が繰り返し実行される。 In OP18, the control unit 15 sets the flags f (i, JJ) of all applications ii (i is all applications ) to 1 for the server jj in which the capacity c (jj) of the server jj is 0. If the capacity c (jj) of the server jj does not become 0, the processing of OP18 is omitted. After that, the process proceeds to OP14, and the process from OP14 is repeatedly executed.

第2実施形態では、ヒューリスティックアルゴリズムによって、各アプリケーションについて、各サーバに割り当てられる要求量が決定される。その結果は、線形計画法で各アプリケーションについて、各サーバに割り当てられる要求量が求められる場合と同じである。したがって、第2実施形態によっても、サーバ間の処理負荷を分散させつつ、コントローラ間のメッセージの転送を低減させることができる。 In the second embodiment, the heuristic algorithm determines the amount of demand allocated to each server for each application. The result is the same as when linear programming is used to determine the amount of demand allocated to each server for each application. Therefore, according to the second embodiment as well, it is possible to reduce the transfer of messages between the controllers while distributing the processing load between the servers.

また、ヒューリスティックアルゴリズムを用いることによって、より高速に、各アプリケーションについて、各サーバに割り当てられる要求量を求めることができる。 In addition, by using a heuristic algorithm, it is possible to obtain the required amount assigned to each server for each application at a higher speed.

<第3実施形態>
第1実施形態では、線形計画問題の制約条件の一つであるサーバの収容量Cは、全アプリケーションの要求量の総和をコントローラ台数で割った、サーバ間で均等になるような値の定数である。また、第2実施形態においても、サーバjの収容量c(j)の初期値は、全アプリケーションの要求量をコントローラ台数で割った、サーバ間で均等な値である。第3実施形態では、サーバの収容量について、許容範囲を設定する。なお、第3実施形態では、第1実施形態、第2実施形態と共通する説明については、省略される。第3実施形態は、システム構成、ハードウェア構成、および、機能構成は、第1実施形態と同じであることを想定する。
<Third Embodiment>
In the first embodiment, the server capacity C, which is one of the constraints of the linear programming problem, is a constant having a value obtained by dividing the sum of the demands of all applications by the number of controllers and equalizing among the servers. be. Further, also in the second embodiment, the initial value of the accommodation capacity c (j) of the server j is a value equal among the servers obtained by dividing the required amount of all applications by the number of controllers. In the third embodiment, an allowable range is set for the capacity of the server. In the third embodiment, the description common to the first embodiment and the second embodiment will be omitted. The third embodiment assumes that the system configuration, the hardware configuration, and the functional configuration are the same as those of the first embodiment.

第3実施形態のサーバの収容量の制約条件は以下の通りである。

Figure 0006938944
The constraints on the capacity of the server of the third embodiment are as follows.
Figure 0006938944

αは誤差の許容範囲を表す係数である。なお、誤差の表現は、Cに対する倍率で指定する方法に限られず、例えば、Cに誤差の許容範囲αを加算又は減算して表現してもよい。 α is a coefficient representing the allowable range of error. The expression of the error is not limited to the method of specifying by the magnification with respect to C, and may be expressed by adding or subtracting the permissible range α of the error to C, for example.

図17は、第3実施形態に係るサーバjの収容量Cjの一例を示す図である。図17の前提は、第1実施形態の具体例と同じである。例えば、サーバ1の収容量C1は40、サ
ーバ2の収容量C2は35と求められる。
FIG. 17 is a diagram showing an example of the capacity Cj of the server j according to the third embodiment. The premise of FIG. 17 is the same as the specific example of the first embodiment. For example, the capacity C1 of the server 1 is required to be 40, and the capacity C2 of the server 2 is required to be 35.

図18は、図17のサーバjの収容量Cjの値の設定について、線形計画法で算出された、サーバj上のアプリケーションiに割り当てられる要求量Xijの値の一例を示す図である。 FIG. 18 is a diagram showing an example of the value of the required amount Xij assigned to the application i on the server j calculated by the linear programming method for setting the value of the capacity Cj of the server j in FIG.

図19は、図18のサーバj上のアプリケーションiに割り当てられる要求量Xijの値に対応する、負荷分散装置3のラウンドロビンの重みの一例を示す図である。 FIG. 19 is a diagram showing an example of the round robin weight of the load balancer 3 corresponding to the value of the request amount Xij assigned to the application i on the server j of FIG.

図20は、各アプリケーションの要求量の状態が同条件の場合の、図19で示される重みWijが用いられて、各アプリケーションの要求がサーバ1とサーバ2とに振り分けられた場合の、サーバ1とサーバ2とのメッセージ量の一例を示す図である。 FIG. 20 shows the server 1 when the request amount of each application is distributed to the server 1 and the server 2 by using the weight Wij shown in FIG. 19 when the state of the request amount of each application is the same condition. It is a figure which shows an example of the message amount between and a server 2.

図19で示される重みWijが用いられた場合では、サーバ1における全アプリケーションの間接メッセージの量の合計は40、サーバ2における全アプリケーションの間接メッセージの量の合計は30である。具体例では、サーバ1とサーバ2との間接メッセージ量の合計は、30+30=70である。例えば、図13に示される比較例の計測結果と比較すると、比較例の計測結果での間接メッセージ量の合計は、110であるので、コントローラ間で転送されるメッセージ量が削減されていることが分かる。 When the weight Wij shown in FIG. 19 is used, the total amount of indirect messages of all applications on the server 1 is 40, and the total amount of indirect messages of all applications on the server 2 is 30. In a specific example, the total amount of indirect messages between the server 1 and the server 2 is 30 + 30 = 70. For example, when compared with the measurement result of the comparative example shown in FIG. 13, the total amount of indirect messages in the measurement result of the comparative example is 110, so that the amount of messages transferred between the controllers is reduced. I understand.

したがって、第3実施形態によれば、サーバの収容量に誤差の許容範囲を持たせることによって、より効率よく、コントローラ間で転送されるメッセージ(間接メッセージ)の量を低減できる。 Therefore, according to the third embodiment, the amount of messages (indirect messages) transferred between the controllers can be reduced more efficiently by providing an error tolerance in the capacity of the server.

また、第3実施形態では、第1実施形態の線形計画法による例が説明されたが、第2実施形態のヒューリスティックアルゴリズムを用いる場合にも第3実施形態で説明された技術を適用可能である。 Further, in the third embodiment, an example by the linear programming method of the first embodiment has been described, but the technique described in the third embodiment can also be applied when the heuristic algorithm of the second embodiment is used. ..

<第3実施形態の変形例>
サーバ間の性能差が事前に判明している場合には、サーバ間の性能差に応じて収容量Cjを変化させてもよい。サーバ間の性能差に応じて収容量Cjを変化させる場合には、サーバの収容量の制約条件は以下のようになる。

Figure 0006938944
<Modified example of the third embodiment>
If the performance difference between the servers is known in advance, the accommodation capacity Cj may be changed according to the performance difference between the servers. When the capacity Cj is changed according to the performance difference between the servers, the constraint conditions for the capacity of the server are as follows.
Figure 0006938944

αjは、サーバjの性能を表す係数である。最も性能の低いサーバjの係数αjの値が1に設定される。なお、サーバ間の性能差に応じて収容量Cjを変化させる場合のサーバの収容量の制約条件は、サーバの収容量Cに対する倍率で指定する方法に限定されない。例えば、サーバ間の性能差に応じて収容量Cjを変化させる場合のサーバの収容量の制約条件は、サーバの収容量Cに対する加算又は減算で表現されてもよい。 αj is a coefficient representing the performance of the server j. The value of the coefficient αj of the server j having the lowest performance is set to 1. It should be noted that the constraint condition of the capacity of the server when the capacity Cj is changed according to the performance difference between the servers is not limited to the method of specifying by the magnification with respect to the capacity C of the server. For example, the constraint condition of the capacity of the server when the capacity Cj is changed according to the performance difference between the servers may be expressed by addition or subtraction with respect to the capacity C of the server.

<第4実施形態>
第1実施形態、第2実施形態、第3実施形態では、負荷分散装置3のラウンドロビンの重みWijが0と算出されたアプリケーションiのインスタンスは、要求が入力されないにもかかわらず、サーバj上で動作し続ける。要求が入力されないアプリケーションiのサーバj上のインスタンスによって、サーバj上のリソースが消費される。
<Fourth Embodiment>
In the first embodiment, the second embodiment, and the third embodiment, the instance of the application i for which the round robin weight Wij of the load balancer 3 is calculated to be 0 is on the server j even though the request is not input. Continues to work with. The resource on the server j is consumed by the instance on the server j of the application i for which no request is input.

第4実施形態では、算出された負荷分散装置3のラウンドロビンの重みWijが所定の
閾値δ未満であるサーバj上のアプリケーションiのインスタンスについては、動作が停止される。第4実施形態では、第1実施形態、第2実施形態、第3実施形態と共通する説明は省略される。第4実施形態では、システム構成、ハードウェア構成、及び、機能構成は、第1実施形態と同じものが想定される。
In the fourth embodiment, the operation of the instance of the application i on the server j whose calculated round robin weight Wij of the load balancer 3 is less than a predetermined threshold value δ is stopped. In the fourth embodiment, the description common to the first embodiment, the second embodiment, and the third embodiment is omitted. In the fourth embodiment, the system configuration, the hardware configuration, and the functional configuration are assumed to be the same as those in the first embodiment.

例えば、図11で示される例の負荷分散装置3のラウンドロビンの重みWijが取得され、閾値δ=0.01である場合には、制御部15は、サーバ1上のDC#2制御アプリケーションとWAN制御アプリケーションとのインスタンスの動作の停止を判定する。制御部15は、重み通知部17を通じて、重みWijとともに、サーバ1上のDC#2制御アプリケーションとWAN制御アプリケーションとのインスタンスの動作の停止を、負荷分散装置3に通知する。 For example, when the round robin weight Wij of the load balancer 3 shown in FIG. 11 is acquired and the threshold value δ = 0.01, the control unit 15 and the DC # 2 control application on the server 1 Determines whether to stop the operation of the instance with the WAN control application. The control unit 15 notifies the load balancer 3 of the stop of the operation of the instances of the DC # 2 control application and the WAN control application on the server 1 together with the weight Wij through the weight notification unit 17.

図21は、第4実施形態に係る制御部15の処理の、負荷分散装置3のラウンドロビンの重みの決定処理のフローチャートの一例である。図21に示される処理は、サーバ1の制御部15に、サーバ1及びサーバ2の要求量及びメッセージ量の情報が入力される周期と同じ周期で繰り返し実行される。図21に示される処理の実行主体は、CPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。 FIG. 21 is an example of a flowchart of the round robin weight determination process of the load balancer 3 in the process of the control unit 15 according to the fourth embodiment. The process shown in FIG. 21 is repeatedly executed in the same cycle as the cycle in which the information on the request amount and the message amount of the server 1 and the server 2 is input to the control unit 15 of the server 1. The execution subject of the process shown in FIG. 21 is the CPU 101, but for convenience, the control unit 15 which is a functional component will be described as the main body.

OP21では、制御部15は、サーバとアプリケーションとの組合せごとの、要求量、直接メッセージ量、間接メッセージ量、を情報収集部14から取得する。 In OP21, the control unit 15 acquires the request amount, the direct message amount, and the indirect message amount for each combination of the server and the application from the information collection unit 14.

OP22では、制御部15は、サーバとアプリケーションとの組合せごとの直接比率Aijを求める。OP23では、制御部15は、アプリケーションごとに発生要求量Riを求める。OP24では、制御部15は、サーバの収容量Cを求める。OP25では、制御部15は、線形計画問題を解く。OP26では、制御部15は、線形計画問題を解いて得られた各アプリケーションの各サーバへ割り当てる要求量から、各アプリケーションについて、各サーバへ割り当てられる要求の割合を、負荷分散装置3のラウンドロビンの重みWijとして、算出する。 In OP22, the control unit 15 obtains the direct ratio Aij for each combination of the server and the application. In OP23, the control unit 15 obtains the generated request amount Ri for each application. In OP24, the control unit 15 obtains the capacity C of the server. In OP25, the control unit 15 solves a linear programming problem. In OP26, the control unit 15 determines the ratio of the requests assigned to each server for each application from the request amount assigned to each server of each application obtained by solving the linear programming problem in the round robin of the load balancer 3. Calculated as the weight Wij.

OP27では、制御部15は、閾値δ未満の重みWijがあるか否かを判定する。閾値δ未満の重みWijがある場合には(OP27:YES)、処理がOP28に進む。閾値δ未満の重みWijがない場合には(OP27:NO)、処理がOP29に進む。 In OP27, the control unit 15 determines whether or not there is a weight Wij less than the threshold value δ. If there is a weight Wij less than the threshold value δ (OP27: YES), the process proceeds to OP28. If there is no weight Wij less than the threshold value δ (OP27: NO), the process proceeds to OP29.

OP28では、制御部15は、閾値δ未満の重みWijに対応するサーバj上のアプリケーションiのインスタンスの停止を負荷分散装置3に通知する。 In OP28, the control unit 15 notifies the load balancer 3 that the instance of the application i on the server j corresponding to the weight Wij less than the threshold value δ is stopped.

OP29では、制御部15は、ラウンドロビンの重みWijを負荷分散装置3に通知する。その後、図21に示される処理が終了する。 In OP29, the control unit 15 notifies the load balancer 3 of the round robin weight Wij. After that, the process shown in FIG. 21 ends.

第4実施形態では、算出された負荷分散装置3のラウンドロビンの重みWijが閾値δ未満である場合には、該当のサーバj上のアプリケーションiのインスタンスの動作が停止される。これによって、サーバjのリソースの消費を低減することができる。 In the fourth embodiment, when the calculated round robin weight Wij of the load balancer 3 is less than the threshold value δ, the operation of the instance of the application i on the corresponding server j is stopped. As a result, the resource consumption of the server j can be reduced.

なお、第4実施形態では、第1実施形態に対して適用する場合について説明されたが、これに限定されず、第4実施形態で説明された技術は、第2実施形態、第3実施形態にも適用可能である。 In the fourth embodiment, the case of applying to the first embodiment has been described, but the technique described in the fourth embodiment is not limited to this, and the techniques described in the fourth embodiment are the second embodiment and the third embodiment. It is also applicable to.

<第5実施形態>
第5実施形態では、各アプリケーションの要求は、各アプリケーションについて直接比率が最も高いサーバに割り当てられるように、負荷分散装置3のラウンドロビンの重みが
決定される。
<Fifth Embodiment>
In the fifth embodiment, the round robin weight of the load balancer 3 is determined so that the request of each application is directly assigned to the server having the highest ratio for each application.

図22は、第5実施形態に係る各アプリケーションについて、直接比率が最も高いサーバの一例を示す図である。図22に示される図は、各アプリケーションについて、各サーバの直接比率が図7に示される値である場合の例である。制御部15は、各アプリケーションについて、各サーバの直接比率を算出すると、各アプリケーションについて、直接比率が最も高いサーバを選択する。直接比率が最も高いサーバが複数存在する場合には、例えば、制御部15は、ランダムにいずれかのサーバを選択する。 FIG. 22 is a diagram showing an example of a server having the highest direct ratio for each application according to the fifth embodiment. The figure shown in FIG. 22 is an example in the case where the direct ratio of each server is the value shown in FIG. 7 for each application. When the control unit 15 calculates the direct ratio of each server for each application, the control unit 15 selects the server having the highest direct ratio for each application. When there are a plurality of servers having the highest direct ratio, for example, the control unit 15 randomly selects one of the servers.

図7において、DC#1制御アプリケーションで直接比率が最も高いのは、サーバ1であるので、図22ではサーバ1が選択されている。図7において、DC#2制御アプリケーションで直接比率が最も高いのは、サーバ2であるので、図22ではサーバ2が選択されている。図7において、WAN制御アプリケーションでは、サーバ1、サーバ2でともに直接比率1/2と同じ値であるので、図22では、ランダムに選択された結果、サーバ1が選択されている。 In FIG. 7, the server 1 has the highest direct ratio in the DC # 1 control application, so the server 1 is selected in FIG. 22. In FIG. 7, the server 2 has the highest direct ratio in the DC # 2 control application, so the server 2 is selected in FIG. 22. In FIG. 7, in the WAN control application, both the server 1 and the server 2 have the same value as the direct ratio 1/2. Therefore, in FIG. 22, the server 1 is selected as a result of being randomly selected.

したがって、図22では、DC#1制御アプリケーションの要求はすべてサーバ1に割り振られることが示される。DC#2制御アプリケーションの要求はすべてサーバ2に割り振られることが示される。WAN制御アプリケーションの要求はすべてサーバ1に割り振られることが示される。 Therefore, in FIG. 22, it is shown that all the requests of the DC # 1 control application are allocated to the server 1. It is shown that all requests of the DC # 2 control application are allocated to server 2. It is shown that all WAN control application requests are allocated to server 1.

図23は、各アプリケーションの要求量の状態が同条件の場合の、比較例でのサーバ1とサーバ2とのメッセージ量と、各アプリケーションについて、図22で示されるサーバに要求が振り分けられた場合の、サーバ1とサーバ2とのメッセージ量の一例を示す図である。図23に示される比較例は、図13に示される比較例と同じ、要求が、サーバ1とサーバ2との間で均等に振り分けられた場合の例である。 FIG. 23 shows the amount of messages between the server 1 and the server 2 in the comparative example when the state of the request amount of each application is the same, and the case where the request is distributed to the server shown in FIG. 22 for each application. It is a figure which shows an example of the message amount between the server 1 and the server 2. The comparative example shown in FIG. 23 is the same as the comparative example shown in FIG. 13 when the request is evenly distributed between the server 1 and the server 2.

各アプリケーションについて、図22で示されるサーバに要求が割り振られた場合では、サーバ1における全アプリケーションの間接メッセージの量の合計は50、サーバ2における全アプリケーションの間接メッセージの量の合計は20である。具体例では、サーバ1とサーバ2との間接メッセージ量の合計は、50+20=70である。比較例のサーバ1とサーバ2との間接メッセージ量の合計は、110であるので、第5実施形態では、コントローラ間のメッセージの転送が低減されていることが示されている。 For each application, when requests are allocated to the server shown in FIG. 22, the total amount of indirect messages of all applications on server 1 is 50, and the total amount of indirect messages of all applications on server 2 is 20. .. In a specific example, the total amount of indirect messages between the server 1 and the server 2 is 50 + 20 = 70. Since the total amount of indirect messages between the server 1 and the server 2 in the comparative example is 110, it is shown that the transfer of messages between the controllers is reduced in the fifth embodiment.

したがって、第5実施形態によれば、各アプリケーションについて、直接比率が最も高いサーバにすべての要求を割り当てる、コントローラ間で転送されるメッセージ(間接メッセージ)の量を低減できる。 Therefore, according to the fifth embodiment, it is possible to reduce the amount of messages (indirect messages) transferred between the controllers, which allocate all requests to the server having the highest direct ratio for each application.

<その他>
負荷分散装置3のラウンドロビンの重みを、分散型通信制御システム100全体での、各コントローラがマスタとなっているスイッチの数の割合としてもよい。この場合には、例えば、制御部15は、マスタ情報から、各サーバについて、マスタとなっているスイッチの割合を算出し、算出した割合を負荷分散装置3に通知する。これによって、マスタとなっているスイッチの数が多いコントローラほどより多くの要求が振り分けられるようになる。また、この場合には、アプリケーションが設定対象とするスイッチのマスタであるコントローラの偏りは考慮されない。
<Others>
The round robin weight of the load balancer 3 may be the ratio of the number of switches whose masters are each controller in the distributed communication control system 100 as a whole. In this case, for example, the control unit 15 calculates the ratio of the switches that are the masters for each server from the master information, and notifies the load balancer 3 of the calculated ratio. As a result, the larger the number of switches that are the master, the more requests can be distributed. Further, in this case, the bias of the controller, which is the master of the switch to be set by the application, is not taken into consideration.

<第6実施形態>
第6実施形態では、スイッチ9のマスタとなるコントローラを他のコントローラに変更させることによって、アプリケーションの設定領域内のスイッチ9において、コントロー
ラがマスタを担当するスイッチ9の数に偏りを生じさせる。第6実施形態では、第1〜第5実施形態と重複する説明は省略される。
<Sixth Embodiment>
In the sixth embodiment, by changing the controller that becomes the master of the switch 9 to another controller, the number of switches 9 for which the controller is in charge of the master is biased in the switch 9 in the setting area of the application. In the sixth embodiment, the description overlapping with the first to fifth embodiments is omitted.

例えば、図4に示される分散型通信制御システム100において、WAN制御アプリケーションの設定領域内には、サーバ1をマスタとするスイッチが2台、サーバ2をマスタとするスイッチが2台存在している。この場合、WAN制御アプリケーションの設定領域内では、サーバ1とサーバ2との間でコントローラがマスタを担当するスイッチの数に偏りがない。 For example, in the distributed communication control system 100 shown in FIG. 4, there are two switches whose master is the server 1 and two switches whose master is the server 2 in the setting area of the WAN control application. .. In this case, within the setting area of the WAN control application, there is no bias in the number of switches in which the controller is in charge of the master between the server 1 and the server 2.

コントローラがマスタを担当するスイッチ9の数に偏りがない場合には、負荷分散装置3のWAN制御アプリケーションについてのラウンドロビンの重みがどのように設定されても、コントローラ間のメッセージ量の削減効果が小さい。なぜなら、例えば、各スイッチ9へメッセージが均等に送信されることを想定する場合、ラウンドロビンの重みがどのような値であっても、各コントローラにおいて、振り分けられた要求量に応じたメッセージ量が均等にコントローラ間で分配されるためである。 If the number of switches 9 in which the controller is in charge of the master is not biased, the effect of reducing the amount of messages between the controllers can be obtained regardless of how the round robin weight is set for the WAN control application of the load balancer 3. small. This is because, for example, assuming that messages are evenly transmitted to each switch 9, the amount of messages corresponding to the distributed request amount in each controller is set regardless of the value of the round robin weight. This is because it is evenly distributed among the controllers.

第6実施形態では、スイッチ群のマスタを特定のコントローラに意図的に偏らせることによって、コントローラ間のメッセージの削減効果を大きくする。ただし、システム内には、複数のアプリケーションが動作している。そのため、第6実施形態では、全てのアプリケーションのコントローラ間メッセージの総量が削減されるように、マスタを変更する対象となるスイッチが決定される。 In the sixth embodiment, the master of the switch group is intentionally biased to a specific controller to increase the effect of reducing messages between controllers. However, multiple applications are running in the system. Therefore, in the sixth embodiment, the switch to be changed to the master is determined so that the total amount of inter-controller messages of all applications is reduced.

また、スイッチ9のマスタを変更してコントローラ間メッセージ量が削減されても、特定のコントローラにメッセージの処理が集中してしまうと、当該コントローラの負荷が大きくなる。この場合、システム全体としてのパフォーマンスが低下してしまう可能性がある。したがって、第6実施形態では、コントローラ間の負荷が均等になるように、マスタを変更する対象となるスイッチと当該スイッチの変更後のマスタとが決定される。 Further, even if the master of the switch 9 is changed to reduce the amount of messages between controllers, if the message processing is concentrated on a specific controller, the load on the controller becomes large. In this case, the performance of the entire system may deteriorate. Therefore, in the sixth embodiment, the switch to be changed and the changed master of the switch are determined so that the load between the controllers is equalized.

具体的には、各コンローラからスイッチ9へ送信されるメッセージ数が均等になるように、さらに、各コントローラに振り分けられる要求量が均等になるように、マスタを変更する対象となるスイッチ9と当該スイッチ9の変更後のマスタとが決定される。 Specifically, as the number of messages sent from the Con preparative roller to the switch 9 is equalized and further, as the amount required to be allocated to each controller is equalized, the switch 9 for which you want to change the master And the changed master of the switch 9 are determined.

第6実施形態では、マスタを変更する対象となるスイッチと当該スイッチの変更後のマスタとの決定を、サーバ1が行う。ただし、マスタを変更する対象のスイッチと当該スイッチの変更後のマスタとの決定を行うのは、サーバ1に限定されず、サーバ2、負荷分散装置3のいずれが行ってもよい。 In the sixth embodiment, the server 1 determines the switch to be changed and the master after the change of the switch. However, the determination of the switch for which the master is to be changed and the master after the change of the switch is not limited to the server 1, and either the server 2 or the load balancer 3 may make the determination.

第6実施形態では、分散型通信制御システム100のシステム構成、サーバ1のハードウェア構成及び機能構成は、第1実施形態と同様である。ただし、第6実施形態で説明される技術は、第2〜第5実施形態のサーバ1にも適用可能である。 In the sixth embodiment, the system configuration of the distributed communication control system 100, the hardware configuration and the functional configuration of the server 1 are the same as those of the first embodiment. However, the technique described in the sixth embodiment can also be applied to the server 1 of the second to fifth embodiments.

第6実施形態では、サーバ1の制御部15は、マスタを変更する対象となるスイッチ9と、当該スイッチ9の変更後のマスタとを決定する。具体的には、制御部15は、システム内の全スイッチからマスタの変更対象となる1又は複数のスイッチ9と変更後のマスタとの組み合わせの事例全てについて、負荷分散装置3のラウンドロビンの重みWijを求め、求めた重みWijに従った各アプリケーションの要求の振り分けのシミュレーションを行う。シミュレーションの結果として、コントローラ間メッセージ量、コントローラ間におけるコンローラからスイッチ9への送信メッセージ量の偏りが取得される。 In the sixth embodiment, the control unit 15 of the server 1 determines a switch 9 for which the master is to be changed and a master after the change of the switch 9. Specifically, the control unit 15 determines the round robin weight of the load balancer 3 for all cases of the combination of one or a plurality of switches 9 to be changed from all the switches in the system and the changed master. Wij is obtained, and the distribution of requests of each application according to the obtained weight Wij is simulated. As a result of the simulation, the bias of the message amount between the controllers and the message amount transmitted from the controller to the switch 9 between the controllers is acquired.

シミュレーションは、所定の期間内に発生した、各アプリケーションの、発生要求量、
スイッチ9へ送信されたメッセージの情報に基づいて行われる。シミュレーションに用いられる上述の情報は、他のコントローラ及び情報収集部14によって収集される。
The simulation is based on the required amount of each application that occurred within a predetermined period.
This is done based on the information in the message sent to the switch 9. The above-mentioned information used in the simulation is collected by another controller and the information collecting unit 14.

制御部15は、シミュレーション結果から、コントローラからスイッチ9への送信メッセージ量のコントローラ間での偏りが所定の閾値より小さい事例のうち、コントローラ間メッセージ量が少ない事例を選択する。制御部15は、選択した事例に基づいて、マスタを変更する対象となるスイッチ9と当該スイッチ9の変更後のマスタとを決定する。マスタを変更する対象となるスイッチ9と当該スイッチ9の変更後のマスタとを決定する処理を、以降、マスタ変更決定処理と称する。 From the simulation result, the control unit 15 selects a case in which the amount of messages transmitted from the controller to the switch 9 is smaller than a predetermined threshold value among the cases in which the amount of messages transmitted between the controllers is small. The control unit 15 determines the switch 9 to be changed and the changed master of the switch 9 based on the selected case. The process of determining the switch 9 for which the master is to be changed and the changed master of the switch 9 is hereinafter referred to as a master change determination process.

<マスタ変更決定処理の詳細>
図27は、第6実施形態に係る具体例において想定される分散型通信制御システム100Aの一例を示す図である。具体例に係る分散型通信制御システム100Aには、2台のコントローラ#1、コントローラ#2が含まれる。また、分散型通信制御システム100Aには、7台のスイッチ#1〜#7が含まれる。
<Details of master change decision processing>
FIG. 27 is a diagram showing an example of the distributed communication control system 100A assumed in the specific example according to the sixth embodiment. The distributed communication control system 100A according to the specific example includes two controllers # 1 and a controller # 2. Further, the distributed communication control system 100A includes seven switches # 1 to # 7.

コントローラ#1、コントローラ#2は、それぞれ、サーバ1、サーバ2に存在するインスタンスであるとする。また、コントローラ#1、コントローラ#2を搭載するサーバ1、サーバ2には、ともに、アプリケーション#1、アプリケーション#2のインスタンスが存在することとする。以降、サーバとコントローラとの文言を区別することなく用いる。例えば、コントローラ#1と称する場合には、サーバ1を示すこととする。サーバ1と称する場合には、コントローラ#1が示されることとする。 It is assumed that the controller # 1 and the controller # 2 are instances existing in the server 1 and the server 2, respectively. Further, it is assumed that the instances of application # 1 and application # 2 exist in both the server 1 and the server 2 on which the controller # 1 and the controller # 2 are mounted. Hereinafter, the wording of the server and the controller will be used without distinction. For example, when it is referred to as controller # 1, it means server 1. When referred to as server 1, controller # 1 is indicated.

また、第6実施形態の具体例では、サーバ1、すなわち、コントローラ#1を搭載するサーバ1が、マスタ変更決定処理を行うことを想定する。マスタ変更決定処理は、マスタであるコントローラを変更する対象となるスイッチ9と当該スイッチ9の変更後のマスタとを決定する処理である。ただし、マスタ変更決定処理を実行する装置は、サーバ1に限定されず、サーバ2、負荷分散装置3であってもよい。 Further, in the specific example of the sixth embodiment, it is assumed that the server 1, that is, the server 1 on which the controller # 1 is mounted performs the master change determination process. The master change determination process is a process of determining a switch 9 for which a controller that is a master is to be changed and a master after the change of the switch 9. However, the device that executes the master change determination process is not limited to the server 1, and may be the server 2 and the load balancer 3.

図28は、第6実施形態の具体例に係るマスタ情報の一例である。マスタ情報には、分散型通信制御システム100A内の各スイッチのマスタとなるコントローラの情報が格納されている。マスタ情報は、サーバ1のマスタ情報記憶部18Cに格納されている。マスタ情報は、分散型通信制御システム100Aの管理者によって予め設定されてもよいし、コントローラ間のネゴシエーションによって取得されてもよい。 FIG. 28 is an example of master information according to a specific example of the sixth embodiment. The master information stores information on the controller that is the master of each switch in the distributed communication control system 100A. The master information is stored in the master information storage unit 18C of the server 1. The master information may be preset by the administrator of the distributed communication control system 100A, or may be acquired by negotiation between the controllers.

図28中では、コントローラ#1、コントローラ#2は、それぞれ、C#1、C#2と表記されている。スイッチ#1〜スイッチ#7は、それぞれ、SW#1〜SW#7と表記されている。以降の図においても同様である。 In FIG. 28, the controller # 1 and the controller # 2 are described as C # 1 and C # 2, respectively. Switches # 1 to switch # 7 are described as SW # 1 to SW # 7, respectively. The same applies to the following figures.

具体例に係る分散型通信制御システム100Aでは、コントローラ#1をマスタとするスイッチは、スイッチ#1、#2、#5、#6である。コントローラ#2をマスタとするスイッチ9は、スイッチ#3、#4、#7である。 In the distributed communication control system 100A according to the specific example, the switches whose master is the controller # 1 are switches # 1, # 2, # 5, and # 6. The switches 9 whose master is the controller # 2 are switches # 3, # 4, and # 7.

具体例に係るマスタ変更決定処理において、分散型通信制御システム100Aにおいてマスタが変更されるスイッチ数を1台に限定することを前提とする。ただし、マスタが変更されるスイッチ数は1台に限定されず、複数台のスイッチについてマスタが変更されるようにしてもよい。 In the master change determination process according to the specific example, it is premised that the number of switches whose master is changed in the distributed communication control system 100A is limited to one. However, the number of switches whose masters are changed is not limited to one, and the masters may be changed for a plurality of switches.

(ステップ1)
サーバ1の制御部15は、現在のマスタ情報に基づいて、マスタの変更の対象となるス
イッチの選択と選択されたスイッチの変更後のマスタとの組み合わせの事例全てについて、各事例を示すマスタ変更情報を生成する。具体例では、コントローラが2台、スイッチが7台、マスタが変更されるスイッチは1台であることが前提であるので、マスタ変更情報は、(スイッチ数)×(コントローラ数−1)=7×1=7個作成される。マスタ変更情報は「事例情報」の一例である。ステップ1の処理は、「前記複数の宛先装置から、1又は複数の宛先装置を選択する事例を示す事例情報を複数生成」することの一例である。
(Step 1)
Based on the current master information, the control unit 15 of the server 1 shows each case of the selection of the switch to be changed and the combination of the selected switch with the changed master. Generate information. In the specific example, since it is assumed that there are two controllers, seven switches, and one switch whose master is changed, the master change information is (number of switches) × (number of controllers-1) = 7. × 1 = 7 are created. The master change information is an example of "case information". The process of step 1 is an example of "generating a plurality of case information indicating a case of selecting one or a plurality of destination devices from the plurality of destination devices".

図29は、第6実施形態の具体例に係るマスタ変更情報の一例を示す図である。マスタ変更情報は、マスタとなるコントローラを変更する対象となるスイッチ9の選択と当該選択されたスイッチ9の変更後のマスタとの組み合わせの事例に関する情報である。図29に示される例では、マスタ変更情報には、マスタ変更情報の識別情報、マスタを変更する対象となるスイッチ9の識別情報と、当該スイッチ9の変更後のマスタとなるコントローラの識別情報とが含まれている。 FIG. 29 is a diagram showing an example of master change information according to a specific example of the sixth embodiment. The master change information is information regarding an example of a combination of the selection of the switch 9 for which the controller to be changed is to be changed and the changed master of the selected switch 9. In the example shown in FIG. 29, the master change information includes the identification information of the master change information, the identification information of the switch 9 to be changed to the master, and the identification information of the controller to be the master after the change of the switch 9. It is included.

図29に示される例では、マスタ変更情報#1では、マスタ変更対象のスイッチ9はスイッチ#1であり、スイッチ#1の変更後のマスタはコントローラ#2である。マスタ変更情報#2では、マスタ変更対象のスイッチ9はスイッチ#2であり、スイッチ#2の変更後のマスタはコントローラ#2である。マスタ変更情報#3では、マスタ変更対象のスイッチ9はスイッチ#3であり、スイッチ#3の変更後のマスタはコントローラ#1である。マスタ変更情報#4では、マスタ変更対象のスイッチ9はスイッチ#4であり、スイッチ#4の変更後のマスタはコントローラ#1である。マスタ変更情報#5では、マスタ変更対象のスイッチ9はスイッチ#5であり、スイッチ#5の変更後のマスタはコントローラ#2である。マスタ変更情報#6では、マスタ変更対象のスイッチ9はスイッチ#6であり、スイッチ#6の変更後のマスタはコントローラ#2である。マスタ変更情報#7では、マスタ変更対象のスイッチ9はスイッチ#7であり、スイッチ#7の変更後のマスタはコントローラ#1である。 In the example shown in FIG. 29, in the master change information # 1, the switch 9 to be changed is the switch # 1, and the changed master of the switch # 1 is the controller # 2. In the master change information # 2, the switch 9 to be changed is the switch # 2, and the master after the change of the switch # 2 is the controller # 2. In the master change information # 3, the switch 9 to be changed is the switch # 3, and the master after the change of the switch # 3 is the controller # 1. In the master change information # 4, the switch 9 to be changed is the switch # 4, and the master after the change of the switch # 4 is the controller # 1. In the master change information # 5, the switch 9 to be changed is the switch # 5, and the master after the change of the switch # 5 is the controller # 2. In the master change information # 6, the switch 9 to be changed is the switch # 6, and the master after the change of the switch # 6 is the controller # 2. In the master change information # 7, the switch 9 to be changed is the switch # 7, and the master after the change of the switch # 7 is the controller # 1.

例えば、コントローラが2台、マスタ変更対象のスイッチの数が最大で2台と設定されている場合には、図29に示されるマスタ変更情報に加えて、7台から2台のスイッチ9
を選ぶ組合せの数(21通り)のマスタ変更情報が作成される。なお、マスタ変更情報は、一時的に主記憶装置102内の記憶領域に保持され、マスタ変更決定処理が終了すると、削除される。
For example, when the number of controllers is set to 2 and the number of switches to be changed to the master is set to 2 at the maximum, 7 to 2 switches 9 are added to the master change information shown in FIG. 29.
Master change information is created for the number of combinations (21 combinations) to be selected. The master change information is temporarily stored in the storage area in the main storage device 102, and is deleted when the master change determination process is completed.

(ステップ2)
サーバ1の制御部15は、ステップ1で求めたマスタ変更情報全てについて、マスタ変更情報が適用された場合、すなわち、マスタ変更対象のスイッチ9のマスタをマスタ変更情報が示すコントローラに変更した場合のアプリケーションの要求の振り分けのシミュレーションを行う。制御部15は、シミュレーションの結果として、例えば、コントローラ間メッセージ量と、コントローラからスイッチ9への送信メッセージ量の分散値とを取得する。シミュレーションの手順は以下の通りである。コントローラからスイッチ9への送信メッセージ量の分散値、標準偏差、最大値と最小値との差等のばらつきを示す指標値は、「前記複数の制御装置それぞれから制御対象とする複数の宛先装置へ送信されるメッセージ量の前記複数の制御装置間でのばらつきを示す指標値」の一例である。
(Step 2)
When the master change information is applied to all the master change information obtained in step 1, the control unit 15 of the server 1 changes the master of the switch 9 to be master-changed to the controller indicated by the master change information. Simulate the distribution of application requirements. As a result of the simulation, the control unit 15 acquires, for example, the amount of messages between controllers and the distributed value of the amount of messages transmitted from the controller to the switch 9. The simulation procedure is as follows. The index value indicating the variation such as the dispersion value of the amount of messages transmitted from the controller to the switch 9, the standard deviation, and the difference between the maximum value and the minimum value is "from each of the plurality of control devices to a plurality of destination devices to be controlled. This is an example of "an index value indicating a variation in the amount of transmitted messages among the plurality of control devices".

(ステップ2−1)
サーバ1の制御部15は、スイッチリストを取得する。スイッチリストは、アプリケーションが所定期間内に設定したスイッチのリストである。アプリケーションが設定したスイッチとは、例えば、アプリケーションの要求に応じてコントローラによって作成されたメッセージの送信先のスイッチである。または、アプリケーションが設定したスイッチとは、例えば、アプリケーションの要求に応じてコントローラによって作成されたメッセー
ジを受信したスイッチである。
(Step 2-1)
The control unit 15 of the server 1 acquires the switch list. The switch list is a list of switches set by the application within a predetermined period. The switch set by the application is, for example, the switch to which the message created by the controller is sent in response to the request of the application. Alternatively, the switch set by the application is, for example, a switch that has received a message created by the controller in response to a request from the application.

図30は、第6実施形態の具体例に係るスイッチリストの一例を示す図である。具体例ではアプリケーションは2つであることが想定されているので、図30では、アプリケーション#1とアプリケーション#2とのスイッチリストが示されている。 FIG. 30 is a diagram showing an example of a switch list according to a specific example of the sixth embodiment. Since it is assumed that there are two applications in the specific example, FIG. 30 shows a switch list between application # 1 and application # 2.

スイッチリストに含まれるスイッチの識別情報は、該当するアプリケーションの要求に応じてコントローラで作成されてスイッチ9に送信された1つのメッセージにつき1つ含まれる。スイッチリストに含まれるスイッチの識別情報は、該当するアプリケーションの要求に応じてコントローラで作成されたメッセージの送信先のスイッチの識別情報である。例えば、図30に示される例において、アプリケーション#1のスイッチリストには、SW#1、SW#1、SW#5、SW#4...が格納されている。これは、アプリケーション#1において、SW#1に送信されたメッセージ、SW#1に送信されたメッセージ、SW#5に送信されたメッセージ、SW#4に送信されたメッセージが発生したことを示す。 The switch identification information included in the switch list is included once for each message created by the controller and sent to the switch 9 in response to the request of the corresponding application. The switch identification information included in the switch list is the identification information of the switch to which the message created by the controller is sent in response to the request of the corresponding application. For example, in the example shown in FIG. 30, the switch list of application # 1 includes SW # 1, SW # 1, SW # 5, and SW # 4. .. .. Is stored. This indicates that in application # 1, a message transmitted to SW # 1, a message transmitted to SW # 1, a message transmitted to SW # 5, and a message transmitted to SW # 4 have occurred.

各アプリケーションのスイッチリストに含まれるメッセージの送信先のスイッチの情報のうち、自コントローラに関するメッセージの送信先のスイッチの情報は、例えば、メッセージ量記憶部18Bに蓄積されている。自コントローラに関するメッセージの送信先のスイッチの情報とは、自コントローラが送信したメッセージの送信先のスイッチ9の情報である。情報収集部14は、メッセージ量記憶部18Bから、自コントローラに関するメッセージの送信先のスイッチの情報を読み出し、制御部15に出力する。 Among the information of the switch of the destination of the message included in the switch list of each application, the information of the switch of the destination of the message regarding the own controller is stored in, for example, the message amount storage unit 18B. The information of the switch of the transmission destination of the message regarding the own controller is the information of the switch 9 of the transmission destination of the message transmitted by the local controller. The information collecting unit 14 reads the information of the switch to which the message regarding the own controller is transmitted from the message amount storage unit 18B, and outputs the information to the control unit 15.

各アプリケーションのメッセージの送信先のスイッチの情報のうち、他のコントローラに関するメッセージの送信先のスイッチの情報は、例えば、各コントローラから計測結果受信部16を通じて受信されることによって取得される。他のコントローラに関するメッセージの送信先のスイッチの情報は、他コントローラが送信したメッセージの送信先のスイッチ9の情報である。なお、スイッチリストは、一時的に主記憶装置102内の記憶領域に保持され、マスタ変更決定処理が終了すると、削除される。 Among the information of the switch of the destination of the message of each application, the information of the switch of the destination of the message regarding the other controller is acquired by being received from each controller through the measurement result receiving unit 16, for example. The information of the switch of the destination of the message regarding the other controller is the information of the switch 9 of the destination of the message transmitted by the other controller. The switch list is temporarily stored in the storage area in the main storage device 102, and is deleted when the master change determination process is completed.

スイッチリストに含まれるスイッチの識別情報は、1つのメッセージの送信先を示す情報であり、1つのメッセージに対応している。したがって、スイッチリストには、該当するアプリケーションの要求に応じて作成されたメッセージに関する情報が含まれている、と言ってもよい。そのため、以降、スイッチリストに含まれる要素(スイッチの識別情報)を、メッセージと表現することもある。 The switch identification information included in the switch list is information indicating the destination of one message, and corresponds to one message. Therefore, it can be said that the switch list contains information about the message created in response to the request of the corresponding application. Therefore, thereafter, the element (switch identification information) included in the switch list may be expressed as a message.

(ステップ2−2)
サーバ1の制御部15は、アプリケーションiとコントローラjとの全ての組合せについて、直接比率Aijを求める。第6実施形態では、直接比率Aijは、第1実施形態と同様にして求められる。
(Step 2-2)
The control unit 15 of the server 1 directly obtains the ratio Aij for all combinations of the application i and the controller j. In the sixth embodiment, the direct ratio Aij is obtained in the same manner as in the first embodiment.

図31は、第6実施形態の具体例に係るアプリケーションiのコントローラjにおける直接比率Aijの一例を示す図である。具体例では、コントローラは2台、アプリケーションは2つであるので、直接比率Aijは2×2の行列となる。 FIG. 31 is a diagram showing an example of the direct ratio Aij in the controller j of the application i according to the specific example of the sixth embodiment. In a specific example, since there are two controllers and two applications, the direct ratio Aij is a 2 × 2 matrix .

図31に示される例では、アプリケーション#1のコントローラ#1における直接比率A11は、1/4である。アプリケーション#1のコントローラ#2における直接比率A12は、3/4である。アプリケーション#2のコントローラ#1における直接比率A21は、3/5である。アプリケーション#2のコントローラ#2における直接比率A22は、2/5である。 In the example shown in FIG. 31, the direct ratio A11 in controller # 1 of application # 1 is 1/4. The direct ratio A12 in controller # 2 of application # 1 is 3/4. The direct ratio A21 in controller # 1 of application # 2 is 3/5. The direct ratio A22 in controller # 2 of application # 2 is 2/5.

(ステップ2−3)
サーバ1の制御部15は、所定期間内の各アプリケーションの発生要求量と直接比率Aijとに基づいて、コントローラ間メッセージ量を最小とする負荷分散装置3のラウンドロビンの重みWijを求める。所定期間内の各アプリケーションの発生要求量は、情報収集部14から取得される。負荷分散装置3のラウンドロビンの重みWijは、第1実施形態又は第2実施形態と同様にして求められる。ステップ2−3の処理は、「生成した前記複数の事例情報のそれぞれについて、選択された宛先装置を制御対象とする制御装置を他の制御装置に変更した場合について、前記重みを決定」することの一例である。
(Step 2-3)
The control unit 15 of the server 1 obtains the round robin weight Wij of the load balancer 3 that minimizes the message amount between controllers based on the generation request amount of each application within a predetermined period and the direct ratio Aij. The generated request amount of each application within a predetermined period is acquired from the information collecting unit 14. The round robin weight Wij of the load balancer 3 is obtained in the same manner as in the first embodiment or the second embodiment. The process of step 2-3 is to "determine the weight for each of the generated plurality of case information when the control device whose control target is the selected destination device is changed to another control device". This is an example.

図32は、第6実施形態の具体例に係るアプリケーションの発生要求量の一例を示す図である。具体例では、アプリケーション#1の発生要求量を20とする。アプリケーション#2の発生要求量を10とする。 FIG. 32 is a diagram showing an example of an application generation request amount according to a specific example of the sixth embodiment. In a specific example, the generation request amount of application # 1 is set to 20. Let the generation request amount of application # 2 be 10.

図33は、第6実施形態の具体例に係る負荷分散装置3のラウンドロビンの重みWijの一例である。具体例では、アプリケーション#1に関して、コントローラ#1への重みW11は1/4、コントローラ#2への重みW12は3/4である。アプリケーション#2に関して、コントローラ#1への重みW21は1、コントローラ#2への重みW22は0である。 FIG. 33 is an example of the round robin weight Wij of the load balancer 3 according to the specific example of the sixth embodiment. In a specific example, for application # 1, the weight W11 to controller # 1 is 1/4 and the weight W12 to controller # 2 is 3/4. For application # 2, the weight W21 for controller # 1 is 1, and the weight W22 for controller # 2 is 0.

(ステップ2−4)
サーバ1の制御部15は、スイッチリスト、負荷分散装置3のラウンドロビンの重みWijを用いて、各マスタ変更情報が適用された場合について、各アプリケーションからの要求の振り分けのシミュレーションを行う。例えば、シミュレーションは、以下のように行われる。
(Step 2-4)
The control unit 15 of the server 1 uses the switch list and the round robin weight Wij of the load balancer 3 to simulate the distribution of requests from each application when each master change information is applied. For example, the simulation is performed as follows.

制御部15は、アプリケーションiについて、スイッチリスト内の対象メッセージの送信先であるスイッチ9のマスタであるコントローラk(k:0を含まない正の整数)を、対象のマスタ変更情報とマスタ情報とに基づいて取得する。すなわち、対象メッセージの送信先であるスイッチ9のマスタであるコントローラkは、マスタ変更情報を適用した場合の変更後のマスタ情報に基づいて取得される。対象のメッセージは、いずれのコントローラにおいて作成されたとしても、マスタのコントローラkから送信先であるスイッチ9に送信される。したがって、スイッチリスト内の対象メッセージは、コントローラkからスイッチ9への送信メッセージであるので、制御部15は、コントローラからスイッチ9への送信メッセージ量CMikに1をインクリメントする。 For the application i, the control unit 15 uses the controller k (a positive integer not including k: 0), which is the master of the switch 9 to which the target message in the switch list is sent, as the target master change information and the master information. Get based on. That is, the controller k, which is the master of the switch 9 to which the target message is transmitted, is acquired based on the changed master information when the master change information is applied. The target message is transmitted from the master controller k to the transmission destination switch 9 regardless of which controller is created. Therefore, since the target message in the switch list is a message transmitted from the controller k to the switch 9, the control unit 15 increments 1 in the amount of messages transmitted from the controller to the switch 9 CMik.

制御部15は、アプリケーションiに対するコントローラkのラウンドロビンの重みWikを用いて乱数を発生させ、発生した乱数に基づいて負荷分散装置3の要求の振り分け先となるコントローラjを選択する。 The control unit 15 generates a random number using the round-robin weight Wiki of the controller k with respect to the application i, and selects the controller j to be the distribution destination of the request of the load balancer 3 based on the generated random number.

コントローラkとコントローラjとが一致しない場合には、当該メッセージの作成要因となった要求は負荷分散装置3によってコントローラk以外のコントローラに振り分けられることが示される。対象メッセージのマスタはコントローラkであるので、対象メッセージは振分先のコントローラj(j≠k)で作成されてマスタのコントローラkに送信され、マスタのコントローラkから送信先のスイッチ9に送信されることになる。したがって、コントローラkとコントローラjとが一致しない場合には、対象メッセージはコントローラ間メッセージとなるので、制御部15は、コントローラ間メッセージ量interMsgsに1をインクリメントする。 When the controller k and the controller j do not match, it is shown that the request that is the cause of creating the message is distributed by the load balancer 3 to the controllers other than the controller k. Since the master of the target message is the controller k, the target message is created by the distribution destination controller j (j ≠ k) and transmitted to the master controller k, and is transmitted from the master controller k to the destination switch 9. Will be. Therefore, when the controller k and the controller j do not match, the target message becomes an inter-controller message, and the control unit 15 increments 1 in the inter-controller message amount interMsgs.

なお、コントローラkとコントローラjとが一致する場合には、対象メッセージの作成
要因となる要求は負荷分散装置3によってコントローラkに振り分けられることが示される。対象メッセージのマスタはコントローラkであるので、対象メッセージは振分先のコントローラj(j=k)によって作成されて送信先のスイッチ9に送信されることになる。この場合には、コントローラ間メッセージは発生しないので、コントローラ間メッセージ量interMsgsは更新されない。
When the controller k and the controller j match, it is shown that the request that causes the creation of the target message is distributed to the controller k by the load balancer 3. Since the master of the target message is the controller k, the target message is created by the distribution destination controller j (j = k) and transmitted to the destination switch 9. In this case, since the inter-controller message does not occur, the inter-controller message amount interMsgs is not updated.

サーバ1の制御部15は、上記の処理を、各アプリケーションのスイッチリストに含まれる全てのメッセージについて行う。各アプリケーションのスイッチリストに含まれる全てのメッセージについて上記の処理が行われると、制御部15は、コントローラkからスイッチ9への送信メッセージ量CMikに基づいて、コントローラからスイッチ9への送信メッセージ量の分散値を求める。分散値の求め方は、周知の方法のいずれであってもよい。 The control unit 15 of the server 1 performs the above processing for all the messages included in the switch list of each application. When the above processing is performed for all the messages included in the switch list of each application, the control unit 15 determines the amount of messages transmitted from the controller to the switch 9 based on the amount of messages transmitted from the controller k to the switch 9. Find the variance value. The method for obtaining the variance value may be any of the well-known methods.

なお、コントローラからスイッチ9への送信メッセージ量の偏りを示す値は、分散値に限定されない。コントローラ間における直接送信されるメッセージ量の偏りを示す値として、例えば、標準偏差、最大値と最小値との差等が用いられてもよい。 The value indicating the bias of the amount of transmitted messages from the controller to the switch 9 is not limited to the distributed value. As a value indicating the bias of the amount of messages directly transmitted between the controllers, for example, the standard deviation, the difference between the maximum value and the minimum value, or the like may be used.

制御部15は、各マスタ変更情報が適用された全ての場合について、シミュレーションが行われ、コントローラ間メッセージ量interMsgsとコントローラからスイッチ9への送信メッセージ量の分散値とを求める。ステップ2−4の処理は、「決定した重みに基づいて前記所定の処理の要求の振り分けをシミュレートして、前記複数の制御装置間で転送されるメッセージ量と、前記複数の制御装置それぞれから制御対象とする複数の宛先装置へ送信されるメッセージ量の前記複数の制御装置間でのばらつきを示す指標値と、を取得」することの一例である。 The control unit 15 performs a simulation in all cases to which each master change information is applied, and obtains an inter-controller message amount interMsgs and a distributed value of the transmission message amount from the controller to the switch 9. The process of step 2-4 is "simulating the distribution of the request for the predetermined process based on the determined weight, the amount of messages transferred between the plurality of control devices, and from each of the plurality of control devices. This is an example of "acquiring an index value indicating variation among the plurality of control devices in the amount of messages transmitted to a plurality of destination devices to be controlled".

(ステップ3)
サーバ1の制御部15は、シミュレーション結果に基づいて、採用するマスタ変更情報を選択する。具体的には、例えば、制御部15は、コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下であるマスタ変更情報のうち、最もコントローラ間メッセージ量の少ないマスタ変更情報を採用する。採用するマスタ変更情報が決定すると、当該マスタ変更情報に含まれるマスタ変更対象のスイッチ9が、マスタ変更対象のスイッチとして選択される。
(Step 3)
The control unit 15 of the server 1 selects the master change information to be adopted based on the simulation result. Specifically, for example, the control unit 15 adopts the master change information having the smallest inter-controller message amount among the master change information in which the dispersion value of the transmission message amount from the controller to the switch 9 is equal to or less than the threshold value. When the master change information to be adopted is determined, the master change target switch 9 included in the master change information is selected as the master change target switch.

コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下であるマスタ変更情報のうち、最もコントローラ間メッセージ量の少ないマスタ変更情報を採用することは、「前記複数の制御装置間で転送されるメッセージ量が削減され、且つ、前記複数の制御装置それぞれから前記制御対象とする複数の宛先装置へ送信されるメッセージ量が前記複数の制御装置間で均等であることを含む条件」の一例である。コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下であることは、「前記複数の制御装置それぞれから前記制御対象とする複数の宛先装置へ送信されるメッセージ量が前記複数の制御装置間で均等であること」の一例である。 Of the master change information in which the distribution value of the amount of messages transmitted from the controller to the switch 9 is equal to or less than the threshold value, adopting the master change information having the smallest amount of messages between controllers is described as "transferred between the plurality of control devices. This is an example of "a condition including a condition in which the amount of messages is reduced and the amount of messages transmitted from each of the plurality of control devices to the plurality of destination devices to be controlled is equal among the plurality of control devices". .. The fact that the dispersion value of the amount of transmitted messages from the controller to the switch 9 is equal to or less than the threshold value means that "the amount of messages transmitted from each of the plurality of control devices to the plurality of destination devices to be controlled is between the plurality of control devices. It is an example of "being even."

ステップ3の処理は、「前記ばらつきを示す指標値が所定の閾値以下である事例情報のうち最も制御装置間で転送されるメッセージ量が少ない事例情報を抽出し、抽出された事例情報において選択された1又は複数の宛先装置を制御対象とする制御装置を他の制御装置に変更することを判定する」ことの一例である。 The process of step 3 is "extracting the case information in which the amount of messages transferred between the control devices is the smallest among the case information in which the index value indicating the variation is equal to or less than a predetermined threshold value, and is selected in the extracted case information. It is an example of "determining that the control device whose control target is one or more destination devices is changed to another control device".

図34は、第6実施形態の具体例に係るシミュレーション結果の一例を示す図である。例えば、コントローラからスイッチ9への送信メッセージ量の分散値の閾値が5であるとする。 FIG. 34 is a diagram showing an example of simulation results according to a specific example of the sixth embodiment. For example, assume that the threshold value of the distributed value of the amount of messages transmitted from the controller to the switch 9 is 5.

図34に示される例の場合、制御部15は、コントローラからスイッチ9への送信メッセージ量の分散値が閾値(5)以下のマスタ変更情報#1、#2、#5、#6、#7を抽出する。次に、制御部15は、マスタ変更情報#1、#2、#5、#6、#7のうち、コントローラ間メッセージ量が10で最も少ないマスタ変更情報#2を選択する。すなわち、制御部15は、マスタを変更するスイッチをスイッチ#2に決定する。 In the case of the example shown in FIG. 34, the control unit 15 has master change information # 1, # 2, # 5, # 6, # 7 in which the distributed value of the amount of messages transmitted from the controller to the switch 9 is equal to or less than the threshold value (5). Is extracted. Next, the control unit 15 selects the master change information # 2 having the smallest inter-controller message amount of 10 among the master change information # 1, # 2, # 5, # 6, and # 7. That is, the control unit 15 determines the switch # 2 as the switch for changing the master.

図35は、第6実施形態の具体例に係るマスタ変更情報#2を適用後のマスタ情報の一例を示す図である。マスタ変更情報#2は、スイッチ#2のマスタをコントローラ#1からコントローラ#2へと変更することを示す。したがって、制御部15は、マスタ情報記憶部18C内のマスタ情報を、スイッチ#2のマスタをコントローラ#1からコントローラ#2へと変更したものに更新する。 FIG. 35 is a diagram showing an example of master information after applying the master change information # 2 according to the specific example of the sixth embodiment. The master change information # 2 indicates that the master of the switch # 2 is changed from the controller # 1 to the controller # 2. Therefore, the control unit 15 updates the master information in the master information storage unit 18C to the one in which the master of the switch # 2 is changed from the controller # 1 to the controller # 2.

また、制御部15は、例えば、他のコントローラにマスタ変更情報#2を通知する。マスタ変更情報は、例えば、図3には示されていない機能構成要素である、コントローラ間インタフェース部を通じて他のコントローラに通知される。マスタ変更情報を受信したコントローラは、マスタ変更情報に従って、マスタ情報を更新する。これは、システム内のコントローラ間でマスタ情報の整合性を保つ方法の一例である。 Further, the control unit 15 notifies another controller, for example, the master change information # 2. The master change information is notified to other controllers, for example, through an inter-controller interface unit, which is a functional component not shown in FIG. The controller that receives the master change information updates the master information according to the master change information. This is an example of how to keep the master information consistent between the controllers in the system.

<処理の流れ>
図36は、第6実施形態に係るマスタ変更決定処理のフローチャートの一例である。図36に示される処理は、例えば、所定の周期で実行されてもよいし、所定のイベントの発生を契機に実行されてもよい。図36に示される処理の実行契機となるイベントは、例えば、アプリケーションiについて、コントローラ間で直接比率Aijの偏りが閾値未満となること、である。図36に示される例の実行主体は、サーバ1のCPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。
<Processing flow>
FIG. 36 is an example of a flowchart of the master change determination process according to the sixth embodiment. The process shown in FIG. 36 may be executed, for example, at a predetermined cycle, or may be executed when a predetermined event occurs. The event that triggers the execution of the process shown in FIG. 36 is, for example, that the bias of the direct ratio Aij between the controllers is less than the threshold value for the application i. The execution subject of the example shown in FIG. 36 is the CPU 101 of the server 1, but for convenience, the control unit 15 which is a functional component will be described as the main body.

OP31では、制御部15は、マスタを変更するスイッチ9と当該スイッチ9の変更後のマスタとの組合せの全てのパターンについて、マスタ変更情報を生成する。例えば、コントローラが2台で、7台中1台のスイッチ9のマスタを変更する場合には、マスタ変更情報は7つ生成される。コントローラが2台で、7台中2台のスイッチ9のマスタを変更する場合には、マスタ変更情報は21個生成される。 In OP31, the control unit 15 generates master change information for all patterns of the combination of the switch 9 that changes the master and the changed master of the switch 9. For example, when there are two controllers and the master of one of the seven switches 9 is changed, seven master change information is generated. When there are two controllers and the master of two of the seven switches 9 is changed, 21 master change information is generated.

OP32では、制御部15は、全てのマスタ変更情報について、適用した場合のシミュレーションを行う。シミュレーションによって、各マスタ変更情報を適用した場合について、コントローラ間メッセージ量interMsgsとコントローラからスイッチ9への送信メッセージ量の分散値とが取得される。シミュレーションの処理の詳細は後述される。 In OP32, the control unit 15 performs a simulation when all the master change information is applied. By the simulation, the inter-controller message amount interMsgs and the distributed value of the transmission message amount from the controller to the switch 9 are acquired when each master change information is applied. Details of the simulation process will be described later.

OP33では、制御部15は、シミュレーション結果から、コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下のマスタ変更情報を抽出する。 In OP33, the control unit 15 extracts master change information in which the dispersion value of the amount of messages transmitted from the controller to the switch 9 is equal to or less than the threshold value from the simulation result.

OP34では、制御部15は、OP33において抽出したマスタ変更情報のうち、コントローラ間メッセージが最も少ないマスタ変更情報を、採用するマスタ変更情報として取得する。制御部15は、取得したマスタ変更情報においてマスタを変更する対象となっているスイッチ9を、マスタ変更対象のスイッチとして決定する。その後、図36に示される処理が終了する。 In the OP 34, the control unit 15 acquires the master change information with the fewest inter-controller messages among the master change information extracted in the OP 33 as the master change information to be adopted. The control unit 15 determines the switch 9 for which the master is to be changed in the acquired master change information as the switch for which the master is to be changed. After that, the process shown in FIG. 36 ends.

なお、OP33において、コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下のマスタ変更情報が存在しない場合には、いずれのスイッチ9のマスタも変更
しないことが判定されてもよい。または、コントローラからスイッチ9への送信メッセージ量の分散値が最も小さいマスタ変更情報が選択されてもよい。
In OP33, if there is no master change information in which the distribution value of the amount of transmitted messages from the controller to the switch 9 is equal to or less than the threshold value, it may be determined that neither the master of any switch 9 is changed. Alternatively, the master change information having the smallest distributed value of the amount of messages transmitted from the controller to the switch 9 may be selected.

なお、制御部15は、OP33、OP34の処理に代えて、以下の処理を実行してもよい。例えば、制御部15は、シミュレーション結果から、最もコントローラ間メッセージ量が少ないマスタ変更情報を選択する。次に、制御部15は、選択したマスタ変更情報の、コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下であるか否かを判定する。 The control unit 15 may execute the following processing instead of the processing of OP33 and OP34. For example, the control unit 15 selects the master change information having the smallest amount of messages between controllers from the simulation result. Next, the control unit 15 determines whether or not the distribution value of the amount of messages transmitted from the controller to the switch 9 of the selected master change information is equal to or less than the threshold value.

選択したマスタ変更情報の、コントローラからスイッチ9への送信メッセージ量の分散値が閾値以下である場合に、制御部15は、選択したマスタ変更情報を採用するマスタ変更情報として取得する。選択したマスタ変更情報の、コントローラからスイッチ9への送信メッセージ量の分散値が閾値より大きい場合には、制御部15は、次にコントローラ間メッセージ量が少ないマスタ変更情報を選択し、同様の処理を行う。 When the distributed value of the amount of messages transmitted from the controller to the switch 9 of the selected master change information is equal to or less than the threshold value, the control unit 15 acquires the selected master change information as the master change information to be adopted. When the distribution value of the amount of messages transmitted from the controller to the switch 9 of the selected master change information is larger than the threshold value, the control unit 15 selects the master change information with the next smallest amount of messages between controllers, and performs the same processing. I do.

図36のOP31の処理は、マスタ変更決定処理の(ステップ1)に相当する。図36のOP32の処理は、マスタ変更決定処理の(ステップ2)に相当する。図36のOP33、OP34の処理は、マスタ変更決定処理の(ステップ3)に相当する。 The process of OP31 in FIG. 36 corresponds to (step 1) of the master change determination process. The process of OP32 in FIG. 36 corresponds to (step 2) of the master change determination process. The processes of OP33 and OP34 in FIG. 36 correspond to (step 3) of the master change determination process.

図37A及び図37Bは、シミュレーションの処理のフローチャートの一例である。図37A及び図37Bに示される処理は、図36のOP32において実行される処理である。図37A及び図37Bに示される例の実行主体は、サーバ1のCPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。図37A及び図37Bに示される処理は、所定期間に発生したアプリケーションの要求に応じてスイッチ9に送信されるメッセージに基づいて行われる。 37A and 37B are examples of flowcharts of simulation processing. The process shown in FIGS. 37A and 37B is the process executed in OP 32 of FIG. The execution subject of the example shown in FIGS. 37A and 37B is the CPU 101 of the server 1, but for convenience, the control unit 15 which is a functional component will be mainly described. The processing shown in FIGS. 37A and 37B is performed based on a message transmitted to the switch 9 in response to an application request generated during a predetermined period.

OP41では、制御部15は、各アプリケーションについて、スイッチリストを取得する。スイッチリストは、例えば、計測結果受信部16を通じて他のコントローラから受信される情報、及び、メッセージ量記憶部18Bに格納されている情報から取得される。 In OP41, the control unit 15 acquires a switch list for each application. The switch list is acquired from, for example, information received from another controller through the measurement result receiving unit 16 and information stored in the message amount storage unit 18B.

OP42では、制御部15は、各アプリケーションの発生要求量を取得する。各アプリケーションの発生要求量は、制御部15がアプリケーション要求量記憶部18Aを参照することで取得される。 In OP42, the control unit 15 acquires the generation request amount of each application. The generation request amount of each application is acquired by the control unit 15 referring to the application request amount storage unit 18A.

OP43〜OP50の処理は、各マスタ変更情報について繰り返し実行される。OP43では、制御部15は、全てのアプリケーションi、全てのコントローラjについて、直接比率Aijを取得する。直接比率Aijは、例えば、第1実施形態と同様にして求められる。 The processes of OP43 to OP50 are repeatedly executed for each master change information. In OP43, the control unit 15 directly acquires the ratio Aij for all the applications i and all the controllers j. The direct ratio Aij is obtained, for example, in the same manner as in the first embodiment.

OP44では、制御部15は、負荷分散装置3のラウンロビンの重みWijを、全てのアプリケーションi、全てのコントローラjについて、取得する。負荷分散装置3のラウンロビンの重みWijは、第1実施形態〜第5実施形態のいずれかと同様にして求められる。 In OP44, the control unit 15, the weight Wij of Round Robin load balancer 3, all applications i, for all controllers j, obtains. Weight Wij of Round Robin load balancers 3 is determined in the same manner as any of the first to fifth embodiments.

図37BのOP45〜OP49の処理は、全アプリケーションについて繰り返し行われる。また、図37BのOP45〜OP49の処理は、1つのアプリケーションのスイッチリストに含まれるメッセージの送信先であるスイッチの数分繰り返し実行される。すなわち、図37BのOP45〜OP49の処理は、(1つのアプリケーションのスイッチリストに含まれるメッセージの数)×(アプリケーションの数)×(マスタ変更情報の数)に相当する回数繰り返される。 The processes of OP45 to OP49 in FIG. 37B are repeated for all applications. Further, the processes of OP45 to OP49 in FIG. 37B are repeatedly executed for the number of switches to which the messages included in the switch list of one application are transmitted. That is, the processes of OP45 to OP49 in FIG. 37B are repeated a number of times corresponding to (the number of messages included in the switch list of one application) × (the number of applications) × (the number of master change information).

以降、処理対象のアプリケーションをアプリケーションiとする。アプリケーションiのスイッチリスト内の処理対象のメッセージを、対象メッセージ、と称する。 Hereinafter, the application to be processed is referred to as application i. The message to be processed in the switch list of application i is referred to as a target message.

OP45では、制御部15は、アプリケーションiのスイッチリスト内の対象メッセージの送信先であるスイッチ9のマスタであるコントローラkを、対象のマスタ変更情報とマスタ情報とに基づいて、取得する。すなわち、アプリケーションiのスイッチリスト内の対象メッセージの送信先であるスイッチ9のマスタであるコントローラkは、対象のマスタ変更情報が適用された後のマスタ情報に基づいて求められる。 In OP45, the control unit 15 acquires the controller k, which is the master of the switch 9, which is the transmission destination of the target message in the switch list of the application i, based on the target master change information and the master information. That is, the controller k, which is the master of the switch 9 to which the target message is transmitted in the switch list of the application i, is obtained based on the master information after the target master change information is applied.

OP46では、制御部15は、コントローラkからスイッチ9への送信メッセージ量CMikに1を加算して更新する。 In OP46, the control unit 15 adds 1 to the amount of messages sent from the controller k to the switch 9 and updates the CMik.

OP47では、制御部15は、アプリケーションiに対するコントローラkの重みWikに基づいて乱数を発生させ、発生した乱数に基づいて、対象メッセージの振り分け先となるコントローラjを決定する。 In OP47, the control unit 15 generates a random number based on the weight Wiki of the controller k with respect to the application i, and determines the controller j to be the distribution destination of the target message based on the generated random number.

OP48では、制御部15は、対象メッセージのマスタであるコントローラkと、対象メッセージの振り分け先であるコントローラjとが一致するか否かを判定する。コントローラkとコントローラjとが一致する場合には(OP48:YES)、処理が、対象のアプリケーションiのスイッチリスト内の次のメッセージ又は次のアプリケーションについてOP45に、又は、OP50に進む。コントローラkとコントローラjとが一致しない場合には(OP48:NO)、処理がOP49に進む。 In OP48, the control unit 15 determines whether or not the controller k, which is the master of the target message, and the controller j, which is the distribution destination of the target message, match. If the controller k and the controller j match (OP48: YES), the process proceeds to OP45 or OP50 for the next message or the next application in the switch list of the target application i. If the controller k and the controller j do not match (OP48: NO), the process proceeds to OP49.

OP49では、対象メッセージがコントローラ間メッセージとなることが示されるので、制御部15は、コントローラ間メッセージ量interMsgsに1を加算して更新する。その後、処理が、対象のアプリケーションiのスイッチリスト内の次のメッセージ、又は、次のアプリケーションについて、OP45に、又は、OP50に進む。 Since it is shown in OP49 that the target message is an inter-controller message, the control unit 15 updates the inter-controller message amount interMsgs by adding 1. After that, the process proceeds to OP45 or OP50 for the next message or the next application in the switch list of the target application i.

1つのマスタ変更情報について、全アプリケーションのスイッチリスト内の全メッセージについて、OP45〜OP49の処理が終了すると、処理がOP50に進む。 When the processing of OP45 to OP49 is completed for all the messages in the switch list of all applications for one master change information, the processing proceeds to OP50.

OP50では、制御部15は、各コントローラからスイッチ9への送信メッセージ量の分散値を求める。その後、次のマスタ変更情報について処理がOP45に進む。または、全てのマスタ変更情報についての処理が終了した場合には、処理が図36のOP33に進む。 In OP50, the control unit 15 obtains a distributed value of the amount of transmitted messages from each controller to the switch 9. After that, the process proceeds to OP45 for the next master change information. Alternatively, when the processing for all the master change information is completed, the processing proceeds to OP33 in FIG.

図37AのOP41の処理は、マスタ変更決定処理の(ステップ2−1)に相当する。図37AのOP43の処理は、マスタ変更決定処理の(ステップ2−2)に相当する。図37AのOP42、OP44の処理は、マスタ変更決定処理の(ステップ2−3)に相当する。図37Bの処理は、マスタ変更決定処理の(ステップ2−4)に相当する。 The process of OP41 in FIG. 37A corresponds to (step 2-1) of the master change determination process. The process of OP43 in FIG. 37A corresponds to (step 2-2) of the master change determination process. The processes of OP42 and OP44 in FIG. 37A correspond to (step 2-3) of the master change determination process. The process of FIG. 37B corresponds to (step 2-4) of the master change determination process.

<第6実施形態の作用効果>
第6実施形態では、スイッチ9のマスタを変更させることによって、スイッチ9のマスタを担当するコントローラに偏りを生じさせる。スイッチ9のマスタを担当するコントローラの偏りに応じて、第1〜第5実施形態に係る負荷分散装置3のラウンドロビンの重みWijの決定処理によってラウンドロビンの重みWijが決定される。これによって、コントローラ間メッセージ量の削減効果を向上させることができる。
<Action and effect of the sixth embodiment>
In the sixth embodiment, by changing the master of the switch 9, the controller in charge of the master of the switch 9 is biased. The round robin weight Wij is determined by the round robin weight Wij determination process of the load balancer 3 according to the first to fifth embodiments according to the bias of the controller in charge of the master of the switch 9. As a result, the effect of reducing the amount of messages between controllers can be improved.

マスタの変更対象のスイッチ9は、シミュレーションによって、各コントローラからス
イッチ9への送信メッセージ量の偏りが少なく、且つ、コントローラ間メッセージ量が少なくなるように決定される。これによって、分散型通信制御システム100全体の処理効率を向上させることができる。
The switch 9 to be changed in the master is determined by simulation so that the amount of messages transmitted from each controller to the switch 9 is not biased and the amount of messages between controllers is small. Thereby, the processing efficiency of the entire distributed communication control system 100 can be improved.

また、マスタ変更情報を適用した場合の、アプリケーションの要求の振り分けのシミュレーションでは、マスタ変更情報の適用後のマスタ情報に基づいて、負荷分散装置3のラウンドロビンの重みWijが求められる。求められるラウンドロビンの重みWijは、各アプリケーションのコントローラ間メッセージの総量を最小とするように求められる。したがって、第6実施形態によれば、全てのアプリケーションのコントローラ間メッセージの総量が削減されるように、マスタを変更するスイッチが決定される。 Further, in the simulation of distribution of application requests when the master change information is applied, the round robin weight Wij of the load balancer 3 is obtained based on the master information after the application of the master change information. The required round-robin weight Wij is required to minimize the total amount of inter-controller messages for each application. Therefore, according to the sixth embodiment, the switch that changes the master is determined so that the total amount of inter-controller messages of all applications is reduced.

<第7実施形態>
第6実施形態では、全てのマスタ変更情報について、マスタ変更情報が適用された場合のシミュレーションが行われる。第7実施形態では、シミュレーションを実行するマスタ変更情報を絞り込むことによって、シミュレーションの処理に係る負荷を削減し、処理を高速化させる。第7実施形態では、第6実施形態と重複する説明は省略される。第7実施形態では、分散型通信制御システム100のシステム構成、サーバ1のハードウェア構成及び機能構成は、第6実施形態と同様である。
<7th Embodiment>
In the sixth embodiment, a simulation is performed for all the master change information when the master change information is applied. In the seventh embodiment, the load related to the simulation processing is reduced and the processing speed is increased by narrowing down the master change information for executing the simulation. In the seventh embodiment, the description overlapping with the sixth embodiment is omitted. In the seventh embodiment, the system configuration of the distributed communication control system 100, the hardware configuration and the functional configuration of the server 1 are the same as those of the sixth embodiment.

<マスタ変更情報の絞り込み処理>
マスタ変更情報の絞り込み処理は、マスタ変更決定処理における、(ステップ1)のマスタ変更情報の作成の処理の前に実行される処理である。したがって、マスタ変更情報の絞り込み処理は、マスタ変更決定処理における(ステップ1)の処理のサブステップとして説明する。なお、以降、第6実施形態と同様の分散型通信制御システム100Aが想定された具体例とともに説明される。
<Processing to narrow down master change information>
The process of narrowing down the master change information is a process executed before the process of creating the master change information in (step 1) in the master change determination process. Therefore, the process of narrowing down the master change information will be described as a sub-step of the process of (step 1) in the master change determination process. Hereinafter, the same distributed communication control system 100A as in the sixth embodiment will be described together with a assumed specific example.

(ステップ1−1)
サーバ1の制御部15は、全てのアプリケーションとコントローラとの組み合わせについて、直接比率Aijを取得する。なお、直接比率Aijは、例えば、第1実施形態と同様にして取得される。
(Step 1-1)
The control unit 15 of the server 1 directly acquires the ratio Aij for all combinations of the application and the controller. The direct ratio Aij is acquired in the same manner as in the first embodiment, for example.

図38は、第7実施形態の具体例に係るアプリケーションiのコントローラjにおける直接比率Aijの一例を示す図である。第7実施形態の具体例では、コントローラは2台、アプリケーションは2つであるので、直接比率Aijは2×2の行列となる。 FIG. 38 is a diagram showing an example of the direct ratio Aij in the controller j of the application i according to the specific example of the seventh embodiment. In the specific example of the seventh embodiment, since there are two controllers and two applications, the direct ratio Aij is a 2 × 2 matrix .

図38に示される例では、アプリケーション#1のコントローラ#1における直接比率A11は、1/2である。アプリケーション#1のコントローラ#2における直接比率A12は、1/2である。アプリケーション#2のコントローラ#1における直接比率A21は、2/3である。アプリケーション#2のコントローラ#2における直接比率A22は、1/3である。 In the example shown in FIG. 38, the direct ratio A11 in controller # 1 of application # 1 is 1/2. The direct ratio A12 in controller # 2 of application # 1 is 1/2. The direct ratio A21 in controller # 1 of application # 2 is 2/3. The direct ratio A22 in controller # 2 of application # 2 is 1/3.

(ステップ1−2)
サーバ1の制御部15は、ステップ1−1で求めた直接比率Aijについて、各アプリケーションについて、分散値を求める。ただし、分散値に限定されず、ばらつきを表す指標であればよく、例えば、標準偏差、最大値と最小値との差等が用いられてもよい。
(Step 1-2)
The control unit 15 of the server 1 obtains a distributed value for each application with respect to the direct ratio Aij obtained in step 1-1. However, the value is not limited to the variance value, and any index indicating the variation may be used. For example, the standard deviation, the difference between the maximum value and the minimum value, and the like may be used.

図39は、第7実施形態の具体例に係る各アプリケーションの直接比率の分散値の一例を示す図である。図39に示される各アプリケーションの直接比率の分散値は、図38に示される例の直接比率Aijに基づいて求められたものである。 FIG. 39 is a diagram showing an example of the variance value of the direct ratio of each application according to the specific example of the seventh embodiment. The variance value of the direct ratio of each application shown in FIG. 39 is obtained based on the direct ratio Aij of the example shown in FIG. 38.

図39に示される例では、アプリケーション#1の直接比率の分散値は、0である。アプリケーション#2の直接比率の分散値は、約0.28である。 In the example shown in FIG. 39, the variance value of the direct ratio of application # 1 is 0. The variance value of the direct ratio of application # 2 is about 0.28.

(ステップ1−3)
サーバ1の制御部15は、直接比率の分散値が閾値以下のアプリケーションを抽出する。直接比率の分散値が小さいほど、アプリケーションの設定領域内におけるスイッチ9がマスタとするコントローラの偏りが小さいことが示される。そのため、直接比率の分散値が閾値以下のアプリケーションに、スイッチ9がマスタとするコントローラに偏りを生じさせることで、コントローラ間メッセージの削減により大きな効果が得られる。
(Step 1-3)
The control unit 15 of the server 1 extracts applications whose direct ratio variance value is equal to or less than the threshold value. The smaller the variance value of the direct ratio, the smaller the bias of the controller mastered by the switch 9 in the setting area of the application. Therefore, in an application in which the variance value of the direct ratio is equal to or less than the threshold value, the controller used by the switch 9 as the master is biased, so that a great effect can be obtained by reducing the messages between the controllers.

例えば、アプリケーションの直接比率の分散値が図39に示される例の値であり、閾値が0.1である場合には、制御部15は、アプリケーション#1を抽出する。ステップ1−1〜1−3の処理は、「前記複数種類の所定の処理から、前記複数の制御装置それぞれから前記制御対象の複数の宛先装置に送信されたメッセージ量が前記複数の制御装置間で均等である第1の種類を取得」することの一例である。アプリケーションの直接比率の分散値が閾値以下であることは、「前記複数の制御装置それぞれから前記制御対象の複数の宛先装置に送信されたメッセージ量が前記複数の制御装置間で均等である」ことの一例である。 For example, when the variance value of the direct ratio of the application is the value of the example shown in FIG. 39 and the threshold value is 0.1, the control unit 15 extracts the application # 1. In the processes of steps 1-1 to 1-3, "the amount of messages transmitted from each of the plurality of control devices to the plurality of destination devices to be controlled from the plurality of types of predetermined processes is between the plurality of control devices. It is an example of "obtaining the first kind that is equal in". The fact that the dispersion value of the direct ratio of the application is equal to or less than the threshold value means that "the amount of messages transmitted from each of the plurality of control devices to the plurality of destination devices to be controlled is equal among the plurality of control devices". This is an example.

(ステップ1−4)
サーバ1の制御部15は、ステップ1−3で抽出したアプリケーションについて、最も送信メッセージ量が多いスイッチ9を抽出する。各スイッチ9への所定のアプリケーションの送信メッセージ量は、当該所定のアプリケーションのスイッチリストに含まれるスイッチの識別情報を集計することで取得される。そのため、第7実施形態では、ステップ1−4の処理より前にスイッチリストの取得が行われる。ステップ1−4の処理は、「前記第1の種類の所定の処理のメッセージの受信メッセージ量の多い上位の1又は複数の宛先装置を取得」することの一例である。
(Step 1-4)
The control unit 15 of the server 1 extracts the switch 9 having the largest amount of transmitted messages for the application extracted in steps 1-3. The amount of messages transmitted by a predetermined application to each switch 9 is acquired by aggregating the identification information of the switches included in the switch list of the predetermined application. Therefore, in the seventh embodiment, the switch list is acquired before the process of steps 1-4. The process of step 1-4 is an example of "acquiring a higher-order one or a plurality of destination devices having a large amount of received messages of the message of the predetermined process of the first type".

図40は、第7実施形態の具体例に係るアプリケーション#1の各スイッチ9への送信メッセージ量の一例である。図40に示される例では、SW#4への送信メッセージ量が一番多いので、スイッチ#4が抽出される。 FIG. 40 is an example of the amount of messages transmitted to each switch 9 of the application # 1 according to the specific example of the seventh embodiment. In the example shown in FIG. 40, the switch # 4 is extracted because the amount of messages transmitted to SW # 4 is the largest.

(ステップ1−5)
サーバ1の制御部15は、現在のマスタ情報に基づいて、ステップ1−4において抽出したスイッチをマスタの変更対象とするマスタ変更情報を生成する。例えば、図40に示される第7実施形態の具体例では、スイッチ#4が抽出されるので、制御部15は、スイッチ#4のマスタをコントローラ#1(図28参照)からコントローラ#2に変更するマスタ変更情報を作成する。ステップ1−5の処理は、「複数の宛先装置から前記取得した1又は複数の宛先装置を選択する事例情報を生成する」ことの一例である。
(Step 1-5)
Based on the current master information, the control unit 15 of the server 1 generates master change information for which the switch extracted in step 1-4 is the master change target. For example, in the specific example of the seventh embodiment shown in FIG. 40, since the switch # 4 is extracted, the control unit 15 changes the master of the switch # 4 from the controller # 1 (see FIG. 28) to the controller # 2. Create master change information. The process of step 1-5 is an example of "generating case information for selecting the acquired one or a plurality of destination devices from a plurality of destination devices".

これによって、シミュレーションが実行されるマスタ変更情報の数を減らすことができる。なお、具体例では、7台のスイッチ9のうち1台のスイッチ9のマスタを変更することが前提とされているため、ステップ1−4では、最も送信メッセージ量の多いスイッチ9が抽出されるが、これに限られない。例えば、複数台のスイッチ9のマスタを変更する場合には、送信メッセージ量の多い該当数のスイッチ9が抽出されてもよい。ステップ2以降の処理は、第6実施形態と同様である。 This can reduce the number of master change information for which the simulation is performed. In the specific example, since it is assumed that the master of one of the seven switches 9 is changed, the switch 9 having the largest amount of transmitted messages is extracted in steps 1-4. However, it is not limited to this. For example, when changing the master of a plurality of switches 9, the corresponding number of switches 9 having a large amount of transmitted messages may be extracted. The processing after step 2 is the same as that of the sixth embodiment.

図41は、第7実施形態に係るマスタ変更決定処理のフローチャートの一例である。図41に示される処理は、図36に示される処理同様、例えば、所定の周期で実行されてもよいし、所定のイベントの発生を契機に実行されてもよい。処理の実行契機となるイベントは、例えば、アプリケーションiについて、コントローラ間で直接比率Aijの偏りが閾値未満となること、である。図41に示される例の実行主体は、サーバ1のCPU 101であるが、便宜上、機能構成要素である制御部15を主体として説明する。 FIG. 41 is an example of a flowchart of the master change determination process according to the seventh embodiment. Similar to the process shown in FIG. 36, the process shown in FIG. 41 may be executed, for example, at a predetermined cycle, or may be executed when a predetermined event occurs. The event that triggers the execution of the process is, for example, that the bias of the direct ratio Aij between the controllers is less than the threshold value for the application i. The execution subject of the example shown in FIG. 41 is the CPU 101 of the server 1, but for convenience, the control unit 15 which is a functional component will be described as the main body.

OP60では、制御部15は、各アプリケーションについて、スイッチリストを作成する。 In OP60, the control unit 15 creates a switch list for each application.

OP61では、制御部15は、コントローラjとアプリケーションiとの全ての組合せについて、直接比率Aijを求める。直接比率Aijの求め方は、例えば、第1実施形態と同様である。 In OP61, the control unit 15 directly obtains the ratio Aij for all combinations of the controller j and the application i. The method of obtaining the direct ratio Aij is, for example, the same as in the first embodiment.

OP62では、制御部15は、各アプリケーションの直接比率の分散値を求める。OP63では、制御部15は、直接比率の分散値が閾値以下のアプリケーションを抽出する。 In OP62, the control unit 15 obtains the variance value of the direct ratio of each application. In OP63, the control unit 15 extracts applications whose direct ratio variance value is equal to or less than the threshold value.

OP64では、制御部15は、OP63で抽出したアプリケーションの各スイッチ9への送信メッセージ量を取得する。OP65では、制御部15は、送信メッセージ量が最も多いスイッチをマスタ変更対象に設定する。ただし、マスタ変更対象となるスイッチ9の数が複数である場合には、送信メッセージ量の多い上位のスイッチ9が該当数選択される。 In OP64, the control unit 15 acquires the amount of messages to be transmitted to each switch 9 of the application extracted by OP63. In OP65, the control unit 15 sets the switch with the largest amount of transmitted messages as the master change target. However, when the number of switches 9 to be changed to the master is plural, the corresponding number of upper switches 9 having a large amount of transmitted messages is selected.

OP66では、制御部15は、OP65においてマスタ変更対象に設定されたスイッチ9のマスタを変更するマスタ変更情報を作成する。OP67〜OP69では、OP66で作成されたマスタ変更情報について、図36のOP32〜OP34と同様の処理が行われる。 In OP66, the control unit 15 creates master change information for changing the master of the switch 9 set as the master change target in OP65. In OP67 to OP69, the same processing as OP32 to OP34 in FIG. 36 is performed on the master change information created in OP66.

なお、OP66において作成されるマスタ変更情報が1つであり、当該マスタ変更情報のコントローラからスイッチ9への送信メッセージ量の分散が閾値より大きい場合には、例えば、以下のようにしてもよい。OP65に処理が進み、制御部15は、次に送信メッセージ量が多いスイッチをマスタ変更対象に設定して、マスタ変更情報を作成し(OP66)、当該マスタ変更情報についてシミュレーションを行う。 When the master change information created in OP66 is one and the variance of the amount of messages transmitted from the controller to the switch 9 of the master change information is larger than the threshold value, for example, the following may be performed. Processing proceeds to OP65, and the control unit 15 sets the switch with the next largest amount of transmitted messages as the master change target, creates master change information (OP66), and simulates the master change information.

<第7実施形態の作用効果>
第7実施形態では、マスタが変更されるスイッチの全てのパターンについてではなく、条件を満たすスイッチのマスタが変更されるマスタ変更情報が作成される。これによって、シミュレーションの処理を削減することができ、マスタ変更決定処理を高速化することができる。また、シミュレーションに係るサーバ1の処理負荷を低減することができる。
<Action and effect of the seventh embodiment>
In the seventh embodiment, master change information is created in which the master of the switch satisfying the condition is changed, not for all the patterns of the switch whose master is changed. As a result, the simulation processing can be reduced and the master change determination processing can be speeded up. In addition, the processing load of the server 1 related to the simulation can be reduced.

また、マスタとなるコントローラの偏りが小さいアプリケーションについて、送信メッセージ量が多いスイッチ9がマスタ変更対象として設定されるので、よりコントローラ間メッセージを削減可能なマスタ変更情報を作成することができる。 Further, for an application in which the bias of the controller as the master is small, the switch 9 having a large amount of transmitted messages is set as the master change target, so that it is possible to create master change information capable of further reducing the messages between controllers.

<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
<Recording medium>
A program that enables a computer or other machine or device (hereinafter, computer or the like) to realize any of the above functions can be recorded on a recording medium that can be read by the computer or the like. The function can be provided by causing a computer or the like to read and execute the program of this recording medium.

ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピ
ュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
Here, a recording medium that can be read by a computer or the like is a non-temporary recording medium that can store information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from the computer or the like. Recording medium. Among such recording media, those that can be removed from a computer or the like include, for example, a memory such as a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a Blu-ray disk, a DAT, an 8 mm tape, or a flash memory. There are cards etc. Further, as a recording medium fixed to a computer or the like, there are a hard disk, a ROM (read-only memory), and the like. Further, the SSD (Solid State Drive) can be used as a recording medium that can be removed from a computer or the like, or as a recording medium that is fixed to the computer or the like.

1 サーバ
2 サーバ
3 負荷分散装置
9 スイッチ
11 要求受信部
12 メッセージ転送部
13 スイッチ設定部
14 情報収集部
15 制御部
16 計測結果受信部
17 重み通知部
18A アプリケーション要求量記憶部
18B メッセージ量記憶部
18C マスタ情報記憶部
101 CPU
102 主記憶装置
103 補助記憶装置
104 ネットワークインタフェース
1 Server 2 Server 3 Load balancer 9 Switch 11 Request receiving unit 12 Message forwarding unit 13 Switch setting unit 14 Information collecting unit 15 Control unit 16 Measurement result receiving unit 17 Weight notification unit 18A Application request amount storage unit 18B Message amount storage unit 18C Master information storage unit 101 CPU
102 Main storage 103 Auxiliary storage 104 Network interface

Claims (17)

複数の制御装置間で振り分けられた要求のうち自装置に振り分けられた要求を受信する第1の受信部と、前記自装置に振り分けられた要求に応じて所定の処理を実行し、前記所定の処理の結果に応じて、メッセージを生成し、前記メッセージの宛先置が自装置の制御対象の装置である場合には前記メッセージを前記宛先装置に送信し、前記メッセージの宛先置が他の制御装置の制御対象の装置である場合には前記メッセージを前記他の制御装置に転送する制御部と、を備える前記複数の制御装置それぞれについて、前記所定の処理の要求の振り分けに用いられる重みを、制御対象とする装置の数が多い制御装置ほど当該制御装置へ振り分けられる前記所定の処理の要求量が多くなるように、決定する処理部、
を備える情報処理装置。
A first receiving unit that receives a request that has been distributed to the own device among the requests that are distributed among a plurality of control devices, said executes a predetermined process in response to requests that are distributed to the own device, the predetermined depending on the result of the processing, to generate a message, when equipment of the destination of the message is a device of the control target of its own device transmits the message to the device of the destination equipment of the destination of the message When is a device to be controlled by another control device, the plurality of control devices including a control unit that transfers the message to the other control device are used for sorting the request for the predetermined process. the weight to be, as the made many requirements of a given process is distributed as the number of that equipment to the control target is often the controller to the control unit, determining unit,
Information processing device equipped with.
前記複数の制御装置それぞれについて、制御対象とする装置の情報を記憶する記憶部をさらに備え、
前記処理部は、前記複数の制御装置それぞれについて、前記複数の制御装置それぞれが制御対象とする装置の総数に対する前記複数の制御装置それぞれが制御対象とする装置の数の割合を、前記重みとして決定する、
請求項1に記載の情報処理装置。
For each of the plurality of control devices, further comprising a storage unit for storing the equipment information shall be the control object,
Wherein the processing unit, for each of the plurality of control devices, the ratio of the number of said plurality of control apparatus the plurality of control units to that equipment respectively the controlled object to the total number of devices each of which the control target, the weight Decide as,
The information processing device according to claim 1.
前記情報処理装置は、
前記複数の制御装置それぞれから、前記複数の制御装置それぞれが受信した複数種類の所定の処理それぞれの要求量を受信する受信部をさらに備え、
前記処理部は、線形計画法において、前記複数種類の所定の処理のうちの種類iの所定の処理(1≦i≦所定の処理の種類の数)のメッセージの宛先装置の総数に対する制御装置j(1≦j≦制御装置の数)の制御対象の装置の数の割合を定数Aijとし、前記制御装置jに振り分けられる前記種類iの所定の処理の要求量を変数Xijとして、Σj
ij(Σj:jに関する足し合わせ)を前記制御装置jに振り分け可能な要求量の上限値
とし、ΣiXij(Σi:iに関する足し合わせ)を前記種類iの所定の処理についての前記複数の制御装置それぞれが受信した要求量の総和とする制約条件のもとで、目的関数ΣAij*Xij(*は乗算記号)を最大化させる、前記制御装置jに振り分けられる前記
種類iの所定の処理の要求量Xijの値を取得し、取得された前記Xijの値の、前記種類iの所定の処理についての前記複数の制御装置それぞれが受信した要求量の総和に対する割合を、前記種類iの所定の処理の要求の前記制御装置jへの振り分けに用いられる重みとして決定する、
請求項1に記載の情報処理装置。
The information processing device
A receiving unit that receives a request amount of each of a plurality of types of predetermined processes received by each of the plurality of control devices is further provided from each of the plurality of control devices.
In the linear planning method, the processing unit is a control device for the total number of devices to which messages of a predetermined process of type i (1 ≤ i ≤ number of predetermined process types) among the plurality of types of predetermined processes are addressed. j the ratio of the number of equipment of the control object (the number of 1 ≦ j ≦ controller) and a constant Aij, the required amount of a given process of the type i to be allocated to the control unit j as variables Xij, sigma j X
ij (addition related to Σ j : j) is set as the upper limit of the required amount that can be distributed to the control device j, and Σ i Xij (addition related to Σ i : i) is set as the plurality of the predetermined processes of the type i. Predetermined processing of the type i assigned to the control device j that maximizes the objective function ΣAij * Xij (* is a multiplication symbol) under a constraint condition that is the sum of the requested amounts received by each of the control devices of The value of the requested amount Xij of the above is acquired, and the ratio of the acquired value of the Xij to the sum of the requested amounts received by each of the plurality of control devices for the predetermined process of the type i is determined by the predetermined type i. Is determined as a weight used for distributing the processing request to the control device j.
The information processing device according to claim 1.
複数の制御装置間で振り分けられた要求のうち自装置に振り分けられた要求を受信する第1の受信部と、前記自装置に振り分けられた要求に応じて所定の処理を実行してメッセージを生成し、前記メッセージの宛先置が自装置の制御対象の装置である場合には前記メッセージを前記宛先装置に送信し、前記メッセージの宛先置が他の制御装置の制御対象の装置である場合には前記メッセージを前記他の制御装置に転送する制御部と、を備える前記複数の制御装置それぞれから、前記複数の制御装置それぞれが前記所定の処理を実行することによって生成されたメッセージについて、前記複数の制御装置それぞれから前記複数の制御装置それぞれの制御対象の装置に送信された第1のメッセージの量と、前記複数の制御装置それぞれから他の制御装置に転送された第2のメッセージの量と、を受信する受信部と、
前記複数の制御装置それぞれの、前記複数の制御装置それぞれによる前記所定の処理によって生成されたメッセージ総量に対する前記第1のメッセージの量の第1の比率又は前記第2のメッセージの量の第2の比率に基づいて、前記第1の比率が高い又は前記第2の比率が低い制御装置ほど当該制御装置へ振り分けられる前記所定の処理の要求量が多くなるように、前記複数の制御装置それぞれについて、前記所定の処理の要求の振り分けに用いられる重みを決定する処理部と、
を備える情報処理装置。
A first receiving unit that receives a request distributed to its own device among the requests distributed among a plurality of control devices, and a predetermined process is executed according to the request distributed to the own device to generate a message. and, if the equipment of the destination of the message is a device of the control target of its own device transmits the message to the device of the destination equipment of the destination of the message control target device of another control device In the case of, a message generated by each of the plurality of control devices executing the predetermined process from each of the plurality of control devices including a control unit for transferring the message to the other control device. The amount of the first message transmitted from each of the plurality of control devices to the device to be controlled by each of the plurality of control devices, and the second message transferred from each of the plurality of control devices to another control device. The amount of messages, the receiver that receives, and
A first ratio of the amount of the first message to the total amount of messages generated by the predetermined processing by each of the plurality of control devices, or a second of the amount of the second message. Based on the ratio, for each of the plurality of control devices, the control device having a higher first ratio or a lower second ratio requires a larger amount of the predetermined processing to be distributed to the control device. A processing unit that determines the weight used for distributing the request for the predetermined processing, and a processing unit that determines the weight.
Information processing device equipped with.
前記複数の制御装置それぞれは、複数種類の所定の処理を実行して、メッセージを生成し、
前記受信部は、前記複数の制御装置それぞれから、前記複数種類の所定の処理それぞれについての、前記第1のメッセージの量と、前記第2のメッセージの量とを受信し、
前記処理部は、前記複数の制御装置それぞれによって実行される前記複数種類の所定の処理それぞれについて、前記第1の比率又は第2の比率を求め、前記複数種類の所定の処理それぞれについて、前記複数の制御装置それぞれへの前記要求の振り分けに用いられる重みを決定する、
請求項4に記載の情報処理装置。
Each of the plurality of control devices executes a plurality of types of predetermined processes to generate a message.
The receiving unit receives from each of the plurality of control devices the amount of the first message and the amount of the second message for each of the plurality of types of predetermined processes.
The processing unit obtains the first ratio or the second ratio for each of the plurality of types of predetermined processes executed by each of the plurality of control devices, and the plurality of the plurality of predetermined processes for each of the plurality of types. Determines the weights used to distribute the requirements to each of the controllers in
The information processing device according to claim 4.
前記処理部は、前記複数の制御装置それぞれについて振り分け可能な要求量の上限値を決定し、前記第1の比率又は第2の比率と、前記要求量の上限値とに基づいて、前記第1の比率が高い又は前記第2の比率が低い制御装置ほど当該制御装置へ振り分けられる前記所定の処理の要求量が多くなるように、且つ、前記複数の制御装置それぞれに振り分けられる要求量が前記複数の制御装置それぞれの前記上限値を超えないように、前記複数の制御装置それぞれへの前記要求の振り分けに用いられる重みを決定する、
請求項4又は5に記載の情報処理装置。
The processing unit determines an upper limit value of a required amount that can be distributed to each of the plurality of control devices, and based on the first ratio or the second ratio and the upper limit value of the required amount, the first The control device having a higher ratio of The weight used for distributing the request to each of the plurality of control devices is determined so as not to exceed the upper limit value of each of the control devices.
The information processing device according to claim 4 or 5.
前記受信部は、前記複数の制御装置それぞれから、前記複数の制御装置それぞれが受信した複数種類の所定の処理のそれぞれの要求量をさらに受信し、
前記処理部は、線形計画法において、制御装置j(1≦j≦制御装置の数)が実行する前記複数種類の所定の処理のうちの種類iの所定の処理(1≦i≦処理の種類の数)についての前記第1の比率又は前記第2の比率を定数Aijとし、前記制御装置jに振り分けられる前記種類iの所定の処理の要求量を変数Xijとして、ΣjXij(Σj:jに関する足し合わせ)を前記制御装置jが処理可能な要求量の上限値とし、ΣiXij(Σi:iに関する足し合わせを前記種類iの所定の処理についての前記複数の制御装置それぞれが
受信した要求量の総和とする制約条件のもとで、目的関数ΣAij*Xij(*は乗算記
号)を最大化又は最小化させる、前記制御装置jに振り分けられる前記種類iの所定の処理の要求量Xijの値を取得し、取得された前記Xijの値の、前記種類iの所定の処理についての前記複数の制御装置それぞれが受信した要求量の総和に対する割合を、前記複数の制御装置jへの前記種類iの所定の処理の要求の振り分けに用いられる重みとして決定する、
請求項6に記載の情報処理装置。
The receiving unit, from each of the plurality of control devices, further receives the respective requirements of the double several predetermined process each of the plurality of control apparatus has received,
In the linear programming method, the processing unit is a predetermined process of type i (type of 1 ≦ i ≦ processing) among the plurality of types of predetermined processing executed by the control device j (1 ≦ j ≦ the number of control devices). Σ j Xij (Σ j :), where the first ratio or the second ratio with respect to (number of The addition related to j) is set as the upper limit of the required amount that can be processed by the control device j, and the addition related to Σ i Xij (Σ i : i) is received by each of the plurality of control devices for a predetermined process of the type i. The required amount of the predetermined processing of the type i allocated to the control device j that maximizes or minimizes the objective function ΣAij * Xij (* is a multiplication symbol) under the constraint condition that is the sum of the requested amounts. The value of Xij is acquired, and the ratio of the acquired value of Xij to the sum of the requested amounts received by each of the plurality of control devices for a predetermined process of the type i is assigned to the plurality of control devices j. Determined as the weight used for sorting the requirements for the predetermined processing of the type i.
The information processing device according to claim 6.
前記受信部は、前記複数の制御装置それぞれから、前記複数の制御装置それぞれが受信した複数種類の所定の処理のそれぞれの要求量をさらに受信し、
前記処理部は、前記複数の制御装置それぞれの処理可能な要求量の上限値と、前記複数種類の所定の処理それぞれの、前記複数の制御装置への要求の総量とに基づいて、前記複数種類の所定の処理それぞれについて、前記複数の制御装置のそれぞれが実行する前記複数種類の所定の処理それぞれについての前記第1の比率のうち最も高い値の第1の比率に対応する制御装置j(1≦j≦制御装置の数)に種類iの所定の処理(1≦i≦所定の処理の種類の数)の要求を割り当てる第1の処理を行い、前記制御装置jが実行する前記種類iの所定の処理についての前記第1の比率を第1の比率Aijとした場合に、前記第1の比率の高い順番で当該第1の比率Aijについて、前記制御装置jに割り当てられる要求量が前記要求量の上限値に達したら、前記制御装置jを除外した残りの制御装置について、前記複数種類の所定の処理それぞれの要求量の総数が0になるまで前記第1の処理を繰り返し実行し、前記複数の制御装置それぞれに割り当てられた前記複数種類の所定の処理それぞれの要求量の比率を、前記複数種類の所定の処理それぞれについて、前記複数の制御装置それぞれへの前記要求の振り分けに用いられる重みとして決定する、
請求項6に記載の情報処理装置。
The receiving unit, from each of the plurality of control devices, further receives the respective requirements of the double several predetermined process each of the plurality of control apparatus has received,
The processing unit has the plurality of types based on the upper limit of the amount of demand that can be processed by each of the plurality of control devices and the total amount of requests to the plurality of control devices for each of the plurality of types of predetermined processing. For each of the predetermined processes of the above, the control device j (1) corresponding to the first ratio of the highest value among the first ratios for each of the plurality of types of predetermined processes executed by each of the plurality of control devices. The first process of assigning a request for a predetermined process of type i (1 ≤ i ≤ the number of types of predetermined processes) to (≦ j ≦ the number of control devices) is performed, and the control device j executes the first process of the type i. When the first ratio for a predetermined process is set to the first ratio Aij, the required amount assigned to the control device j is the required amount for the first ratio Aij in descending order of the first ratio. When the upper limit of the amount is reached, the first process is repeatedly executed for the remaining control devices excluding the control device j until the total number of requested amounts of each of the plurality of types of predetermined processes becomes 0. The ratio of the required amount of each of the plurality of types of predetermined processes assigned to each of the plurality of control devices is used to distribute the request to each of the plurality of control devices for each of the plurality of types of predetermined processes. Decide as,
The information processing device according to claim 6.
前記処理部は、前記決定された重みが所定の閾値よりも低い制御装置について、前記決定された重みに対応する制御装置による前記決定された重みに対応する所定の処理の停止を判定する、
請求項4から8のいずれか一項に記載の情報処理装置。
For a control device whose determined weight is lower than a predetermined threshold value, the processing unit determines to stop a predetermined process corresponding to the determined weight by the control device corresponding to the determined weight.
The information processing device according to any one of claims 4 to 8.
前記処理部は、前記複数の制御装置のそれぞれの前記要求量の上限値を、所定の許容範囲を有する値として決定する、
請求項3、7、8のいずれか一項に記載の情報処理装置。
The processing unit determines an upper limit value of the required amount of each of the plurality of control devices as a value having a predetermined allowable range.
The information processing device according to any one of claims 3, 7, and 8.
前記受信部は、前記複数の制御装置それぞれから、前記複数の制御装置それぞれが受信した前記複数種類の所定の処理それぞれの要求量をさらに受信し、
前記処理部は、前記複数の制御装置のそれぞれの前記要求量の上限値を、前記複数の制御装置それぞれが受信した前記複数種類の所定の処理それぞれの要求量の総和を前記複数の制御装置の台数で割った値とする、
請求項3、7、8のいずれか一項に記載の情報処理装置。
The receiving unit further receives from each of the plurality of control devices the requested amount of each of the plurality of types of predetermined processes received by each of the plurality of control devices.
The processing unit sets the upper limit of the required amount of each of the plurality of control devices and the sum of the requested amounts of each of the plurality of types of predetermined processes received by each of the plurality of control devices of the plurality of control devices. Divide by the number of units,
The information processing device according to any one of claims 3, 7, and 8.
前記処理部は、前記複数の制御装置それぞれの前記要求量の上限値を、前記複数の制御装置それぞれの処理性能に応じて決定する、
請求項3、7、8のいずれか一項に記載の情報処理装置。
The processing unit determines an upper limit value of the required amount of each of the plurality of control devices according to the processing performance of each of the plurality of control devices.
The information processing device according to any one of claims 3, 7, and 8.
コンピュータが、
複数の制御装置間で振り分けられた要求のうち自装置に振り分けられた要求を受信する第1の受信部と、前記自装置に振り分けられた要求に応じて所定の処理を実行し、メッセージを生成し、前記メッセージの宛先置が自装置の制御対象の装置である場合には前記メッセージを前記宛先装置に送信し、前記メッセージの宛先置が他の制御装置
制御対象の装置である場合には前記メッセージを前記他の制御装置に転送する制御部と、を備える前記複数の制御装置それぞれについて、制御対象とする装置の情報を記憶する記憶部と、
前記複数の制御装置それぞれについて、前記所定の処理の要求の振り分けに用いられる重みを、制御対象とする装置の数が多い制御装置ほど当該制御装置へ振り分けられる前記所定の処理の要求量が多くなるように、決定する負荷分散制御方法。
The computer
A first receiving unit that receives a request distributed to its own device among the requests distributed among a plurality of control devices, and a predetermined process is executed according to the request distributed to the own device to generate a message. and, if the equipment of the destination of the message is a device of the control target of its own device transmits the message to the device of the destination equipment of the destination of the message of another control device
In the case of a device to be controlled, a control unit that transfers the message to the other control device, and a storage unit that stores information on the device to be controlled for each of the plurality of control devices.
For each of the plurality of control devices, the weights used for distribution of requests for the predetermined processing, demand of the predetermined processing is distributed number of that equipment to the control target to the many control device as the control device become so many, to determine the load sharing control method.
コンピュータが、
複数の制御装置間で振り分けられた要求のうち自装置に振り分けられた要求を受信する第1の受信部と、前記自装置に振り分けられた要求に応じて所定の処理を実行してメッセージを生成し、前記メッセージの宛先置が自装置の制御対象の装置である場合には前記メッセージを前記宛先装置に送信し、前記メッセージの宛先置が他の制御装置の制御対象の装置である場合には前記メッセージを前記他の制御装置に転送する制御部と、を備える前記複数の制御装置それぞれから、前記複数の制御装置それぞれが前記所定の処理を実行することによって生成されたメッセージについて、前記複数の制御装置それぞれから前記複数の制御装置のそれぞれの制御対象の装置に送信された第1のメッセージの量と、前記複数の制御装置それぞれから他の制御装置に転送された第2のメッセージの量と、を受信し、
前記複数の制御装置それぞれの、前記複数の制御装置それぞれによる前記所定の処理によって生成されたメッセージ総量に対する前記第1のメッセージの量の第1の比率又は前記第2のメッセージの量の第2の比率に基づいて、前記第1の比率が高い又は前記第2の比率が低い制御装置ほど当該制御装置に振り分けられる前記所定の処理の要求量が多くなるように、前記複数の制御装置それぞれについて、前記所定の処理の要求の振り分けに用いられる重みを決定する、
負荷分散制御方法。
The computer
A first receiving unit that receives a request distributed to its own device among the requests distributed among a plurality of control devices, and a predetermined process is executed according to the request distributed to the own device to generate a message. and, if the equipment of the destination of the message is a device of the control target of its own device transmits the message to the device of the destination equipment of the destination of the message control target device of another control device In the case of, a message generated by each of the plurality of control devices executing the predetermined process from each of the plurality of control devices including a control unit for transferring the message to the other control device. The amount of the first message transmitted from each of the plurality of control devices to each of the controlled devices of the plurality of control devices, and the second message transferred from each of the plurality of control devices to another control device. The amount of messages, and received,
A first ratio of the amount of the first message to the total amount of messages generated by the predetermined processing by each of the plurality of control devices, or a second of the amount of the second message. Based on the ratio, for each of the plurality of control devices, the control device having a higher first ratio or a lower second ratio requires a larger amount of the predetermined processing to be distributed to the control device. Determines the weights used to distribute the requirements for the predetermined process.
Load balancing control method.
前記処理部は、
前記複数の制御装置それぞれが制御対象とする複数の装置から1又は複数の装置を選択し、
選択された装置を制御対象とする制御装置が他の制御装置に変更された場合に、前記複数の制御装置間で転送されるメッセージ量が削減され、且つ、前記複数の制御装置それぞれから前記複数の装置へ送信されるメッセージ量が前記複数の制御装置間で均等であることを含む条件を前記選択された装置が満たすか否かを判定し、
前記選択された装置が前記条件を満たす場合に、前記選択された装置を制御対象とする制御装置を他の制御装置に変更することを判定する、
請求項1から12のいずれか一項に記載の情報処理装置。
The processing unit
Select multiple instrumentation placed al one or more of equipment, each of the plurality of control apparatus is a control object,
When the control device for the selected equipment and the controlled object is changed to another control device, the amount of messages that are transferred between a plurality of control devices is reduced, and, from said each of the plurality of control devices the conditions under which the amount of messages sent to a plurality of equipment includes that uniform among the plurality of control devices to determine whether the selected equipment satisfies,
Determining that the selected equipment is if the condition is satisfied, it changes the control device to be controlled to the selected equipment to another control device,
The information processing device according to any one of claims 1 to 12.
前記処理部は、
前記複数の装置から、1又は複数の装置を選択する事例を示す事例情報を複数生成し、
生成した前記複数の事例情報のそれぞれについて、選択された装置を制御対象とする制御装置を他の制御装置に変更した場合について、前記重みを決定し、決定した重みに基づいて前記所定の処理の要求の振り分けをシミュレートして、前記複数の制御装置間で転送されるメッセージ量と、前記複数の制御装置それぞれから制御対象とする複数の装置へ送信されるメッセージ量の前記複数の制御装置間でのばらつきを示す指標値と、を取得し、
前記条件として、前記ばらつきを示す指標値が所定の閾値以下である事例情報のうち最も制御装置間で転送されるメッセージ量が少ない事例情報を抽出し、抽出された事例情報において選択された1又は複数の装置を制御対象とする制御装置を他の制御装置に変更することを判定する、
請求項15に記載の情報処理装置。
The processing unit
Wherein the plurality of instrumentation placed et al, to generate a plurality of case information indicating a case of selecting one or more equipment,
For each of the generated plurality of case information, the case of changing the controller to be controlled the selected equipment to another control device, to determine the weights, it determined the predetermined processing based on the weight was sorting and simulate the request, the amount of messages that are transferred between the plurality of control devices, said plurality of control of the amount of messages sent to a plurality of equipment to be controlled from each of the plurality of control devices Obtain the index value, which indicates the variation between devices, and
As the condition, one or one selected in the extracted case information is extracted from the case information in which the index value indicating the variation is equal to or less than a predetermined threshold value and the amount of messages transferred between the control devices is the smallest. It determines to change the control unit to be controlled a plurality of equipment to another control device,
The information processing device according to claim 15.
前記複数の制御装置それぞれは、複数種類の所定の処理を実行して、メッセージを生成し、
前記処理部は、前記複数種類の所定の処理から、前記複数の制御装置それぞれから前記制御対象の複数の装置に送信されたメッセージ量が前記複数の制御装置間で均等である第1の種類を取得し、前記第1の種類の所定の処理のメッセージの受信メッセージ量の多い上位の1又は複数の装置を取得し、前記複数の装置から前記取得した1又は複数の装置を選択する事例情報を生成する、
請求項16に記載の情報処理装置。
Each of the plurality of control devices executes a plurality of types of predetermined processes to generate a message.
Wherein the processing unit, the plurality of types of the predetermined process, the first type message volume which is transmitted to a plurality of equipment of the controlled object from each of the plurality of control devices is equal among the plurality of control devices acquires, selecting the first type of acquired one or more equipment received message intensive upper predetermined processing of the message, said plurality of instrumentation placed et the acquired one or more equipment Generate case information
The information processing device according to claim 16.
JP2017028289A 2016-05-26 2017-02-17 Information processing device and load balancing control method Active JP6938944B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/581,168 US10397315B2 (en) 2016-05-26 2017-04-28 Information processing apparatus and load distribution control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016105589 2016-05-26
JP2016105589 2016-05-26

Publications (3)

Publication Number Publication Date
JP2017215933A JP2017215933A (en) 2017-12-07
JP2017215933A5 JP2017215933A5 (en) 2020-02-06
JP6938944B2 true JP6938944B2 (en) 2021-09-22

Family

ID=60575703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017028289A Active JP6938944B2 (en) 2016-05-26 2017-02-17 Information processing device and load balancing control method

Country Status (1)

Country Link
JP (1) JP6938944B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286656B (en) * 2020-10-21 2023-08-29 百度在线网络技术(北京)有限公司 Applet simulation method, apparatus, electronic device, and computer-readable storage medium
WO2023218663A1 (en) * 2022-05-13 2023-11-16 楽天モバイル株式会社 Execution platform determination system and execution platform determination method
WO2023218664A1 (en) * 2022-05-13 2023-11-16 楽天モバイル株式会社 Replacement system and replacement method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011083780A1 (en) * 2010-01-05 2013-05-13 日本電気株式会社 Communication system, control device, processing rule setting method, packet transmission method and program
EP2811701B1 (en) * 2012-02-02 2019-07-24 Nec Corporation Controller, load-balancing method, computer program product and computer system
WO2014046875A1 (en) * 2012-09-20 2014-03-27 Ntt Docomo, Inc. A method and apparatus for topology and path verification in networks

Also Published As

Publication number Publication date
JP2017215933A (en) 2017-12-07

Similar Documents

Publication Publication Date Title
JP7257728B2 (en) Method, computer program and computer system for dynamic selection of deployment configurations of software applications
CN108009016B (en) Resource load balancing control method and cluster scheduler
US10255052B2 (en) Dynamic deployment of an application based on micro-services
US10841241B2 (en) Intelligent placement within a data center
CN110869909B (en) System and method for applying machine learning algorithms to calculate health scores for workload scheduling
US8793381B2 (en) Workload adaptive cloud computing resource allocation
US10616370B2 (en) Adjusting cloud-based execution environment by neural network
US9092266B2 (en) Scalable scheduling for distributed data processing
US20160380908A1 (en) Resource Prediction for Cloud Computing
JP5121936B2 (en) RESOURCE ALLOCATION DEVICE, RESOURCE ALLOCATION PROGRAM, RECORDING MEDIUM, AND RESOURCE ALLOCATION METHOD
CN108463988A (en) The network file of load balancing accesses
JPWO2008102739A1 (en) Virtual server system and physical server selection method
JP6938944B2 (en) Information processing device and load balancing control method
US10397315B2 (en) Information processing apparatus and load distribution control method
JP7119082B2 (en) Application Prioritization for Automatic Diagonal Scaling in Distributed Computing Environments
JP2014513852A (en) Scalable centralized dynamic resource distribution in cluster data grids
WO2016040699A1 (en) Computing instance launch time
US11489735B2 (en) Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium
KR20200062299A (en) Transaction selection device for selecting blockchain transactions
Naik et al. Multiobjective virtual machine selection for task scheduling in cloud computing
US20160019090A1 (en) Data processing control method, computer-readable recording medium, and data processing control device
CN114207589A (en) Computing platform optimization over the lifetime of workloads in a distributed computing environment
CN107483634B (en) Load balancing method and system
IL301738A (en) Predictive block storage size provisioning for cloud storage volumes
JPWO2016084327A1 (en) Resource prediction apparatus, resource prediction method, resource prediction program, and distributed processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210816

R150 Certificate of patent or registration of utility model

Ref document number: 6938944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150