JP2017225001A - Parallel load distribution system, parallel load distribution method, sdn controller host and program - Google Patents

Parallel load distribution system, parallel load distribution method, sdn controller host and program Download PDF

Info

Publication number
JP2017225001A
JP2017225001A JP2016119286A JP2016119286A JP2017225001A JP 2017225001 A JP2017225001 A JP 2017225001A JP 2016119286 A JP2016119286 A JP 2016119286A JP 2016119286 A JP2016119286 A JP 2016119286A JP 2017225001 A JP2017225001 A JP 2017225001A
Authority
JP
Japan
Prior art keywords
packet
processing
sdn
host
processing 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.)
Granted
Application number
JP2016119286A
Other languages
Japanese (ja)
Other versions
JP6546566B2 (en
Inventor
匡彦 北村
Tadahiko Kitamura
匡彦 北村
博之 君山
Hiroyuki Kimiyama
博之 君山
藤井 竜也
Tatsuya Fujii
竜也 藤井
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016119286A priority Critical patent/JP6546566B2/en
Publication of JP2017225001A publication Critical patent/JP2017225001A/en
Application granted granted Critical
Publication of JP6546566B2 publication Critical patent/JP6546566B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To assign multiple requests generated asynchronously, arriving at different SDN switches and required to be processed on the same processing server to desired processing servers.SOLUTION: An SDN controller host provided in a parallel load distribution system, including multiple client hosts, multiple processing servers for processing requests of the client hosts, and multiple SDN switches, has: a switch control information communication unit for receiving a first packet of the requests, out of the packets where the same identification information is added to the requests performing the processing on the same processing server, for the requests issued by the client hosts, from the SDN switches by packet in transfer; and a load distribution host assignment function unit for assigning the processing server with reference to a load distribution database managing available processing servers, on the basis of the identification information of packets received from the SDN switches.SELECTED DRAWING: Figure 1

Description

本発明は、並列負荷分散システム、並列負荷分散方法、SDN(Software Defined Networking)コントローラホスト及びプログラムに関し、特に、分散的に配置されたSDNスイッチ間での協調的な動作を制御するための技術に関する。   The present invention relates to a parallel load distribution system, a parallel load distribution method, an SDN (Software Defined Networking) controller host, and a program, and more particularly, to a technique for controlling cooperative operation between distributed SDN switches. .

非常に負荷が高い計算機処理を高速に実行するには複数の計算機(処理サーバ)をネットワークで接続し並列分散的に処理する負荷分散処理方式が用いられる。また、ユーザアクセス数が膨大であるWebサービスに見られるような小さい処理が非常に多く発生するような場合にも、同様のネットワーク接続された複数の処理サーバにおいて、それぞれの処理を負荷分散する方式が用いられる。特に、最近ではIP(Internet Protocol)を基本にしたインターネットによって複数台の処理サーバが接続され、負荷分散処理がなされる場合が多い。   In order to execute computer processing with very high load at high speed, a load distribution processing method is used in which a plurality of computers (processing servers) are connected via a network and processed in a parallel and distributed manner. In addition, even when a large number of small processes, such as those seen in Web services with a large number of user accesses, occur, a method that distributes the load of each process on multiple processing servers connected to the same network Is used. In particular, recently, a plurality of processing servers are connected by the Internet based on IP (Internet Protocol) and load distribution processing is often performed.

このような負荷分散処理方式では、処理要求(リクエスト)を発行するクライアントホストと処理を行う処理サーバ群の間にリクエストの処理振分けを行う負荷分散装置(ロードバランサ)を設置することで、動的に負荷分散を行うことが多い。ロードバランサではリクエストとそれに対するレスポンスデータの転送速度を高く保ちつつ処理振分け機能を提供することが求められる。   In such a load distribution processing method, a load distribution device (load balancer) that distributes request processing is installed between a client host that issues a processing request (request) and a processing server group that performs processing. In many cases, load balancing is performed. A load balancer is required to provide a processing distribution function while maintaining a high transfer rate of requests and response data.

この速度性能要件を満たす一つの実現手段として、SDNスイッチを用いたロードバランス方式がある。SDNスイッチはネットワーク上から届くパケットの処理部(データプレーン)とそのための制御部(コントローラ)を分離する構造になっている。   One implementation means that satisfies this speed performance requirement is a load balance method using an SDN switch. The SDN switch has a structure in which a processing unit (data plane) for a packet received from the network is separated from a control unit (controller) for that purpose.

データプレーンではユーザが定義したマッチ条件とそれに対する処理(アクション)をスイッチ内のテーブル(フローテーブル)に登録することによって高速な転送処理やパケットヘッダの書き換え処理が可能である。また、データプレーンとコントローラとの間のパケット転送の機能(パケットイン・パケットアウト)があるためデータプレーン内では実行不可能な処理であっても、コントローラへパケット転送して、任意の処理を施して再度データプレーンに転送することが可能になっている。SDNスイッチを用いたロードバランスは、コントローラ内で処理割り当て処理に基づいてデータプレーン内の転送およびヘッダ書き換え機能を用いることで実現可能である。   In the data plane, by registering a match condition defined by the user and a process (action) for the match condition in a table (flow table) in the switch, high-speed transfer processing and packet header rewrite processing are possible. In addition, because there is a packet transfer function (packet in / packet out) between the data plane and the controller, even if the processing cannot be executed in the data plane, the packet is transferred to the controller and given arbitrary processing. It is possible to transfer to the data plane again. The load balance using the SDN switch can be realized by using the transfer and header rewriting functions in the data plane based on the process assignment process in the controller.

特開2007−288711号公報,「ゲートウェイ装置、設定コントローラ、ゲートウェイ装置の負荷分散方法及びプログラム」JP 2007-288711 A, “Gateway Device, Setting Controller, Gateway Device Load Balancing Method and Program”

北村 匡彦, 君山 博之, 澤邉 知子, 藤井 竜也, 小島 一成, 丸山 充, "SDNスイッチを使った動的分散処理方式の提案," 信学技報, vol. 115, no. 496, CQ2015-134, pp. 147-151, 2016年3月.Akihiko Kitamura, Hiroyuki Kimiyama, Tomoko Sawazaki, Tatsuya Fujii, Kazunari Kojima, Mitsuru Maruyama, "Proposal of Dynamic Distributed Processing Method Using SDN Switch," IEICE Tech. , pp. 147-151, March 2016.

高負荷の計算処理や膨大な処理リクエストに対する負荷分散において、ロードバランサが単一である場合、リクエストとそれに対するレスポンスデータの転送帯域がロードバランサの物理接続のネットワーク速度によって制限されてしまう。つまり、ネットワークの転送速度がボトルネックとなって処理サーバの計算リソースを使い切ることができない状況が発生する。そこで、ロードバランサ自体も複数台に分散配置することで上記の問題が解決できる。しかし、処理内容によっては異なるクライアントホストから発行される複数のリクエストに対して、同一の処理サーバで処理することが必要である。例えば、異なるクライアントホスト同士が持つ映像データを合成処理する場合などは、同一の処理サーバ上でなければ合成処理することができない。   When a single load balancer is used in a load distribution for a high load calculation process or an enormous number of processing requests, the transfer bandwidth of the request and the response data for the request is limited by the network speed of the physical connection of the load balancer. In other words, a situation occurs in which the processing speed of the processing server cannot be used up due to the network transfer speed becoming a bottleneck. Therefore, the above problem can be solved by distributing the load balancer itself to a plurality of units. However, depending on the processing contents, it is necessary to process a plurality of requests issued from different client hosts by the same processing server. For example, when synthesizing video data held by different client hosts, the synthesizing process can be performed only on the same processing server.

特許文献1ではネットワークからのリクエスト要求のトラヒック量の増減に合わせて処理ノードを追加、削減することを目的にネットワークの入力端、出力端に配置されたスイッチ(分配ルータ)で動的に負荷分散を実施する方式について述べられている。しかし、特許文献1の方式では入力端の分配ルータが単一であるため、分配ルータに入力できるトラヒック量は接続された物理接続の上限値を超えることはできない。特許文献1では主に単一の分配ルータでの負荷分散について述べられており、複数の分配ルータを用いる場合についての同期手段については述べられていない。   In Patent Document 1, load distribution is dynamically performed by switches (distribution routers) arranged at the input and output ends of the network for the purpose of adding and reducing processing nodes in accordance with the increase and decrease of the traffic volume of request requests from the network. The method of implementing is described. However, in the method of Patent Document 1, since there is a single distribution router at the input end, the amount of traffic that can be input to the distribution router cannot exceed the upper limit value of the connected physical connections. Patent Document 1 mainly describes load distribution using a single distribution router, but does not describe synchronization means for using a plurality of distribution routers.

非特許文献1では多段のSDNスイッチおよびSDNコントローラホストを用いた動的な負荷分散方式について述べられている。ただし、非特許文献1では同種のクライアントからのリクエストがすべて単一のSDNスイッチに到着するため、異なるSDNスイッチ間、もしくは、異なるSDNコントローラホスト間の同期・協調動作については述べられていない。   Non-Patent Document 1 describes a dynamic load distribution method using a multi-stage SDN switch and an SDN controller host. However, in Non-Patent Document 1, since all requests from the same type of client arrive at a single SDN switch, the synchronization / cooperation between different SDN switches or between different SDN controller hosts is not described.

本発明は、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることを目的とする。   An object of the present invention is to assign a plurality of requests that need to be processed on the same processing server that occurs asynchronously and arrives at different SDN switches to a desired processing server.

本発明の一形態に係る並列負荷分散システムは、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムであって、
SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを更に備え、
前記SDNスイッチは、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
を有し、
前記SDNコントローラホストは、
前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有することを特徴とする。
A parallel load distribution system according to an aspect of the present invention is as follows.
A parallel load distribution system comprising a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
An SDN controller host and a load balancing database for managing available processing servers;
The SDN switch is
In response to a request issued by a client host, a packet receiving unit that receives a packet in which the same identification information is added to a request for processing on the same processing server;
A switch control information communication unit that transfers the first packet of the request among the packets with the same identification information added to the SDN controller host by packet-in,
Have
The SDN controller host is
A switch control information communication unit for receiving a packet transferred by packet-in from the SDN switch;
Based on the packet identification information received from the SDN switch, a processing server is allocated with reference to the load balancing database, and a flow rule for packet transfer between the client host and the allocated processing server is A load balancing host assignment function to register for the SDN switch;
It is characterized by having.

本発明の一形態に係る並列負荷分散方法は、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムにおける並列負荷分散方法であって、
クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、利用可能な処理サーバを管理する負荷分散データベースを参照して処理サーバを割り当てるステップと、
前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
を有することを特徴とする。
A parallel load balancing method according to one aspect of the present invention is as follows.
A parallel load distribution method in a parallel load distribution system comprising a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
A step in which the client host sends a packet with the same identification information added to a request for processing on the same processing server to the SDN switch;
The SDN switch receiving from the client host the packet with the same identification information added to a request for processing on the same processing server;
The SDN switch transferring the first packet of the request among the packets with the same identification information added to the SDN controller host by packet-in;
The SDN controller host receiving a packet transferred by packet-in from the SDN switch;
The SDN controller host assigning a processing server with reference to a load balancing database managing available processing servers based on identification information of packets received from the SDN switch;
The SDN controller host registering a flow rule for packet transfer between the client host and the assigned processing server to the SDN switch;
It is characterized by having.

本発明の一形態に係るSDNコントローラホストは、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムに設けられたSDNコントローラホストであって、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットのうち、リクエストの最初のパケットを、前記SDNスイッチからパケットインによる転送によって受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、利用可能な処理サーバを管理する負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有することを特徴とする。
The SDN controller host according to one aspect of the present invention is:
An SDN controller host provided in a parallel load distribution system including a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
For the request issued by the client host, the first packet of the request is received from the SDN switch by the packet-in transfer among the packets in which the same identification information is added to the request to be processed on the same processing server. A switch control information communication unit,
Based on packet identification information received from the SDN switch, a processing server is allocated with reference to a load balancing database that manages available processing servers, and packet transfer between the client host and the allocated processing server A load balancing host allocation function unit for registering a flow rule for the SDN switch;
It is characterized by having.

本発明の一形態に係るプログラムは、
コンピュータを、上記のSDNコントローラホストの各部として機能させることを特徴とする。
A program according to one aspect of the present invention is:
A computer is caused to function as each part of the above SDN controller host.

本発明によれば、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることが可能になる。   According to the present invention, a plurality of requests that need to be processed on the same processing server that is generated asynchronously and arrives at different SDN switches can be assigned to a desired processing server.

本発明の実施形態に係る並列負荷分散システムの概要を示す図The figure which shows the outline | summary of the parallel load distribution system which concerns on embodiment of this invention. 本発明の実施形態に係る並列負荷分散システムにおける各機能部を示す図The figure which shows each function part in the parallel load distribution system which concerns on embodiment of this invention. 処理サーバデータベース保持部が有する処理サーバデータベースと操作関数とを示す図The figure which shows the processing server database and operation function which a processing server database holding part has 負荷分散割当てデータベース保持部が有する負荷分散割当てデータベースと操作関数とを示す図The figure which shows the load distribution allocation database and operation function which a load distribution allocation database holding part has 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のフローチャートFlowchart of load balancing host allocation processing executed by load balancing host allocation function unit 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のシーケンス図(同時にsetAssingedHost処理が発生しなかった場合)Sequence diagram of load balancing host allocation processing performed by the load balancing host allocation function (when setAssingedHost processing does not occur at the same time) 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のシーケンス図(同時にsetAssingedHost処理が発生した場合)Sequence diagram of load balancing host allocation processing performed by the load balancing host allocation function (when setAssingedHost processing occurs simultaneously) 分散配置されたSDNスイッチによるロードバランスの並列動作の例を示す図The figure which shows the example of the parallel operation of the load balance by the distributed SDN switch 本発明の実施形態に係るクライアントホスト、SDNスイッチ、SDNコントローラホスト、負荷分散データベース又は負荷分散制御ホストのハードウェア構成例を示す図The figure which shows the hardware structural example of the client host which concerns on embodiment of this invention, an SDN switch, an SDN controller host, a load distribution database, or a load distribution control host

以下、図面を参照して本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明の実施形態では、ロードバランサとして分散的に配置された複数台のSDNスイッチに対して、同一サーバ上で処理する必要がある非同期に発生する複数のリクエストを所望の処理サーバに負荷分散割り当てを行い、リクエストおよびレスポンスデータの転送を行う手法について説明する。このとき、複数のリクエストが大量かつ非同期に複数のSDNスイッチに到着する可能性があるため、SDNスイッチ間で分散協調して処理サーバに負荷分散割り当ておよび転送処理を行う必要がある。   In the embodiment of the present invention, a plurality of asynchronously generated requests that need to be processed on the same server for a plurality of SDN switches distributed as load balancers are allocated to a desired processing server. And a method for transferring request and response data will be described. At this time, since a plurality of requests may arrive at a plurality of SDN switches in a large amount and asynchronously, it is necessary to perform load distribution assignment and transfer processing to the processing servers in a distributed and coordinated manner among the SDN switches.

<並列負荷分散システムの概要>
図1に、本発明の実施形態に係る並列負荷分散システムの概要を示す。並列負荷分散システムは、複数のクライアントホスト100−1〜100−6(以下、クライアントホスト100と省略されることがある)と、クライアントホストのリクエストを処理する複数の処理サーバ400−1〜400−6(以下、処理サーバ400と省略されることがある)と、複数のSDNスイッチ300−1〜300−6(以下、SDNスイッチ300と省略されることがある)とを備える。また、並列負荷分散システムは、1つ以上のSDNコントローラホスト600−1、600−2(以下、SDNコントローラホスト600と省略されることがある)と、利用可能な処理サーバを管理する負荷分散データベース700と、負荷分散制御ホスト800とを更に備える。
<Overview of parallel load balancing system>
FIG. 1 shows an outline of a parallel load distribution system according to an embodiment of the present invention. The parallel load distribution system includes a plurality of client hosts 100-1 to 100-6 (hereinafter sometimes abbreviated as the client host 100) and a plurality of processing servers 400-1 to 400- that process requests from the client hosts. 6 (hereinafter may be abbreviated as processing server 400) and a plurality of SDN switches 300-1 to 300-6 (hereinafter abbreviated as SDN switch 300). The parallel load distribution system also includes a load distribution database that manages one or more SDN controller hosts 600-1 and 600-2 (hereinafter sometimes abbreviated as SDN controller host 600) and available processing servers. 700 and a load balancing control host 800 are further provided.

複数のクライアントホスト100−1〜100−6がL2(Layer 2)ネットワークスイッチ200−1、200−3を介して複数のSDNスイッチ300−1〜300−6に接続されている。同一のL2ネットワークスイッチ200−1、200−3に接続された装置同士はお互いに通信可能である。また、SDNスイッチ300は別のL2ネットワークスイッチ200−2、200−4を介して複数の処理サーバ400−1〜400−6に接続されている。複数の処理サーバ400は処理結果を一時的もしくは長期的に保存するためのローカルストレージホスト500−1、500−2に接続されている。   A plurality of client hosts 100-1 to 100-6 are connected to a plurality of SDN switches 300-1 to 300-6 via L2 (Layer 2) network switches 200-1 and 200-3. Devices connected to the same L2 network switch 200-1, 200-3 can communicate with each other. The SDN switch 300 is connected to a plurality of processing servers 400-1 to 400-6 via other L2 network switches 200-2 and 200-4. The plurality of processing servers 400 are connected to local storage hosts 500-1 and 500-2 for storing processing results temporarily or for a long term.

L2ネットワークスイッチ200−2は別の場所に構成された同機能のL2ネットワークスイッチ200−4にL2/L3(Layer 2/Layer 3)ネットワークを介して接続されている。よって、これらのL2ネットワークスイッチ200−2、200−4に接続された複数のSDNスイッチ300と複数の処理サーバ400間は互いに通信が可能である。   The L2 network switch 200-2 is connected to an L2 network switch 200-4 having the same function, which is configured at another location, via an L2 / L3 (Layer 2 / Layer 3) network. Therefore, the plurality of SDN switches 300 and the plurality of processing servers 400 connected to the L2 network switches 200-2 and 200-4 can communicate with each other.

SDNスイッチ300−1、300−2、300−3はSDNコントローラホスト600−1に制御用ネットワークを介して接続されている。同様にSDNスイッチ300−4、300−5、300−6はSDNコントローラホスト600−2に制御用ネットワークを介して接続されている。また、すべてのSDNコントローラホスト600および負荷分散制御ホスト800は制御用ネットワークを介して負荷分散データベース700に接続されている。   The SDN switches 300-1, 300-2, and 300-3 are connected to the SDN controller host 600-1 via a control network. Similarly, the SDN switches 300-4, 300-5, and 300-6 are connected to the SDN controller host 600-2 via a control network. All the SDN controller hosts 600 and the load distribution control host 800 are connected to the load distribution database 700 via the control network.

クライアントホスト100は処理リクエストを接続可能な任意のSDNスイッチ300に対して送信し、リクエストを受信したSDNスイッチ300はSDNコントローラホスト600からの制御に基づいて割り当てられた処理サーバ400にリクエストを転送する。また、処理サーバ400からのレスポンスはそのリクエストを発行したクライアントホスト100に転送する。   The client host 100 transmits a processing request to any connectable SDN switch 300, and the SDN switch 300 that has received the request transfers the request to the assigned processing server 400 based on control from the SDN controller host 600. . Further, the response from the processing server 400 is transferred to the client host 100 that issued the request.

同一サーバ上で処理する必要がある非同期に発生する複数のリクエストを所望の処理サーバに負荷分散割り当てを行うため、並列負荷分散システムにおいて以下の(1)〜(5)を実施する。   The following (1) to (5) are performed in the parallel load distribution system in order to perform load distribution assignment of a plurality of requests generated asynchronously that need to be processed on the same server to a desired processing server.

(1)クライアントホスト100が発行するリクエストに識別情報を定義する
同一処理サーバ上での処理を行うリクエストには同一の識別情報を持たせる。識別情報はSDNスイッチ300のデータプレーン内でマッチ条件が指定可能であることが好ましい。例えば、リクエストがTCP(Transmission Control Protocol)の場合には宛先ポート番号を識別情報として用いることが可能である。なお、リクエストの識別情報は宛先ポート番号に限定されず、同一処理サーバ上での処理が必要となることが識別できれば如何なる識別情報が用いられてもよい。クライアントホスト100は、発行するリクエストに対して識別情報を付加して任意のSDNスイッチ300に送信する。すなわち、クライアントホスト100が、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチ300に送信し、SDNスイッチ300は、クライアントホスト100から、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信する。
(1) Defining identification information in a request issued by the client host 100 Requests for processing on the same processing server are given the same identification information. For the identification information, it is preferable that a match condition can be specified in the data plane of the SDN switch 300. For example, when the request is TCP (Transmission Control Protocol), the destination port number can be used as identification information. Note that the identification information of the request is not limited to the destination port number, and any identification information may be used as long as it can be identified that processing on the same processing server is necessary. The client host 100 adds identification information to the issued request and transmits it to an arbitrary SDN switch 300. In other words, the client host 100 transmits a packet in which the same identification information is added to a request for processing on the same processing server to the SDN switch 300, and the SDN switch 300 receives the request from the client host 100 on the same processing server. A packet in which the same identification information is added to a request for processing is received.

(2)SDNスイッチ300が最初のパケットだけパケットインさせて識別情報を判断する
リクエストを受信したSDNスイッチ300は、同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホスト600に転送する。
(2) The SDN switch 300 packet-in only the first packet to determine the identification information. The SDN switch 300 that has received the request, the packet with the same identification information added thereto, the first packet of the request by SDN Transfer to the controller host 600.

(3)高速データベースによって識別情報に対する処理サーバを割り当て
SDNコントローラホスト600内では、高速データベースを用いて到着した識別情報に対する処理サーバ400を割り当て、管理を行う。すなわち、SDNコントローラホスト600は、SDNスイッチ300からパケットインにより転送されたパケットを受信し、SDNスイッチ300から受信したパケットの識別情報に基づいて、負荷分散データベース700を参照して処理サーバ400を割り当てる。
(3) Assign a processing server for identification information by high-speed database
In the SDN controller host 600, a processing server 400 is assigned and managed for the identification information that arrives using a high-speed database. That is, the SDN controller host 600 receives the packet transferred by the packet-in from the SDN switch 300, and allocates the processing server 400 with reference to the load distribution database 700 based on the identification information of the packet received from the SDN switch 300. .

(4)パケット転送のためのフロールールをSDNスイッチのフローテーブルに書き込む
SDNコントローラホスト600は、割り当て処理が完了した後、パケットイン実施のSDNスイッチ300に対して転送処理のフロールールを投入する。すなわち、SDNコントローラホスト600は、クライアントホスト100と割り当てられた処理サーバ400との間のパケット転送のためのフロールールをSDNスイッチ300に対して登録する。これにより、SDNスイッチ300は、同一の識別情報が付加されたパケットのうちリクエストの2回目以降のパケットに対して、SDNコントローラホスト600により登録されたフロールールに従って転送処理を実施することが可能になる。上記のように、識別情報がSDNスイッチ300のデータプレーン内でマッチ条件が指定可能な識別情報である場合には、SDNスイッチ300は、2回目以降のパケットに対してデータプレーン内で転送処理が完了するため高速に転送処理が実施される。
(4) Write the flow rules for packet transfer to the SDN switch flow table
After the assignment process is completed, the SDN controller host 600 inputs a flow rule for the transfer process to the SDN switch 300 that performs the packet-in. That is, the SDN controller host 600 registers a flow rule for packet transfer between the client host 100 and the assigned processing server 400 in the SDN switch 300. As a result, the SDN switch 300 can perform transfer processing according to the flow rule registered by the SDN controller host 600 for the second and subsequent packets of the request among the packets to which the same identification information is added. Become. As described above, when the identification information is identification information for which a matching condition can be specified in the data plane of the SDN switch 300, the SDN switch 300 performs transfer processing in the data plane for the second and subsequent packets. Transfer processing is performed at high speed for completion.

(5)同一の識別情報を受信したSDNスイッチ300にも同様のフロールールをフローテーブルに書き込む
別のSDNスイッチ300に同一識別情報を持ったリクエストが届いた場合、先と同様に最初のパケットをパケットインによってSDNコントローラホスト600に転送し、高速データベースを用いて負荷分散データベース700を参照して処理サーバ400を割り当て、フロールールを登録する。これにより、処理サーバ400へのリクエストの負荷分散割り当てが可能となる。
(5) Write the same flow rule to the SDN switch 300 that received the same identification information in the flow table. When a request with the same identification information arrives at another SDN switch 300, the first packet is sent as before. The packet is transferred to the SDN controller host 600, and the processing server 400 is assigned by referring to the load distribution database 700 using the high-speed database, and the flow rule is registered. As a result, load distribution allocation of requests to the processing server 400 is possible.

なお、これらのリクエストとそれに伴うパケットインは非同期に発生するため、高速データベース上での排他制御を保証した負荷分散割り当て処理が必要である。具体的には、負荷分散データベース700において複数のSDNコントローラホスト600から同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバ400を割り当てる。   Since these requests and accompanying packet-in occur asynchronously, load distribution allocation processing that guarantees exclusive control on a high-speed database is required. Specifically, when the load distribution database 700 receives an allocation request for a processing server having the same identification information from a plurality of SDN controller hosts 600, the allocation of the processing server having the same identification information is performed by performing exclusive control. The same processing server 400 is assigned to the request.

<並列負荷分散システムの機能部の概要>
図2に、本発明の実施形態に係る並列負荷分散システムにおける各機能部を示す。SDNスイッチ300は、複数のパケット送受信部301−1〜301−N(以下、パケット送受信部301と省略されることがある)と、パケット処理部303と、フローテーブル保持部305と、フローテーブル操作部307と、スイッチ制御情報通信部309とを有する。
<Outline of functional parts of parallel load balancing system>
FIG. 2 shows functional units in the parallel load distribution system according to the embodiment of the present invention. The SDN switch 300 includes a plurality of packet transmission / reception units 301-1 to 301-N (hereinafter sometimes abbreviated as packet transmission / reception unit 301), a packet processing unit 303, a flow table holding unit 305, and a flow table operation. Unit 307 and a switch control information communication unit 309.

SDNスイッチ300のパケット送受信部301は外部ネットワークと接続された物理インタフェースであり、クライアントホスト100や処理サーバ400等からのパケットの送信受信を行う。本実施形態では、パケット送受信部301は、クライアントホスト100が発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信する。   A packet transmitting / receiving unit 301 of the SDN switch 300 is a physical interface connected to an external network, and transmits and receives packets from the client host 100, the processing server 400, and the like. In the present embodiment, the packet transmission / reception unit 301 receives a packet in which the same identification information is added to a request for processing on the same processing server in response to a request issued by the client host 100.

パケット処理部303はパケット受信の度に、フローテーブル操作部307を介してフローテーブル保持部305に登録されているフロールールを参照し、マッチ条件が存在すればそのアクションを実行する。アクションがパケットイン処理である場合、スイッチ制御情報通信部309を介してSDNコントローラホスト600にパケットを転送する。本実施形態では、スイッチ制御情報通信部309は、同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホスト600に転送する。なお、2回目以降のパケットに対しては、後述するようにSDNコントローラホスト600によりフロールールが登録されるため、パケット処理部303は、フローテーブル保持部305に登録されているフロールールを参照して転送処理を実施することができる。逆にSDNコントローラホスト600からパケットアウト処理要求があった場合は、SDNコントローラホスト600から該当パケットを受信し指定されたパケット送受信部301からパケットを出力する。   Every time a packet is received, the packet processing unit 303 refers to the flow rule registered in the flow table holding unit 305 via the flow table operation unit 307, and executes the action if a match condition exists. When the action is packet-in processing, the packet is transferred to the SDN controller host 600 via the switch control information communication unit 309. In the present embodiment, the switch control information communication unit 309 transfers the first packet of the request among the packets with the same identification information added to the SDN controller host 600 by packet-in. Note that for the second and subsequent packets, the flow rule is registered by the SDN controller host 600 as described later, so the packet processing unit 303 refers to the flow rule registered in the flow table holding unit 305. Transfer processing can be performed. Conversely, when there is a packet-out processing request from the SDN controller host 600, the corresponding packet is received from the SDN controller host 600, and the packet is output from the designated packet transmitting / receiving unit 301.

SDNコントローラホスト600は、スイッチ制御情報通信部601と、負荷分散データベース接続部603と、負荷分散ホスト割当て機能部605とを有する。SDNコントローラホスト600はSDNスイッチ300とはスイッチ制御情報通信部601を介して接続されており、また、負荷分散データベース700とは負荷分散データベース接続部603を介して接続されている。   The SDN controller host 600 includes a switch control information communication unit 601, a load distribution database connection unit 603, and a load distribution host allocation function unit 605. The SDN controller host 600 is connected to the SDN switch 300 via the switch control information communication unit 601, and is connected to the load distribution database 700 via the load distribution database connection unit 603.

SDNコントローラホスト600では、SDNスイッチ300からパケットイン要求があった場合にスイッチ制御情報通信部601を介して該当パケットを受信し、負荷分散ホスト割当て機能部605に通知する。本実施形態では、スイッチ制御情報通信部601は、SDNスイッチ300からパケットインにより転送されたリクエストの最初のパケットを受信する。負荷分散ホスト割当て機能部605ではパケットインされたパケットの識別情報に基づいて、負荷分散データベース700を参照して処理サーバ400を割り当てる。その後、クライアントホスト100と割り当てられた処理サーバ400との間のパケット転送のためのフロールールをSDNスイッチ300に対して登録要求を行う。また同時にパケットインされているパケットに対しても同様の転送ルールを適用した後、パケットアウト要求によってSDNスイッチ300に転送する。   When there is a packet-in request from the SDN switch 300, the SDN controller host 600 receives the corresponding packet via the switch control information communication unit 601 and notifies the load distribution host allocation function unit 605. In the present embodiment, the switch control information communication unit 601 receives the first packet of a request transferred from the SDN switch 300 by packet-in. The load distribution host allocation function unit 605 allocates the processing server 400 with reference to the load distribution database 700 based on the identification information of the packet that has been packetized. Thereafter, a registration request is made to the SDN switch 300 for a flow rule for packet transfer between the client host 100 and the assigned processing server 400. At the same time, the same transfer rule is applied to a packet that has been packeted in, and then transferred to the SDN switch 300 by a packet-out request.

負荷分散データベース700は、負荷分散データベース接続部701と、データベース操作部703と、処理サーバデータベース保持部705と、負荷分散割当てデータベース保持部707とを有する。負荷分散データベース700はSDNコントローラホスト600および負荷分散制御ホスト800とは負荷分散データベース接続部701を介して接続されている。   The load distribution database 700 includes a load distribution database connection unit 701, a database operation unit 703, a processing server database holding unit 705, and a load distribution allocation database holding unit 707. The load distribution database 700 is connected to the SDN controller host 600 and the load distribution control host 800 via a load distribution database connection unit 701.

また、負荷分散制御ホスト800は、負荷分散ホスト追加部801と、負荷分散データベース接続部803とを有する。負荷分散制御ホスト800は負荷分散データベース700とは負荷分散データベース接続部803を介して接続されている。   Further, the load distribution control host 800 includes a load distribution host addition unit 801 and a load distribution database connection unit 803. The load distribution control host 800 is connected to the load distribution database 700 via a load distribution database connection unit 803.

負荷分散データベース700ではSDNコントローラホスト600からの処理サーバ割り当てのためのデータベース参照要求があった場合に、後述する要求内容に従いデータベース操作部703が処理サーバデータベース保持部705および負荷分散割当てデータベース保持部707を参照してデータベース処理を行う。データベース操作部703は、複数のSDNコントローラホスト600から同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバ400を割り当てる。また、負荷分散制御ホスト800の負荷分散ホスト追加部801から処理サーバの追加要求があった場合に、処理サーバデータベース保持部705のデータベース更新を実施する。   In the load distribution database 700, when there is a database reference request for processing server allocation from the SDN controller host 600, the database operation unit 703 performs processing server database holding unit 705 and load distribution allocation database holding unit 707 in accordance with the request contents described later. Perform database processing with reference to. When the database operation unit 703 receives an allocation request for a processing server having the same identification information from a plurality of SDN controller hosts 600, the database operation unit 703 performs an exclusive control to respond to an allocation request for the processing server having the same identification information. The same processing server 400 is assigned. In addition, when there is a request for adding a processing server from the load balancing host adding unit 801 of the load balancing control host 800, the database of the processing server database holding unit 705 is updated.

図3に、処理サーバデータベース保持部705が有する処理サーバデータベースと操作関数とを示す。処理サーバデータベース保持部705に保持される処理サーバデータベースはFIFO(First In First Out)型リスト形式のテーブルである。データベース操作部703が処理サーバデータベース保持部705に対して実施するデータベース操作として下記の3つの関数が定義される。   FIG. 3 shows a processing server database and an operation function that the processing server database holding unit 705 has. The processing server database held in the processing server database holding unit 705 is a FIFO (First In First Out) list format table. The following three functions are defined as database operations performed by the database operation unit 703 on the processing server database holding unit 705.

(1)
関数名:addHost
引数:処理サーバ情報(host)
戻り値:True(引数で指定したhostが登録できた場合)又はFalse(引数で指定したhostが登録できなかった場合)
目的・内容:処理サーバの候補を登録する。登録する位置はリストの最後尾である。
(1)
Function name: addHost
Argument: Processing server information (host)
Return value: True (when the host specified by the argument can be registered) or False (when the host specified by the argument cannot be registered)
Purpose / contents: Register processing server candidates. The registration position is at the end of the list.

(2)
関数名:getHost
引数:なし
戻り値:処理サーバ情報(リストの先頭に処理サーバ情報が存在する場合)又はNone(リストの先頭に処理サーバ情報が存在しない場合)
目的・内容:リストの先頭から利用可能な処理サーバを取得する。
(2)
Function name: getHost
Argument: None Return value: Processing server information (when processing server information exists at the top of the list) or None (when processing server information does not exist at the top of the list)
Purpose / Contents: Obtain available processing servers from the top of the list.

(3)
関数名:returnHost
引数:処理サーバ情報(host)
戻り値:True(host情報が登録できた場合)又はFalse(host情報が登録できなかった場合)
目的・内容:getHostによって処理サーバを取得した後に、それが不要であった場合に再度、処理サーバデータベースに処理サーバ情報を返却する。
(3)
Function name: returnHost
Argument: Processing server information (host)
Return value: True (when host information can be registered) or False (when host information cannot be registered)
Purpose / Contents: After acquiring the processing server with getHost, if it is unnecessary, return the processing server information to the processing server database again.

上記の(1)〜(3)の処理はすべてアトミックに実施される。すなわち、ある特定の時間に1つの関数の処理のみが実施され、各処理中に別の処理要求がきた場合、後者の処理はブロックされる。   The processes (1) to (3) are all performed atomically. That is, if only one function is processed at a specific time and another processing request is received during each processing, the latter processing is blocked.

図3に示す処理サーバデータベースは、処理サーバデータベースが空の状態から始めて下記の処理が実施された後の状態を示している。"="は変数への値の代入を意味する。
1. addHost("192.168.100.1:8080")
2. addHost("192.168.100.2:8080")
3. addHost("192.168.100.3:8080")
4. addHost("192.168.100.4:8080")
5. addHost("192.168.100.5:8080")
6. addHost("192.168.100.6:8080")
7. addHost("192.168.100.7:8080")
8. addHost("192.168.100.8:8080")
9. host=getHost()
10. host=getHost()
11. host=getHost()
12. returnHost(host)
図4に、負荷分散割当てデータベース保持部707が有する負荷分散割当てデータベースと操作関数とを示す。負荷分散割当てデータベース保持部707に保持される負荷分散割当データベースはハッシュリスト(連想記憶またはKey-Value-Storeに同じ)形式である。ハッシュのkeyはリクエストの識別情報である。本実施形態ではTCPの宛先ポート番号をリクエストの識別情報として用いる。ハッシュのvalueはkeyで示す識別情報に対して割り当てられた処理サーバ情報である。
The processing server database shown in FIG. 3 shows a state after the following processing is performed starting from a state where the processing server database is empty. "=" Means assigning a value to a variable.
1. addHost ("192.168.100.1:8080")
2. addHost ("192.168.100.2:8080")
3. addHost ("192.168.100.3:8080")
4. addHost ("192.168.100.4:8080")
5. addHost ("192.168.100.5:8080")
6. addHost ("192.168.100.6:8080")
7. addHost ("192.168.100.7:8080")
8. addHost ("192.168.100.8:8080")
9. host = getHost ()
10. host = getHost ()
11. host = getHost ()
12.returnHost (host)
FIG. 4 shows a load distribution allocation database and an operation function that the load distribution allocation database holding unit 707 has. The load distribution allocation database held in the load distribution allocation database holding unit 707 has a hash list (same as associative memory or key-value-store) format. The hash key is request identification information. In this embodiment, a TCP destination port number is used as request identification information. The value of the hash is processing server information assigned to the identification information indicated by key.

データベース操作部703が負荷分散割当てデータベース保持部707に対して実施するデータベース操作関数として下記の2つが定義される。   The following two are defined as database operation functions executed by the database operation unit 703 for the load distribution assignment database holding unit 707.

(1)
関数名:getAssingnedHost
引数:リクエストの識別情報(key)
戻り値:処理サーバ情報(host)(引数で指定したkeyに対する処理サーバ情報が登録されている場合)又はNone(引数で指定したkeyに対する処理サーバ情報が登録されていない場合)
目的・内容:負荷分散割当データベース内にkeyの示す内容を取得する。
(1)
Function name: getAssingnedHost
Argument: Request identification information (key)
Return value: Processing server information (host) (when processing server information for the key specified in the argument is registered) or None (when processing server information for the key specified in the argument is not registered)
Purpose / contents: Get the content indicated by key in the load balancing allocation database.

(2)
関数名:setAssingnedHost
引数:リクエストの識別情報(key), 割り当てられた処理サーバ情報(value)
戻り値:True(引数で指定したkeyに対する処理サーバ情報が登録できた場合)又はFalse(引数で指定したkeyに対する処理サーバ情報が登録できなかった場合)
目的・内容:負荷分散割当データベース内にkeyの示す内容を登録する。すでに同じkeyに対するvalueが登録されている場合、処理は失敗しFalseを返す。
(2)
Function name: setAssingnedHost
Arguments: request identification information (key), assigned processing server information (value)
Return value: True (when processing server information for the key specified in the argument can be registered) or False (when processing server information for the key specified in the argument cannot be registered)
Purpose / contents: Register the content indicated by key in the load balancing allocation database. If a value for the same key has already been registered, the process fails and returns False.

図4に示す負荷分散割当データベースは、空の状態から以下の操作を行った場合に得られるものである。
1. setAssingnedHost(9002, "192.168.100.2:8080")
2. setAssingnedHost(9001, "192.168.100.1:8080")
また、この状態で操作関数を実行した場合下記の結果が得られる。下記の結果では、「:」の左側が操作関数であり、「:」の右側が戻り値である。
1. getAssingnedHost(9001):"192.168.100.1:8080"
2. getAssingnedHost(9003):None
3. setAssingnedHost(9001, "192.168.100.3:8080"):False
4. setAssingnedHost(9003, "192.168.100.3:8080"):True
図5に、負荷分散ホスト割当て機能部605が実施する負荷分散ホスト割当て処理のフローチャートを示す。負荷分散ホスト割当て機能部605はパケットインされたパケットからリクエストの識別情報を抽出しそれに基づいて処理サーバ(nextHost)を決定する。
The load distribution allocation database shown in FIG. 4 is obtained when the following operation is performed from an empty state.
1. setAssingnedHost (9002, "192.168.100.2:8080")
2. setAssingnedHost (9001, "192.168.100.1:8080")
When the operation function is executed in this state, the following result is obtained. In the following results, the left side of “:” is the operation function, and the right side of “:” is the return value.
1. getAssingnedHost (9001): "192.168.100.1:8080"
2. getAssingnedHost (9003): None
3. setAssingnedHost (9001, "192.168.100.3:8080"): False
4. setAssingnedHost (9003, "192.168.100.3:8080"): True
FIG. 5 shows a flowchart of the load distribution host allocation process executed by the load distribution host allocation function unit 605. The load distribution host allocation function unit 605 extracts request identification information from the packet-in packet, and determines a processing server (nextHost) based on the information.

具体的には、負荷分散ホスト割当て機能部605はリクエストの識別情報として宛先ポート番号(target_port)を抽出する(S101)。key=target_port, nextHost=getAssingnedHost(key)により、keyに対する処理サーバ情報が登録されているかを判断する(S103)。keyに対する処理サーバ情報(nextHost)が登録されている場合(S105:No)、処理サーバ情報(nextHost)を返す(S115)。keyに対する処理サーバ情報が登録されていない場合(S105:Yes)、負荷分散ホスト割当て機能部605はnextHost=getHost()により処理サーバ情報を取得し、key=target_port、value=nextHostとして、setAssingnedHost(key, value)により処理サーバ情報を登録する(S107)。setAssingnedHost(key, value)の戻り値をretとして、ret==Trueである場合、すなわち、処理サーバ情報が登録できた場合(S109:Yes)、処理サーバ情報(nextHost)を返す(S115)。ret==Falseである場合、すなわち、処理サーバ情報が登録でなかった場合(S109:No)、returnHost(nextHost)により処理サーバ情報を返却する(S111)。また、nextHost=getAssingnedHost(key)によりkeyに対する処理サーバ情報(nextHost)を取得し(S113)、処理サーバ情報(nextHost)を返す(S115)。   Specifically, the load balancing host allocation function unit 605 extracts a destination port number (target_port) as request identification information (S101). Based on key = target_port, nextHost = getAssingnedHost (key), it is determined whether processing server information for key is registered (S103). When the processing server information (nextHost) for key is registered (S105: No), the processing server information (nextHost) is returned (S115). When the processing server information for key is not registered (S105: Yes), the load balancing host allocation function unit 605 acquires processing server information by nextHost = getHost (), and setsAssingnedHost (key as key = target_port, value = nextHost , value), the processing server information is registered (S107). When the return value of setAssingnedHost (key, value) is ret and ret == True, that is, when the processing server information can be registered (S109: Yes), the processing server information (nextHost) is returned (S115). When ret == False, that is, when the processing server information is not registered (S109: No), the processing server information is returned by returnHost (nextHost) (S111). Further, processing server information (nextHost) for key is acquired by nextHost = getAssingnedHost (key) (S113), and processing server information (nextHost) is returned (S115).

ここで、異なるSDNコントローラホストの負荷分散ホスト割当て機能部605は非同期に処理要求を実施するため、同じ識別情報を持つリクエストに対して同時にsetAssingnedHost操作をした場合の排他制御を行っている。   Here, since the load distribution host allocation function unit 605 of different SDN controller hosts performs processing requests asynchronously, exclusive control is performed when simultaneous setAssingnedHost operations are performed on requests having the same identification information.

図6に、負荷分散ホスト割当て機能部605が実施する負荷分散ホスト割当て処理のシーケンス図を示す。図6は同じ識別情報を持つリクエストに対する同時setAssingnedHost処理が発生しなかった場合のシーケンス図である。はじめにSDNコントローラホスト600−1の負荷分散ホスト割当て機能部605に対して、リクエスト識別情報(TCP宛先ポート番号:target_port)が9001であるパケットがパケットインされる(S201)。その後getAssingedHost操作によって既に負荷分散割当てデータベースに同リクエストの処理サーバが登録されているかを確認する(S203、S203')。登録がなかった場合、戻り値Noneが戻される(S205、S205')。この場合、getHost操作を用いて処理サーバデータベース保持部705の処理サーバデータベースから割当てるべき処理サーバを取得する(S207、S207')。処理サーバ("192.168.100.3:8080")が取得された場合(S209、S209')、setAssingedHostを用いて負荷分散割当てデータベース保持部707の負荷分散割当てデータベースに登録を行う(S211、S211')。登録が成功した場合、戻り値Trueが戻される(S213、S213')。処理サーバ("192.168.100.3:8080")の情報は、リクエストを発行したSDNスイッチのフローテーブルに書き込まれる(S215)。   FIG. 6 shows a sequence diagram of the load balancing host allocation process performed by the load balancing host allocation function unit 605. FIG. 6 is a sequence diagram in the case where simultaneous setAssingnedHost processing for requests having the same identification information has not occurred. First, a packet whose request identification information (TCP destination port number: target_port) is 9001 is packeted in to the load balancing host allocation function unit 605 of the SDN controller host 600-1 (S201). Thereafter, it is confirmed whether or not a processing server for the request is already registered in the load balancing allocation database by a getAssingedHost operation (S203, S203 ′). If there is no registration, a return value None is returned (S205, S205 ′). In this case, the processing server to be allocated is acquired from the processing server database of the processing server database holding unit 705 using the getHost operation (S207, S207 ′). When the processing server (“192.168.100.3:8080”) is acquired (S209, S209 ′), registration is performed in the load distribution allocation database of the load distribution allocation database holding unit 707 using setAssingedHost (S211 and S211 ′). If the registration is successful, a return value True is returned (S213, S213 ′). Information of the processing server (“192.168.100.3:8080”) is written in the flow table of the SDN switch that issued the request (S215).

次にSDNコントローラホスト600−2の負荷分散ホスト割当て機能部605に同リクエスト識別情報を持つパケットがパケットインされる場合(S217)、先ほどと同様にgetAssingnedHostを用いて既に登録されている該当処理サーバ情報を取得する(S219、S219')。この場合、同リクエスト識別情報に対して同じ処理サーバ("192.168.100.3:8080")が取得される(S221、S221')。処理サーバ("192.168.100.3:8080")の情報は、リクエストを発行したSDNスイッチのフローテーブルに書き込まれる(S223)。   Next, when a packet having the same request identification information is packeted into the load balancing host allocation function unit 605 of the SDN controller host 600-2 (S217), the corresponding processing server already registered using getAssingnedHost as before. Information is acquired (S219, S219 ′). In this case, the same processing server (“192.168.100.3:8080”) is acquired for the request identification information (S221, S221 ′). Information of the processing server (“192.168.100.3:8080”) is written into the flow table of the SDN switch that issued the request (S223).

図7に、負荷分散ホスト割当て機能部605が実施する負荷分散ホスト割当て処理のシーケンス図を示す。図7は同じ識別情報を持つリクエストに対する同時setAssingnedHost処理が発生した場合のシーケンス図である。先と同様に、はじめにSDNコントローラホスト600−1の負荷分散ホスト割当て機能部605に対して、リクエスト識別情報(TCP宛先ポート番号:target_port)が9001であるパケットがパケットインされる(S301)。その後getAssingedHost操作によって既に負荷分散割当てデータベースに同リクエストの処理サーバが登録されているかを確認する(S303、S303')。登録がなかった場合、戻り値Noneが戻される(S305、S305')。この場合、getHost操作を用いて処理サーバデータベース保持部705の処理サーバデータベースから割当てるべき処理サーバを取得する(S307、S307')。処理サーバ("192.168.100.3:8080")が取得された場合(S309、S309')、setAssingedHostを用いて負荷分散割当てデータベース保持部707の負荷分散割当てデータベースに登録を行う(S327、S327')。しかし、このgetAssingnedHost操作とsetAssingedHost操作の間にSDNコントローラホスト600−2の負荷分散ホスト割当て機能部605が同様の操作を行ったとする。   FIG. 7 shows a sequence diagram of the load balancing host allocation process performed by the load balancing host allocation function unit 605. FIG. 7 is a sequence diagram when simultaneous setAssingnedHost processing occurs for requests having the same identification information. Similarly to the above, first, a packet whose request identification information (TCP destination port number: target_port) is 9001 is packeted in to the load distribution host allocation function unit 605 of the SDN controller host 600-1 (S301). Thereafter, it is confirmed whether the processing server for the request has already been registered in the load distribution allocation database by a getAssingedHost operation (S303, S303 ′). If there is no registration, a return value None is returned (S305, S305 ′). In this case, the processing server to be allocated is acquired from the processing server database of the processing server database holding unit 705 using the getHost operation (S307, S307 ′). When the processing server (“192.168.100.3:8080”) is acquired (S309, S309 ′), registration is performed in the load distribution allocation database of the load distribution allocation database holding unit 707 using setAssingedHost (S327, S327 ′). However, it is assumed that the load balancing host allocation function unit 605 of the SDN controller host 600-2 performs the same operation between the getAssingnedHost operation and the setAssingedHost operation.

すなわち、SDNコントローラホスト600−2についても以下の操作が行われる。SDNコントローラホスト600−2の負荷分散ホスト割当て機能部605に対して、リクエスト識別情報(TCP宛先ポート番号:target_port)が9001であるパケットがパケットインされる(S311)。その後getAssingedHost操作によって既に負荷分散割当てデータベースに同リクエストの処理サーバが登録されているかを確認する(S313、S313')。登録がなかった場合、戻り値Noneが戻される(S315、S315')。この場合、getHost操作を用いて処理サーバデータベース保持部705の処理サーバデータベースから割当てるべき処理サーバを取得する(S317、S317')。処理サーバ("192.168.100.4:8080")が取得された場合(S319、S319')、setAssingedHostを用いて負荷分散割当てデータベース保持部707の負荷分散割当てデータベースに登録を行う(S321、S321')。登録が成功した場合、戻り値Trueが戻される(S323、S323')。処理サーバ("192.168.100.4:8080")の情報は、リクエストを発行したSDNスイッチのフローテーブルに書き込まれる(S325)。   That is, the following operation is also performed on the SDN controller host 600-2. A packet whose request identification information (TCP destination port number: target_port) is 9001 is packeted in to the load distribution host allocation function unit 605 of the SDN controller host 600-2 (S311). Thereafter, it is confirmed whether a processing server for the request has already been registered in the load distribution allocation database by a getAssingedHost operation (S313, S313 ′). If there is no registration, a return value None is returned (S315, S315 ′). In this case, the processing server to be allocated is acquired from the processing server database of the processing server database holding unit 705 using the getHost operation (S317, S317 ′). When the processing server (“192.168.100.4:8080”) is acquired (S319, S319 ′), registration is performed in the load distribution allocation database of the load distribution allocation database holding unit 707 using setAssingedHost (S321, S321 ′). If the registration is successful, a return value True is returned (S323, S323 ′). Information of the processing server (“192.168.100.4:8080”) is written in the flow table of the SDN switch that issued the request (S325).

この状態で、SDNコントローラホスト600−1の負荷分散ホスト割当て機能部605が行うsetAssingedHost操作の戻り値はFalseになる(S329、S329')。この場合、SDNコントローラホスト600−1の負荷分散ホスト割当て機能部605は再度getAssingnedHost操作によって登録されている処理サーバを取得する(S331、S331')。処理サーバ("192.168.100.4:8080")が取得された場合(S333、S333')、自らgetHost操作によって取得した処理サーバ情報をreturnHost操作によって処理サーバデータベースに戻した後(S335、S335'、S337、S337')、割当て操作を終了する。処理サーバ("192.168.100.4:8080")の情報は、リクエストを発行したSDNスイッチのフローテーブルに書き込まれる(S339)。   In this state, the return value of the setAssingedHost operation performed by the load distribution host allocation function unit 605 of the SDN controller host 600-1 is False (S329, S329 ′). In this case, the load distribution host allocation function unit 605 of the SDN controller host 600-1 acquires the processing server registered by the getAssingnedHost operation again (S331, S331 ′). When the processing server (“192.168.100.4:8080”) is acquired (S333, S333 ′), the processing server information acquired by the getHost operation is returned to the processing server database by the returnHost operation (S335, S335 ′, S337). , S337 ′), the assignment operation is terminated. The information of the processing server (“192.168.100.4:8080”) is written in the flow table of the SDN switch that issued the request (S339).

図8に、分散配置されたSDNスイッチによるロードバランスの並列動作の例を示す。図8には、上記の並列負荷分散システムを用いて並列的にロードバランスを実行している状態が示されている。クライアントホスト100−1および100−2は同一の処理サーバで処理されるデータを有しており、同じリクエスト識別情報を付加してそれぞれSDNスイッチ300−1および300−2に送信している。本発明によってSDNスイッチ300−1および300−2はそれぞれのリクエストを処理サーバ400−1に転送する。同様にクライアントホスト100−3および100−5も同一の識別情報を付加してリクエストをSDNスイッチ300−3および300−5に送信している。この場合、処理サーバ400−5が割り当てられそれぞれのリクエストが処理サーバ400−5に転送される。このようにクライアントホスト100は任意のSDNスイッチ300に対して処理リクエストを非同期に送信することが可能であり、同一の識別情報を持つリクエストは同一の処理サーバ400に転送される。SDNスイッチ300は任意の台数設置可能であり、設置台数を増やすことで転送帯域を広げることが可能である。   FIG. 8 shows an example of load balancing parallel operation by distributed SDN switches. FIG. 8 shows a state in which load balancing is executed in parallel using the parallel load distribution system. The client hosts 100-1 and 100-2 have data to be processed by the same processing server, add the same request identification information, and transmit to the SDN switches 300-1 and 300-2, respectively. In accordance with the present invention, SDN switches 300-1 and 300-2 forward their respective requests to processing server 400-1. Similarly, the client hosts 100-3 and 100-5 add the same identification information and transmit the request to the SDN switches 300-3 and 300-5. In this case, the processing server 400-5 is assigned and each request is transferred to the processing server 400-5. As described above, the client host 100 can asynchronously transmit a processing request to an arbitrary SDN switch 300, and requests having the same identification information are transferred to the same processing server 400. Any number of SDN switches 300 can be installed, and the transfer bandwidth can be expanded by increasing the number of installed SDN switches 300.

<ハードウェア構成例>
図9に、本発明の実施形態に係るクライアントホスト100、SDNスイッチ300、SDNコントローラホスト600、負荷分散データベース700又は負荷分散制御ホスト800のハードウェア構成例を示す。これらの各装置は、CPU(Central Processing Unit)151等のプロセッサ、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置152、ハードディスク等の記憶装置153等から構成されたコンピュータでもよい。例えば、各装置の機能および処理は、記憶装置153又はメモリ装置152に格納されているデータやプログラムをCPU151が実行することによって実現される。また、各装置に必要な情報は、入出力インタフェース装置154から入力され、各装置において求められた結果は、入出力インタフェース装置154から出力されてもよい。
<Hardware configuration example>
FIG. 9 shows a hardware configuration example of the client host 100, the SDN switch 300, the SDN controller host 600, the load distribution database 700, or the load distribution control host 800 according to the embodiment of the present invention. Each of these devices may be a computer including a processor such as a CPU (Central Processing Unit) 151, a memory device 152 such as a RAM (Random Access Memory) and a ROM (Read Only Memory), a storage device 153 such as a hard disk, and the like. . For example, the functions and processes of each device are realized by the CPU 151 executing data and programs stored in the storage device 153 or the memory device 152. Further, information necessary for each device may be input from the input / output interface device 154, and a result obtained in each device may be output from the input / output interface device 154.

<本発明の実施形態の効果>
以上のように、本発明の実施形態によれば、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることが可能になる。
<Effect of Embodiment of the Present Invention>
As described above, according to the embodiment of the present invention, a plurality of requests that need to be processed on the same processing server that is generated asynchronously and arrives at different SDN switches can be allocated to a desired processing server. .

また、異なる複数のSDNスイッチを用いたロードバランスが可能になり、ロードバランサの物理接続の可用帯域を容易に拡張することができる。リクエストに対する負荷分散処理サーバの割り当てが完了した後のそれぞれのSDNスイッチでの転送処理は独立に実施されるため、ロードバランスの可用帯域は各SDNスイッチの可用帯域の総和になる。また、1台のSDNコントローラホストは複数台のSDNスイッチを制御することができるため、既存のコントローラにSDNスイッチを追加・削除する際の設定変更等は不要である。   In addition, load balancing using a plurality of different SDN switches becomes possible, and the usable bandwidth of the physical connection of the load balancer can be easily expanded. Since the transfer processing in each SDN switch after the assignment of the load balancing server to the request is completed independently, the load balancing usable bandwidth is the sum of the usable bandwidths of the respective SDN switches. In addition, since one SDN controller host can control a plurality of SDN switches, there is no need to change settings when adding / deleting SDN switches to / from an existing controller.

<補足>
説明の便宜上、本発明の実施形態に係る並列負荷分散システムの各装置は機能的なブロック図を用いて説明しているが、本発明の実施形態に係る並列負荷分散システムの各装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施形態は、コンピュータに対して本発明の実施形態に係る並列負荷分散システムの各装置の各機能を実現させるプログラム、コンピュータに対して本発明の実施形態に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施形態に係る方法は、実施形態に示す順序と異なる順序で実施されてもよい。
<Supplement>
For convenience of explanation, each device of the parallel load distribution system according to the embodiment of the present invention is described using a functional block diagram. However, each device of the parallel load distribution system according to the embodiment of the present invention is a hardware Hardware, software, or a combination thereof. For example, the embodiment of the present invention is a program that causes a computer to realize each function of each device of the parallel load distribution system according to the embodiment of the present invention, and each procedure of the method according to the embodiment of the present invention for the computer. It may be realized by a program that executes In addition, the functional units may be used in combination as necessary. In addition, the method according to the embodiment of the present invention may be performed in an order different from the order shown in the embodiment.

以上、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てるための手法について説明したが、本発明は、上記の実施形態に限定されることなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変更・応用が可能である。   As described above, the method for allocating a plurality of requests that need to be processed on the same processing server that occurs asynchronously and arrives at different SDN switches to a desired processing server has been described. Without being limited, various modifications and applications are possible within the scope of the gist of the present invention described in the claims.

100−1〜100−6 クライアントホスト
200−1〜200−4 L2ネットワークスイッチ
300−1〜300−6 SDNスイッチ
301−1〜301−N パケット送受信部
303 パケット処理部
305 フローテーブル保持部
307 フローテーブル操作部
309 スイッチ制御情報通信部
400−1〜400−6 処理サーバ
500−1〜500−2 ローカルストレージホスト
600−1〜600−2 SDNコントローラホスト
601 スイッチ制御情報通信部
603 負荷分散データベース接続部
605 負荷分散ホスト割当て機能部
700 負荷分散データベース
701 負荷分散データベース接続部
703 データベース操作部
705 処理サーバデータベース保持部
707 負荷分散割当てデータベース保持部
800 負荷分散制御ホスト
801 負荷分散ホスト追加部
803 負荷分散データベース接続部
100-1 to 100-6 Client host 200-1 to 200-4 L2 network switch 300-1 to 300-6 SDN switch 301-1 to 301-N Packet transmission / reception unit 303 Packet processing unit 305 Flow table holding unit 307 Flow table Operation unit 309 Switch control information communication unit 400-1 to 400-6 Processing server 500-1 to 500-2 Local storage host 600-1 to 600-2 SDN controller host 601 Switch control information communication unit 603 Load distribution database connection unit 605 Load distribution host allocation function unit 700 Load distribution database 701 Load distribution database connection unit 703 Database operation unit 705 Processing server database storage unit 707 Load distribution allocation database storage unit 800 Load distribution control server DOO 801 Load Balancing hosts adding unit 803 load distribution database connection portion

Claims (8)

複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムであって、
SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを更に備え、
前記SDNスイッチは、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
を有し、
前記SDNコントローラホストは、
前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有する並列負荷分散システム。
A parallel load distribution system comprising a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
An SDN controller host and a load balancing database for managing available processing servers;
The SDN switch is
In response to a request issued by a client host, a packet receiving unit that receives a packet in which the same identification information is added to a request for processing on the same processing server;
A switch control information communication unit that transfers the first packet of the request among the packets with the same identification information added to the SDN controller host by packet-in,
Have
The SDN controller host is
A switch control information communication unit for receiving a packet transferred by packet-in from the SDN switch;
Based on the packet identification information received from the SDN switch, a processing server is allocated with reference to the load balancing database, and a flow rule for packet transfer between the client host and the allocated processing server is A load balancing host assignment function to register for the SDN switch;
A parallel load balancing system.
前記SDNコントローラホストが複数存在する場合、
前記負荷分散データベースは、
複数のSDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるデータベース操作部を有する、請求項1に記載の並列負荷分散システム。
If there are multiple SDN controller hosts,
The load balancing database is
Database that assigns the same processing server to allocation requests for processing servers with the same identification information by performing exclusive control when receiving allocation requests for processing servers with the same identification information from multiple SDN controller hosts The parallel load distribution system according to claim 1, further comprising an operation unit.
前記SDNスイッチは、
前記同一の識別情報が付加されたパケットのうちリクエストの2回目以降のパケットに対して、前記SDNコントローラホストにより登録されたフロールールに従って転送処理を実施するパケット処理部を更に有する、請求項1又は2に記載の並列負荷分散システム。
The SDN switch is
The packet processing unit further performs a transfer process according to a flow rule registered by the SDN controller host for a packet after the second request among the packets to which the same identification information is added. 2. The parallel load distribution system according to 2.
前記識別情報は、前記SDNスイッチのデータプレーン内でマッチ条件が指定可能な識別情報であり、
前記SDNスイッチの前記パケット処理部は、前記2回目以降のパケットに対してデータプレーン内で転送処理を実施する、請求項3に記載の並列負荷分散システム。
The identification information is identification information that can specify a match condition in the data plane of the SDN switch,
The parallel load distribution system according to claim 3, wherein the packet processing unit of the SDN switch performs a transfer process in a data plane for the second and subsequent packets.
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムにおける並列負荷分散方法であって、
クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、利用可能な処理サーバを管理する負荷分散データベースを参照して処理サーバを割り当てるステップと、
前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
を有する並列負荷分散方法。
A parallel load distribution method in a parallel load distribution system comprising a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
A step in which the client host sends a packet with the same identification information added to a request for processing on the same processing server to the SDN switch;
The SDN switch receiving from the client host the packet with the same identification information added to a request for processing on the same processing server;
The SDN switch transferring the first packet of the request among the packets with the same identification information added to the SDN controller host by packet-in;
The SDN controller host receiving a packet transferred by packet-in from the SDN switch;
The SDN controller host assigning a processing server with reference to a load balancing database managing available processing servers based on identification information of packets received from the SDN switch;
The SDN controller host registering a flow rule for packet transfer between the client host and the assigned processing server to the SDN switch;
A parallel load balancing method comprising:
前記SDNコントローラホストが複数存在する場合、
前記負荷分散データベースが、複数のSDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるステップを更に有する、請求項5に記載の並列負荷分散方法。
If there are multiple SDN controller hosts,
When the load balancing database receives an allocation request for a processing server having the same identification information from a plurality of SDN controller hosts, by performing exclusive control, it is identical to the allocation request for the processing server having the same identification information. The parallel load distribution method according to claim 5, further comprising a step of assigning the processing servers.
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチとを備える並列負荷分散システムに設けられたSDNコントローラホストであって、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットのうち、リクエストの最初のパケットを、前記SDNスイッチからパケットインによる転送によって受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、利用可能な処理サーバを管理する負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有するSDNコントローラホスト。
An SDN controller host provided in a parallel load distribution system including a plurality of client hosts, a plurality of processing servers for processing client host requests, and a plurality of SDN (Software Defined Networking) switches,
For the request issued by the client host, the first packet of the request is received from the SDN switch by the packet-in transfer among the packets in which the same identification information is added to the request to be processed on the same processing server. A switch control information communication unit,
Based on packet identification information received from the SDN switch, a processing server is allocated with reference to a load balancing database that manages available processing servers, and packet transfer between the client host and the allocated processing server A load balancing host allocation function unit for registering a flow rule for the SDN switch;
SDN controller host with.
コンピュータを、請求項7に記載のSDNコントローラホストの各部として機能させるためのプログラム。   The program for functioning a computer as each part of the SDN controller host of Claim 7.
JP2016119286A 2016-06-15 2016-06-15 Parallel load distribution system, parallel load distribution method, SDN controller host and program Active JP6546566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016119286A JP6546566B2 (en) 2016-06-15 2016-06-15 Parallel load distribution system, parallel load distribution method, SDN controller host and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016119286A JP6546566B2 (en) 2016-06-15 2016-06-15 Parallel load distribution system, parallel load distribution method, SDN controller host and program

Publications (2)

Publication Number Publication Date
JP2017225001A true JP2017225001A (en) 2017-12-21
JP6546566B2 JP6546566B2 (en) 2019-07-17

Family

ID=60688514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016119286A Active JP6546566B2 (en) 2016-06-15 2016-06-15 Parallel load distribution system, parallel load distribution method, SDN controller host and program

Country Status (1)

Country Link
JP (1) JP6546566B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3489055B1 (en) 2017-11-22 2021-03-10 Kabushiki Kaisha Kobe Seiko Sho (Kobe Steel, Ltd.) Door beam
JP2021536055A (en) * 2018-08-23 2021-12-23 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft Artificial intelligence calculators, control methods and controls, engineer stations and industrial automation systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3489055B1 (en) 2017-11-22 2021-03-10 Kabushiki Kaisha Kobe Seiko Sho (Kobe Steel, Ltd.) Door beam
JP2021536055A (en) * 2018-08-23 2021-12-23 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft Artificial intelligence calculators, control methods and controls, engineer stations and industrial automation systems

Also Published As

Publication number Publication date
JP6546566B2 (en) 2019-07-17

Similar Documents

Publication Publication Date Title
JP6538986B2 (en) Virtual machine packet control
EP3586494B1 (en) Load balancing in distributed computing systems
JP6592595B2 (en) Method and system for managing data traffic in a computing network
CN107612840B (en) Data processing method and device of four-layer load balancing equipment
EP3490203B1 (en) Method and system for implementing a vxlan control plane
JP2024041790A (en) Multi-cluster Ingress
JP3382953B2 (en) Client management flow control method and apparatus on finite memory computer system
US9432245B1 (en) Distributed load balancer node architecture
US6393026B1 (en) Data packet processing system and method for a router
EP4009593A1 (en) Data transmission method and apparatus, network card and storage medium
US9069722B2 (en) NUMA-aware scaling for network devices
CN106201356B (en) A kind of dynamic data dispatching method based on link available bandwidth state
US7359387B2 (en) Systems and methods for implementing virtual router
US20160261505A1 (en) Localized service chaining in nfv clouds
JP2003188877A (en) System for managing distributed network infrastructure services
JP2017098935A (en) Virtual router cluster, data transfer method and device
EP3575979B1 (en) Query priority and operation-aware communication buffer management
KR20110036573A (en) Providing access over an ip network to a server application program
US20190042314A1 (en) Resource allocation
US20220166715A1 (en) Communication system and communication method
WO2021120633A1 (en) Load balancing method and related device
JP6546566B2 (en) Parallel load distribution system, parallel load distribution method, SDN controller host and program
KR20130130295A (en) System and method for assigining server to terminal and efficiently delivering messages to the terminal
JP5917678B1 (en) Information processing apparatus, method, and program
US10091116B2 (en) Service chain construction method and server apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190621

R150 Certificate of patent or registration of utility model

Ref document number: 6546566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150