JP6546566B2 - 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム - Google Patents

並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム Download PDF

Info

Publication number
JP6546566B2
JP6546566B2 JP2016119286A JP2016119286A JP6546566B2 JP 6546566 B2 JP6546566 B2 JP 6546566B2 JP 2016119286 A JP2016119286 A JP 2016119286A JP 2016119286 A JP2016119286 A JP 2016119286A JP 6546566 B2 JP6546566 B2 JP 6546566B2
Authority
JP
Japan
Prior art keywords
packet
sdn
host
processing
identification information
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
JP2016119286A
Other languages
English (en)
Other versions
JP2017225001A (ja
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.)
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/ja
Publication of JP2017225001A publication Critical patent/JP2017225001A/ja
Application granted granted Critical
Publication of JP6546566B2 publication Critical patent/JP6546566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、並列負荷分散システム、並列負荷分散方法、SDN(Software Defined Networking)コントローラホスト及びプログラムに関し、特に、分散的に配置されたSDNスイッチ間での協調的な動作を制御するための技術に関する。
非常に負荷が高い計算機処理を高速に実行するには複数の計算機(処理サーバ)をネットワークで接続し並列分散的に処理する負荷分散処理方式が用いられる。また、ユーザアクセス数が膨大であるWebサービスに見られるような小さい処理が非常に多く発生するような場合にも、同様のネットワーク接続された複数の処理サーバにおいて、それぞれの処理を負荷分散する方式が用いられる。特に、最近ではIP(Internet Protocol)を基本にしたインターネットによって複数台の処理サーバが接続され、負荷分散処理がなされる場合が多い。
このような負荷分散処理方式では、処理要求(リクエスト)を発行するクライアントホストと処理を行う処理サーバ群の間にリクエストの処理振分けを行う負荷分散装置(ロードバランサ)を設置することで、動的に負荷分散を行うことが多い。ロードバランサではリクエストとそれに対するレスポンスデータの転送速度を高く保ちつつ処理振分け機能を提供することが求められる。
この速度性能要件を満たす一つの実現手段として、SDNスイッチを用いたロードバランス方式がある。SDNスイッチはネットワーク上から届くパケットの処理部(データプレーン)とそのための制御部(コントローラ)を分離する構造になっている。
データプレーンではユーザが定義したマッチ条件とそれに対する処理(アクション)をスイッチ内のテーブル(フローテーブル)に登録することによって高速な転送処理やパケットヘッダの書き換え処理が可能である。また、データプレーンとコントローラとの間のパケット転送の機能(パケットイン・パケットアウト)があるためデータプレーン内では実行不可能な処理であっても、コントローラへパケット転送して、任意の処理を施して再度データプレーンに転送することが可能になっている。SDNスイッチを用いたロードバランスは、コントローラ内で処理割り当て処理に基づいてデータプレーン内の転送およびヘッダ書き換え機能を用いることで実現可能である。
特開2007−288711号公報,「ゲートウェイ装置、設定コントローラ、ゲートウェイ装置の負荷分散方法及びプログラム」
北村 匡彦, 君山 博之, 澤邉 知子, 藤井 竜也, 小島 一成, 丸山 充, "SDNスイッチを使った動的分散処理方式の提案," 信学技報, vol. 115, no. 496, CQ2015-134, pp. 147-151, 2016年3月.
高負荷の計算処理や膨大な処理リクエストに対する負荷分散において、ロードバランサが単一である場合、リクエストとそれに対するレスポンスデータの転送帯域がロードバランサの物理接続のネットワーク速度によって制限されてしまう。つまり、ネットワークの転送速度がボトルネックとなって処理サーバの計算リソースを使い切ることができない状況が発生する。そこで、ロードバランサ自体も複数台に分散配置することで上記の問題が解決できる。しかし、処理内容によっては異なるクライアントホストから発行される複数のリクエストに対して、同一の処理サーバで処理することが必要である。例えば、異なるクライアントホスト同士が持つ映像データを合成処理する場合などは、同一の処理サーバ上でなければ合成処理することができない。
特許文献1ではネットワークからのリクエスト要求のトラヒック量の増減に合わせて処理ノードを追加、削減することを目的にネットワークの入力端、出力端に配置されたスイッチ(分配ルータ)で動的に負荷分散を実施する方式について述べられている。しかし、特許文献1の方式では入力端の分配ルータが単一であるため、分配ルータに入力できるトラヒック量は接続された物理接続の上限値を超えることはできない。特許文献1では主に単一の分配ルータでの負荷分散について述べられており、複数の分配ルータを用いる場合についての同期手段については述べられていない。
非特許文献1では多段のSDNスイッチおよびSDNコントローラホストを用いた動的な負荷分散方式について述べられている。ただし、非特許文献1では同種のクライアントからのリクエストがすべて単一のSDNスイッチに到着するため、異なるSDNスイッチ間、もしくは、異なるSDNコントローラホスト間の同期・協調動作については述べられていない。
本発明は、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることを目的とする。
本発明の一形態に係る並列負荷分散システムは、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムであって
記SDNスイッチは、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
を有し、
前記SDNコントローラホストは、
前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有することを特徴とする。
また、本発明の一形態に係る並列負荷分散システムは、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、複数のSDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムであって、
前記SDNスイッチは、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
を有し、
前記SDNコントローラホストは、
前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有し、
前記負荷分散データベースは、
複数の前記SDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるデータベース操作部を有することを特徴とする。
本発明の一形態に係る並列負荷分散方法は、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムにおける並列負荷分散方法であって、
クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当てるステップと、
前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
を有することを特徴とする。
また、本発明の一形態に係る並列負荷分散方法は、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、複数のSDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムにおける並列負荷分散方法であって、
クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当てるステップと、
前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
前記負荷分散データベースが、複数のSDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるステップと
を有することを特徴とする。
本発明の一形態に係るSDNコントローラホストは、
複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムに設けられた前記SDNコントローラホストであって、
クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットのうち、リクエストの最初のパケットを、前記SDNスイッチからパケットインによる転送によって受信するスイッチ制御情報通信部と、
前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
を有することを特徴とする。

本発明の一形態に係るプログラムは、
コンピュータを、上記のSDNコントローラホストの各部として機能させることを特徴とする。
本発明によれば、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることが可能になる。
本発明の実施形態に係る並列負荷分散システムの概要を示す図 本発明の実施形態に係る並列負荷分散システムにおける各機能部を示す図 処理サーバデータベース保持部が有する処理サーバデータベースと操作関数とを示す図 負荷分散割当てデータベース保持部が有する負荷分散割当てデータベースと操作関数とを示す図 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のフローチャート 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のシーケンス図(同時にsetAssingedHost処理が発生しなかった場合) 負荷分散ホスト割当て機能部が実施する負荷分散ホスト割当て処理のシーケンス図(同時にsetAssingedHost処理が発生した場合) 分散配置されたSDNスイッチによるロードバランスの並列動作の例を示す図 本発明の実施形態に係るクライアントホスト、SDNスイッチ、SDNコントローラホスト、負荷分散データベース又は負荷分散制御ホストのハードウェア構成例を示す図
以下、図面を参照して本発明の実施形態について説明する。
本発明の実施形態では、ロードバランサとして分散的に配置された複数台のSDNスイッチに対して、同一サーバ上で処理する必要がある非同期に発生する複数のリクエストを所望の処理サーバに負荷分散割り当てを行い、リクエストおよびレスポンスデータの転送を行う手法について説明する。このとき、複数のリクエストが大量かつ非同期に複数のSDNスイッチに到着する可能性があるため、SDNスイッチ間で分散協調して処理サーバに負荷分散割り当ておよび転送処理を行う必要がある。
<並列負荷分散システムの概要>
図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とを更に備える。
複数のクライアントホスト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に接続されている。
L2ネットワークスイッチ200−2は別の場所に構成された同機能のL2ネットワークスイッチ200−4にL2/L3(Layer 2/Layer 3)ネットワークを介して接続されている。よって、これらのL2ネットワークスイッチ200−2、200−4に接続された複数のSDNスイッチ300と複数の処理サーバ400間は互いに通信が可能である。
SDNスイッチ300−1、300−2、300−3はSDNコントローラホスト600−1に制御用ネットワークを介して接続されている。同様にSDNスイッチ300−4、300−5、300−6はSDNコントローラホスト600−2に制御用ネットワークを介して接続されている。また、すべてのSDNコントローラホスト600および負荷分散制御ホスト800は制御用ネットワークを介して負荷分散データベース700に接続されている。
クライアントホスト100は処理リクエストを接続可能な任意のSDNスイッチ300に対して送信し、リクエストを受信したSDNスイッチ300はSDNコントローラホスト600からの制御に基づいて割り当てられた処理サーバ400にリクエストを転送する。また、処理サーバ400からのレスポンスはそのリクエストを発行したクライアントホスト100に転送する。
同一サーバ上で処理する必要がある非同期に発生する複数のリクエストを所望の処理サーバに負荷分散割り当てを行うため、並列負荷分散システムにおいて以下の(1)〜(5)を実施する。
(1)クライアントホスト100が発行するリクエストに識別情報を定義する
同一処理サーバ上での処理を行うリクエストには同一の識別情報を持たせる。識別情報はSDNスイッチ300のデータプレーン内でマッチ条件が指定可能であることが好ましい。例えば、リクエストがTCP(Transmission Control Protocol)の場合には宛先ポート番号を識別情報として用いることが可能である。なお、リクエストの識別情報は宛先ポート番号に限定されず、同一処理サーバ上での処理が必要となることが識別できれば如何なる識別情報が用いられてもよい。クライアントホスト100は、発行するリクエストに対して識別情報を付加して任意のSDNスイッチ300に送信する。すなわち、クライアントホスト100が、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチ300に送信し、SDNスイッチ300は、クライアントホスト100から、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信する。
(2)SDNスイッチ300が最初のパケットだけパケットインさせて識別情報を判断する
リクエストを受信したSDNスイッチ300は、同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホスト600に転送する。
(3)高速データベースによって識別情報に対する処理サーバを割り当て
SDNコントローラホスト600内では、高速データベースを用いて到着した識別情報に対する処理サーバ400を割り当て、管理を行う。すなわち、SDNコントローラホスト600は、SDNスイッチ300からパケットインにより転送されたパケットを受信し、SDNスイッチ300から受信したパケットの識別情報に基づいて、負荷分散データベース700を参照して処理サーバ400を割り当てる。
(4)パケット転送のためのフロールールをSDNスイッチのフローテーブルに書き込む
SDNコントローラホスト600は、割り当て処理が完了した後、パケットイン実施のSDNスイッチ300に対して転送処理のフロールールを投入する。すなわち、SDNコントローラホスト600は、クライアントホスト100と割り当てられた処理サーバ400との間のパケット転送のためのフロールールをSDNスイッチ300に対して登録する。これにより、SDNスイッチ300は、同一の識別情報が付加されたパケットのうちリクエストの2回目以降のパケットに対して、SDNコントローラホスト600により登録されたフロールールに従って転送処理を実施することが可能になる。上記のように、識別情報がSDNスイッチ300のデータプレーン内でマッチ条件が指定可能な識別情報である場合には、SDNスイッチ300は、2回目以降のパケットに対してデータプレーン内で転送処理が完了するため高速に転送処理が実施される。
(5)同一の識別情報を受信したSDNスイッチ300にも同様のフロールールをフローテーブルに書き込む
別のSDNスイッチ300に同一識別情報を持ったリクエストが届いた場合、先と同様に最初のパケットをパケットインによってSDNコントローラホスト600に転送し、高速データベースを用いて負荷分散データベース700を参照して処理サーバ400を割り当て、フロールールを登録する。これにより、処理サーバ400へのリクエストの負荷分散割り当てが可能となる。
なお、これらのリクエストとそれに伴うパケットインは非同期に発生するため、高速データベース上での排他制御を保証した負荷分散割り当て処理が必要である。具体的には、負荷分散データベース700において複数のSDNコントローラホスト600から同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバ400を割り当てる。
<並列負荷分散システムの機能部の概要>
図2に、本発明の実施形態に係る並列負荷分散システムにおける各機能部を示す。SDNスイッチ300は、複数のパケット送受信部301−1〜301−N(以下、パケット送受信部301と省略されることがある)と、パケット処理部303と、フローテーブル保持部305と、フローテーブル操作部307と、スイッチ制御情報通信部309とを有する。
SDNスイッチ300のパケット送受信部301は外部ネットワークと接続された物理インタフェースであり、クライアントホスト100や処理サーバ400等からのパケットの送信受信を行う。本実施形態では、パケット送受信部301は、クライアントホスト100が発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信する。
パケット処理部303はパケット受信の度に、フローテーブル操作部307を介してフローテーブル保持部305に登録されているフロールールを参照し、マッチ条件が存在すればそのアクションを実行する。アクションがパケットイン処理である場合、スイッチ制御情報通信部309を介してSDNコントローラホスト600にパケットを転送する。本実施形態では、スイッチ制御情報通信部309は、同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホスト600に転送する。なお、2回目以降のパケットに対しては、後述するようにSDNコントローラホスト600によりフロールールが登録されるため、パケット処理部303は、フローテーブル保持部305に登録されているフロールールを参照して転送処理を実施することができる。逆にSDNコントローラホスト600からパケットアウト処理要求があった場合は、SDNコントローラホスト600から該当パケットを受信し指定されたパケット送受信部301からパケットを出力する。
SDNコントローラホスト600は、スイッチ制御情報通信部601と、負荷分散データベース接続部603と、負荷分散ホスト割当て機能部605とを有する。SDNコントローラホスト600はSDNスイッチ300とはスイッチ制御情報通信部601を介して接続されており、また、負荷分散データベース700とは負荷分散データベース接続部603を介して接続されている。
SDNコントローラホスト600では、SDNスイッチ300からパケットイン要求があった場合にスイッチ制御情報通信部601を介して該当パケットを受信し、負荷分散ホスト割当て機能部605に通知する。本実施形態では、スイッチ制御情報通信部601は、SDNスイッチ300からパケットインにより転送されたリクエストの最初のパケットを受信する。負荷分散ホスト割当て機能部605ではパケットインされたパケットの識別情報に基づいて、負荷分散データベース700を参照して処理サーバ400を割り当てる。その後、クライアントホスト100と割り当てられた処理サーバ400との間のパケット転送のためのフロールールをSDNスイッチ300に対して登録要求を行う。また同時にパケットインされているパケットに対しても同様の転送ルールを適用した後、パケットアウト要求によってSDNスイッチ300に転送する。
負荷分散データベース700は、負荷分散データベース接続部701と、データベース操作部703と、処理サーバデータベース保持部705と、負荷分散割当てデータベース保持部707とを有する。負荷分散データベース700はSDNコントローラホスト600および負荷分散制御ホスト800とは負荷分散データベース接続部701を介して接続されている。
また、負荷分散制御ホスト800は、負荷分散ホスト追加部801と、負荷分散データベース接続部803とを有する。負荷分散制御ホスト800は負荷分散データベース700とは負荷分散データベース接続部803を介して接続されている。
負荷分散データベース700ではSDNコントローラホスト600からの処理サーバ割り当てのためのデータベース参照要求があった場合に、後述する要求内容に従いデータベース操作部703が処理サーバデータベース保持部705および負荷分散割当てデータベース保持部707を参照してデータベース処理を行う。データベース操作部703は、複数のSDNコントローラホスト600から同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバ400を割り当てる。また、負荷分散制御ホスト800の負荷分散ホスト追加部801から処理サーバの追加要求があった場合に、処理サーバデータベース保持部705のデータベース更新を実施する。
図3に、処理サーバデータベース保持部705が有する処理サーバデータベースと操作関数とを示す。処理サーバデータベース保持部705に保持される処理サーバデータベースはFIFO(First In First Out)型リスト形式のテーブルである。データベース操作部703が処理サーバデータベース保持部705に対して実施するデータベース操作として下記の3つの関数が定義される。
(1)
関数名:addHost
引数:処理サーバ情報(host)
戻り値:True(引数で指定したhostが登録できた場合)又はFalse(引数で指定したhostが登録できなかった場合)
目的・内容:処理サーバの候補を登録する。登録する位置はリストの最後尾である。
(2)
関数名:getHost
引数:なし
戻り値:処理サーバ情報(リストの先頭に処理サーバ情報が存在する場合)又はNone(リストの先頭に処理サーバ情報が存在しない場合)
目的・内容:リストの先頭から利用可能な処理サーバを取得する。
(3)
関数名:returnHost
引数:処理サーバ情報(host)
戻り値:True(host情報が登録できた場合)又はFalse(host情報が登録できなかった場合)
目的・内容:getHostによって処理サーバを取得した後に、それが不要であった場合に再度、処理サーバデータベースに処理サーバ情報を返却する。
上記の(1)〜(3)の処理はすべてアトミックに実施される。すなわち、ある特定の時間に1つの関数の処理のみが実施され、各処理中に別の処理要求がきた場合、後者の処理はブロックされる。
図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で示す識別情報に対して割り当てられた処理サーバ情報である。
データベース操作部703が負荷分散割当てデータベース保持部707に対して実施するデータベース操作関数として下記の2つが定義される。
(1)
関数名:getAssingnedHost
引数:リクエストの識別情報(key)
戻り値:処理サーバ情報(host)(引数で指定したkeyに対する処理サーバ情報が登録されている場合)又はNone(引数で指定したkeyに対する処理サーバ情報が登録されていない場合)
目的・内容:負荷分散割当データベース内にkeyの示す内容を取得する。
(2)
関数名:setAssingnedHost
引数:リクエストの識別情報(key), 割り当てられた処理サーバ情報(value)
戻り値:True(引数で指定したkeyに対する処理サーバ情報が登録できた場合)又はFalse(引数で指定したkeyに対する処理サーバ情報が登録できなかった場合)
目的・内容:負荷分散割当データベース内にkeyの示す内容を登録する。すでに同じkeyに対するvalueが登録されている場合、処理は失敗し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)を決定する。
具体的には、負荷分散ホスト割当て機能部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)。
ここで、異なるSDNコントローラホストの負荷分散ホスト割当て機能部605は非同期に処理要求を実施するため、同じ識別情報を持つリクエストに対して同時にsetAssingnedHost操作をした場合の排他制御を行っている。
図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)。
次にSDNコントローラホスト600−2の負荷分散ホスト割当て機能部605に同リクエスト識別情報を持つパケットがパケットインされる場合(S217)、先ほどと同様にgetAssingnedHostを用いて既に登録されている該当処理サーバ情報を取得する(S219、S219')。この場合、同リクエスト識別情報に対して同じ処理サーバ("192.168.100.3:8080")が取得される(S221、S221')。処理サーバ("192.168.100.3:8080")の情報は、リクエストを発行したSDNスイッチのフローテーブルに書き込まれる(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が同様の操作を行ったとする。
すなわち、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)。
この状態で、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)。
図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は任意の台数設置可能であり、設置台数を増やすことで転送帯域を広げることが可能である。
<ハードウェア構成例>
図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から出力されてもよい。
<本発明の実施形態の効果>
以上のように、本発明の実施形態によれば、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てることが可能になる。
また、異なる複数のSDNスイッチを用いたロードバランスが可能になり、ロードバランサの物理接続の可用帯域を容易に拡張することができる。リクエストに対する負荷分散処理サーバの割り当てが完了した後のそれぞれのSDNスイッチでの転送処理は独立に実施されるため、ロードバランスの可用帯域は各SDNスイッチの可用帯域の総和になる。また、1台のSDNコントローラホストは複数台のSDNスイッチを制御することができるため、既存のコントローラにSDNスイッチを追加・削除する際の設定変更等は不要である。
<補足>
説明の便宜上、本発明の実施形態に係る並列負荷分散システムの各装置は機能的なブロック図を用いて説明しているが、本発明の実施形態に係る並列負荷分散システムの各装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施形態は、コンピュータに対して本発明の実施形態に係る並列負荷分散システムの各装置の各機能を実現させるプログラム、コンピュータに対して本発明の実施形態に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施形態に係る方法は、実施形態に示す順序と異なる順序で実施されてもよい。
以上、非同期に発生して異なるSDNスイッチに到着する同一処理サーバ上で処理する必要がある複数のリクエストを所望の処理サーバに割り当てるための手法について説明したが、本発明は、上記の実施形態に限定されることなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変更・応用が可能である。
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 負荷分散データベース接続部

Claims (8)

  1. 複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムであって
    記SDNスイッチは、
    クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
    前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
    を有し、
    前記SDNコントローラホストは、
    前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
    前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
    を有する並列負荷分散システム。
  2. 複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、複数のSDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムであって、
    前記SDNスイッチは、
    クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットを受信するパケット受信部と、
    前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによって前記SDNコントローラホストに転送するスイッチ制御情報通信部と、
    を有し、
    前記SDNコントローラホストは、
    前記SDNスイッチからパケットインにより転送されたパケットを受信するスイッチ制御情報通信部と、
    前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
    を有し、
    前記負荷分散データベースは、
    複数の前記SDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるデータベース操作部を有する
    列負荷分散システム。
  3. 前記SDNスイッチは、
    前記同一の識別情報が付加されたパケットのうちリクエストの2回目以降のパケットに対して、前記SDNコントローラホストにより登録されたフロールールに従って転送処理を実施するパケット処理部を更に有する、請求項1又は2に記載の並列負荷分散システム。
  4. 前記識別情報は、前記SDNスイッチのデータプレーン内でマッチ条件が指定可能な識別情報であり、
    前記SDNスイッチの前記パケット処理部は、前記2回目以降のパケットに対してデータプレーン内で転送処理を実施する、請求項3に記載の並列負荷分散システム。
  5. 複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムにおける並列負荷分散方法であって、
    クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
    前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
    前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
    前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
    前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当てるステップと、
    前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
    を有する並列負荷分散方法。
  6. 複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、複数のSDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムにおける並列負荷分散方法であって、
    クライアントホストが、同一処理サーバ上での処理を行うリクエストに同一の識別情報を付加したパケットをSDNスイッチに送信するステップと、
    前記SDNスイッチが、前記クライアントホストから、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加された前記パケットを受信するステップと、
    前記SDNスイッチが、前記同一の識別情報が付加されたパケットのうちリクエストの最初のパケットをパケットインによってSDNコントローラホストに転送するステップと、
    前記SDNコントローラホストが、前記SDNスイッチからパケットインにより転送されたパケットを受信するステップと、
    前記SDNコントローラホストが、前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して処理サーバを割り当てるステップと、
    前記SDNコントローラホストが、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録するステップと、
    前記負荷分散データベースが、複数のSDNコントローラホストから同一の識別情報を持つ処理サーバの割り当て要求を受信した場合、排他制御を行うことにより、同一の識別情報を持つ処理サーバの割り当て要求に対して同一の処理サーバを割り当てるステップ
    有する
    列負荷分散方法。
  7. 複数のクライアントホストと、クライアントホストのリクエストを処理する複数の処理サーバと、複数のSDN(Software Defined Networking)スイッチと、SDNコントローラホストと、利用可能な処理サーバを管理する負荷分散データベースとを備える並列負荷分散システムに設けられた前記SDNコントローラホストであって、
    クライアントホストが発行するリクエストに対して、同一処理サーバ上での処理を行うリクエストに同一の識別情報が付加されたパケットのうち、リクエストの最初のパケットを、前記SDNスイッチからパケットインによる転送によって受信するスイッチ制御情報通信部と、
    前記SDNスイッチから受信したパケットの識別情報に基づいて、前記負荷分散データベースを参照して、異なる前記SDNスイッチから受信した同一の識別情報が付加された複数のパケットのリクエストに対して同一処理サーバを割り当て、前記クライアントホストと前記割り当てられた処理サーバとの間のパケット転送のためのフロールールを前記SDNスイッチに対して登録する負荷分散ホスト割当て機能部と、
    を有するSDNコントローラホスト。
  8. コンピュータを、請求項7に記載のSDNコントローラホストの各部として機能させるためのプログラム。
JP2016119286A 2016-06-15 2016-06-15 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム Active JP6546566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016119286A JP6546566B2 (ja) 2016-06-15 2016-06-15 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016119286A JP6546566B2 (ja) 2016-06-15 2016-06-15 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム

Publications (2)

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

Family

ID=60688514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016119286A Active JP6546566B2 (ja) 2016-06-15 2016-06-15 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム

Country Status (1)

Country Link
JP (1) JP6546566B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6322329B1 (ja) 2017-11-22 2018-05-09 株式会社神戸製鋼所 ドアビーム
JP2021536055A (ja) * 2018-08-23 2021-12-23 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 人工知能計算装置、制御方法および制御装置、エンジニアステーションおよび産業オートメーションシステム

Also Published As

Publication number Publication date
JP2017225001A (ja) 2017-12-21

Similar Documents

Publication Publication Date Title
EP3586494B1 (en) Load balancing in distributed computing systems
JP6538986B2 (ja) 仮想マシンパケット制御
JP6592595B2 (ja) コンピューティングネットワークにおけるデータトラフィックを管理する方法およびシステム
JP2024041790A (ja) マルチクラスタイングレス
US9432245B1 (en) Distributed load balancer node architecture
US10038626B2 (en) Multipath routing in a distributed load balancer
US6393026B1 (en) Data packet processing system and method for a router
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
CN106201356B (zh) 一种基于链路可用带宽状态的动态数据调度方法
US20160261505A1 (en) Localized service chaining in nfv clouds
JP2003188877A (ja) 分散ネットワークインフラストラクチャサービスを管理するシステム
KR20110036573A (ko) 서버 애플리케이션 프로그램으로 ip 네트워크를 통한 엑세스를 제공하는 방법
WO2021003422A1 (en) Network and method for servicing a computation request
JP5620881B2 (ja) トランザクション処理システム、トランザクション処理方法、および、トランザクション処理プログラム
WO2021120633A1 (zh) 一种负载均衡方法及相关设备
US20220166715A1 (en) Communication system and communication method
CN111641567B (zh) 基于集中式控制器的动态网络带宽分配与管理
US20110235522A1 (en) Relay node
JP6546566B2 (ja) 並列負荷分散システム、並列負荷分散方法、sdnコントローラホスト及びプログラム
JP5917678B1 (ja) 情報処理装置、方法およびプログラム
WO2015069378A1 (en) Hierarchical distribution of control information in a massively scalable network server
JP7180424B2 (ja) 並列処理装置、データ転送先決定方法およびデータ転送先決定プログラム
Oeldemann et al. Inter-server RSS: Extending receive side scaling for inter-server workload distribution
US10091116B2 (en) Service chain construction method and server apparatus
JP6053032B2 (ja) 通信制御装置、通信制御方法及び通信制御プログラム

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