JP6461834B2 - Network load balancing apparatus and method - Google Patents

Network load balancing apparatus and method Download PDF

Info

Publication number
JP6461834B2
JP6461834B2 JP2016018628A JP2016018628A JP6461834B2 JP 6461834 B2 JP6461834 B2 JP 6461834B2 JP 2016018628 A JP2016018628 A JP 2016018628A JP 2016018628 A JP2016018628 A JP 2016018628A JP 6461834 B2 JP6461834 B2 JP 6461834B2
Authority
JP
Japan
Prior art keywords
hash value
load distribution
packet
priority
control
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
JP2016018628A
Other languages
Japanese (ja)
Other versions
JP2017139597A (en
Inventor
悠介 関原
悠介 関原
晃嗣 山崎
晃嗣 山崎
羽田野 孝裕
孝裕 羽田野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2016018628A priority Critical patent/JP6461834B2/en
Publication of JP2017139597A publication Critical patent/JP2017139597A/en
Application granted granted Critical
Publication of JP6461834B2 publication Critical patent/JP6461834B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケットの送出先を制御するための装置に係り、特に通信サーバ補助装置内での特定のパケットに対する優先制御と負荷分散とを両立させることによってQoS(Quality of Service)の確保とスループット性能の向上とを実現するネットワーク負荷分散装置および方法に関するものである。   The present invention relates to an apparatus for controlling a packet transmission destination, and in particular, ensures QoS (Quality of Service) and throughput by achieving both priority control and load distribution for a specific packet in a communication server auxiliary apparatus. The present invention relates to a network load distribution apparatus and method for improving performance.

一般的なSDN(Software Defined Networking)/NFV(Network Functions Virtualization)の考え方に基づいて構成されるネットワークにおいて利用される汎用ネットワーク機器のフロントエンドハードウェアにおいて実現されている優先制御の構成例が非特許文献1に開示されている。   Non-patented configuration example of priority control implemented in the front-end hardware of general-purpose network equipment used in a network configured based on the concept of general SDN (Software Defined Networking) / NFV (Network Functions Virtualization) It is disclosed in Document 1.

図4は非特許文献1に開示された優先制御技術の一部を説明する図である。図4の例では、着信パケットのイーサタイプ値が所定値と一致すれば(図4ステップS100においてYes)、着信パケットを優先制御対象のフローであるとしてキュー200に分類する(図4ステップS101)。また、着信パケットのFCoE(Fibre Channel over Ethernet)のタイプ値が所定値と一致すれば(図4ステップS102においてYes)、着信パケットを優先制御対象のフローであるとしてキュー201に分類する(図4ステップS103)。   FIG. 4 is a diagram for explaining a part of the priority control technique disclosed in Non-Patent Document 1. In the example of FIG. 4, if the Ethertype value of the incoming packet matches the predetermined value (Yes in step S100 in FIG. 4), the incoming packet is classified as the priority control target flow into the queue 200 (step S101 in FIG. 4). . If the FCoE (Fibre Channel over Ethernet) type value of the incoming packet matches the predetermined value (Yes in step S102 in FIG. 4), the incoming packet is classified as a priority control target flow into the queue 201 (FIG. 4). Step S103).

このように一般的に汎用のNIC(Network Interface Card)を利用した優先制御では、各プロトコル毎に固有のキューに優先制御対象のフローがフィルタリングされる。しかしながら、非特許文献1に開示された技術では、予め用意されたプロトコル毎に固定のフィールド値に対するフィルタリングのみを実施するため、特殊な条件(例えば複数フィールドにまたがるフィルタリング条件)への対応が難しく、また将来の拡張性に問題があった。また、非特許文献1に開示された技術では、各プロトコルに割り当てられたキューの数が固定であるため、特定のサービスに特化してリソースを利用することが困難であった。さらに、非特許文献1に開示された技術では、所定のフィルタリング条件に該当しなかったパケットを単一のキューに分類するため、フィルタリング条件に該当しないパケットが多いユースケースにおいて転送性能が悪化する懸念があり、高スループットの実現が困難であった。   As described above, in general priority control using a general-purpose NIC (Network Interface Card), a priority control target flow is filtered into a unique queue for each protocol. However, in the technique disclosed in Non-Patent Document 1, since only filtering for fixed field values is performed for each protocol prepared in advance, it is difficult to cope with special conditions (for example, filtering conditions that span multiple fields) There was also a problem in future scalability. In the technique disclosed in Non-Patent Document 1, since the number of queues assigned to each protocol is fixed, it is difficult to use resources dedicated to a specific service. Furthermore, in the technology disclosed in Non-Patent Document 1, since packets that do not meet the predetermined filtering condition are classified into a single queue, there is a concern that transfer performance may deteriorate in use cases where there are many packets that do not meet the filtering condition. It was difficult to achieve high throughput.

一方、マルチキューを用いて高スループットを実現する負荷分散の一般例としてはロードバランサなどで利用されているラウンドロビン制御があげられる。しかし、一般的なラウンドロビン制御では、各キュー内における処理時間に変動があり、結果としてフロー内での順序逆転が発生してしまう。この問題に対する解決策として特許文献1のようなルータ上で提案されている負荷分散制御が挙げられる。   On the other hand, a general example of load distribution that achieves high throughput using multi-queues is round-robin control used in a load balancer or the like. However, in general round robin control, the processing time in each queue varies, and as a result, the order is reversed in the flow. As a solution to this problem, there is a load balancing control proposed on a router as in Patent Document 1.

図5は特許文献1に開示された負荷分散制御技術を説明する図である。特許文献1に開示された技術では、パケットの宛先を決定し、宛先への経路に対応するデータバッファにパケットを転送する。パケットは、データバッファから適宜読み出されて宛先へ送信される。このとき、負荷分散制御部300は、それぞれ経路A,B,Cに対応するデータバッファ300−1,300−2,300−3の負荷状況を監視して経路を選択する動的な経路割り当てを行い、選択した経路に対応するデータバッファにパケットを転送する。   FIG. 5 is a diagram for explaining the load distribution control technique disclosed in Patent Document 1. In FIG. In the technique disclosed in Patent Document 1, the destination of a packet is determined, and the packet is transferred to a data buffer corresponding to the route to the destination. The packet is appropriately read from the data buffer and transmitted to the destination. At this time, the load distribution control unit 300 monitors the load status of the data buffers 300-1, 300-2, and 300-3 corresponding to the routes A, B, and C, respectively, and performs dynamic route assignment for selecting a route. And transfer the packet to the data buffer corresponding to the selected route.

このようなルータ上で提案されているフロー内順序を保障する負荷分散制御では、ラウンドロビン制御における課題を解決することができる。しかしながら、特許文献1に開示された技術では、データバッファの負荷状況を監視して動的な経路割り当てを行うため、バッファ切り替えのタイミングでフロー内での順序逆転が起こり得るという問題点があった。また、特許文献1で提案されている構成では、専用ハードウェアを用いることを前提としており、装置内に十分大きなハードウェア資源が存在するため、優先制御などとの協調制御は考慮されておらず、NIC上の限られたハードウェアでの実装に適していないという問題点があった。   With load distribution control that guarantees the in-flow order proposed on such a router, the problems in round robin control can be solved. However, the technique disclosed in Patent Document 1 has a problem in that the order inversion can occur in the flow at the buffer switching timing because the dynamic path assignment is performed by monitoring the load state of the data buffer. . In addition, the configuration proposed in Patent Document 1 is based on the premise that dedicated hardware is used, and since there is a sufficiently large hardware resource in the apparatus, cooperative control such as priority control is not considered. There is a problem that it is not suitable for mounting with limited hardware on the NIC.

特開2008−263436号公報JP 2008-263436 A

“Intel Ethernet(登録商標) Controller XL710 Datasheet”,2015,<http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf>“Intel Ethernet (registered trademark) Controller XL710 Datasheet”, 2015, <http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet .pdf>

以上のように汎用のNICを利用した、非特許文献1に開示された技術では、柔軟な優先制御が難しく、また高スループットの実現が困難であった。
また、特許文献1に開示された技術では、パケットの送信順序の保証と優先制御とを実現できず、またNIC上の限られたハードウェアに実装し難いという問題点があった。
As described above, with the technology disclosed in Non-Patent Document 1 using a general-purpose NIC, flexible priority control is difficult and high throughput is difficult to achieve.
Further, the technique disclosed in Patent Document 1 has a problem that it is difficult to guarantee packet transmission order and priority control, and it is difficult to implement on limited hardware on the NIC.

本発明は、上記課題を解決するためになされたもので、SDN/NFVのフロントエンドハードウェアであるNIC上に実装できる小資源のハードウェア上で柔軟な優先制御と高スループットの共存を実現することを目的とする。   The present invention has been made to solve the above-described problems, and realizes flexible priority control and high-throughput coexistence on small-resource hardware that can be mounted on the NIC, which is the front-end hardware of SDN / NFV. For the purpose.

本発明のネットワーク負荷分散装置は、受信したパケットに含まれるフィールド値を基に第1のハッシュ値を演算するハッシュ値演算手段と、前記パケットの送出先の通信経路ごとに設けられるデータバッファと、前記第1のハッシュ値に基づいて優先制御の対象となる特定のパケットを検出し、このパケットの送出先の通信経路を決定する優先制御手段と、前記第1のハッシュ値に基づく第2のハッシュ値により前記優先制御の対象外のパケットの送出先の通信経路を、前記データバッファの負荷分散を満たしつつ決定する負荷分散制御手段と、前記優先制御手段あるいは前記負荷分散制御手段が決定した送出先の通信経路に従って、この通信経路に対応するデータバッファに前記パケットを送信するパケット転送制御手段とを備えることを特徴とするものである。
また、本発明のネットワーク負荷分散装置の1構成例において、前記ハッシュ値演算手段は、前記パケット内の、外部から予め指定された位置にあるフィールド値を取得し、このフィールド値と外部から予め設定されたキー値とに基づいて前記第1のハッシュ値を演算することを特徴とするものである。
また、本発明のネットワーク負荷分散装置の1構成例において、前記優先制御手段は、前記ハッシュ値演算手段が演算する第1のハッシュ値のとり得る値と送出先の通信経路とを対応付けて予め記憶する優先経路選択テーブルと、前記第1のハッシュ値と同一の値が前記優先経路選択テーブルに登録されている場合に、前記第1のハッシュ値と対応する送出先の通信経路の情報を前記優先経路選択テーブルから取得する優先経路制御手段とを備えることを特徴とするものである。
The network load distribution apparatus of the present invention includes a hash value calculation means for calculating a first hash value based on a field value included in a received packet, a data buffer provided for each communication path to which the packet is sent, Priority control means for detecting a specific packet subject to priority control based on the first hash value, and determining a communication path to which the packet is to be transmitted, and a second hash based on the first hash value A load distribution control unit that determines a communication path of a transmission destination of the packet that is not subject to priority control according to a value while satisfying load distribution of the data buffer, and a destination determined by the priority control unit or the load distribution control unit And a packet transfer control means for transmitting the packet to a data buffer corresponding to the communication path. It is an feature.
Also, in one configuration example of the network load distribution apparatus of the present invention, the hash value calculation means obtains a field value at a position designated in advance from the outside in the packet, and sets the field value and the outside in advance. The first hash value is calculated based on the key value thus obtained.
In the configuration example of the network load distribution apparatus according to the present invention, the priority control unit associates a possible value of the first hash value calculated by the hash value calculation unit with a communication path of a transmission destination in advance. When the priority route selection table to be stored and the same value as the first hash value are registered in the priority route selection table, information on the destination communication route corresponding to the first hash value is stored in the priority route selection table. And a priority route control means for obtaining from a priority route selection table.

また、本発明のネットワーク負荷分散装置の1構成例において、前記負荷分散制御手段は、前記ハッシュ値演算手段が演算した第1のハッシュ値と負荷分散制御で利用可能な所定の送出先の情報とから第2のハッシュ値を演算する負荷分散ハッシュ値演算手段と、この負荷分散ハッシュ値演算手段が演算する第2のハッシュ値のとり得る値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路とから予め設定される負荷分散経路選択テーブルと、前記負荷分散ハッシュ値演算手段が演算した第2のハッシュ値と対応する送出先の通信経路の情報を前記負荷分散経路選択テーブルから取得する負荷分散経路制御手段とを備えることを特徴とするものである。
また、本発明のネットワーク負荷分散装置の1構成例において、前記負荷分散経路選択テーブルに登録される送出先の通信経路は、前記負荷分散ハッシュ値演算手段が演算する第2のハッシュ値のとり得る全ての値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路の情報とから、前記負荷分散ハッシュ値演算手段が演算する第2のハッシュ値に応じてパケットを負荷分散制御で利用可能なデータバッファに振り分けたときの各データバッファの負荷状況が前記負荷分散設定データで規定される負荷状況と合致するように決定されていることを特徴とするものである。
Further, in one configuration example of the network load distribution apparatus according to the present invention, the load distribution control unit includes a first hash value calculated by the hash value calculation unit and information on a predetermined destination usable in the load distribution control. Load distribution hash value calculation means for calculating the second hash value from the above, a possible value of the second hash value calculated by the load distribution hash value calculation means, load distribution setting data set from the outside, and load distribution control The load distribution route selection table preset from the destination communication routes that can be used in the network, and the destination communication route information corresponding to the second hash value calculated by the load distribution hash value calculation means. It is characterized by comprising load distribution path control means acquired from the distribution path selection table.
Further, in one configuration example of the network load distribution apparatus of the present invention, the destination communication path registered in the load distribution path selection table can take the second hash value calculated by the load distribution hash value calculation means. Packets according to the second hash value calculated by the load distribution hash value calculation means from all values, load distribution setting data set from the outside, and information on the destination communication path that can be used in load distribution control Is determined so that the load status of each data buffer when it is distributed to the data buffers that can be used in load balancing control matches the load status specified by the load balancing setting data. .

また、本発明のネットワーク負荷分散方法は、受信したパケットに含まれるフィールド値を基に第1のハッシュ値を演算するハッシュ値演算ステップと、前記第1のハッシュ値に基づいて優先制御の対象となる特定のパケットを検出し、このパケットの送出先の通信経路を決定する優先制御ステップと、前記第1のハッシュ値に基づく第2のハッシュ値により前記優先制御の対象外のパケットの送出先の通信経路を、前記データバッファの負荷分散を満たしつつ決定する負荷分散制御ステップと、前記優先制御ステップあるいは前記負荷分散制御ステップで決定した送出先の通信経路に従って、この通信経路に対応するデータバッファに前記パケットを送信するパケット転送制御ステップとを含むことを特徴とするものである。   The network load distribution method of the present invention includes a hash value calculation step of calculating a first hash value based on a field value included in a received packet, and a priority control target based on the first hash value. A priority control step of detecting a specific packet and determining a communication path of a destination of the packet, and a second hash value based on the first hash value of the destination of the packet not subject to the priority control. In accordance with the load distribution control step for determining the communication path while satisfying the load distribution of the data buffer and the destination communication path determined in the priority control step or the load distribution control step, the data buffer corresponding to this communication path And a packet transfer control step for transmitting the packet.

本発明によれば、パケットの振り分け処理を優先制御と負荷分散制御に分け、優先制御と負荷分散制御を協調させることで限られたデータバッファを効率的に活用することができ、小資源のハードウェア上で柔軟な優先制御と負荷分散による高スループットの共存を実現することができる。   According to the present invention, it is possible to efficiently use a limited data buffer by dividing packet distribution processing into priority control and load distribution control, and by coordinating priority control and load distribution control. High-throughput coexistence can be realized by flexible priority control and load distribution on the hardware.

本発明の実施の形態に係るネットワーク負荷分散装置の構成を示すブロック図である。It is a block diagram which shows the structure of the network load distribution apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るネットワーク負荷分散装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the network load distribution apparatus which concerns on embodiment of this invention. 本発明の実施の形態におけるデータバッファの割り付けの概念を説明する図である。It is a figure explaining the concept of the allocation of the data buffer in embodiment of this invention. 従来の優先制御技術を説明する図である。It is a figure explaining the conventional priority control technique. 従来の負荷分散制御技術を説明する図である。It is a figure explaining the conventional load distribution control technique.

以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態に係るネットワーク負荷分散装置の構成を示すブロック図である。ネットワーク負荷分散装置は、ハッシュ値演算部1と、優先制御部2と、負荷分散制御部3と、パケット転送制御部4と、データバッファ5−1〜5−3と、ハッシュ値演算制御部6と、テーブル割り当て制御部7とを備えている。なお、図1の例では、パケットの送出先の通信経路ごとに設けられるデータバッファを、データバッファ5−1〜5−3の3個としているが、データバッファの個数はこれに限るものではない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a network load distribution apparatus according to an embodiment of the present invention. The network load distribution apparatus includes a hash value calculation unit 1, a priority control unit 2, a load distribution control unit 3, a packet transfer control unit 4, data buffers 5-1 to 5-3, and a hash value calculation control unit 6. And a table allocation control unit 7. In the example of FIG. 1, the number of data buffers provided for each packet transmission destination communication path is three data buffers 5-1 to 5-3, but the number of data buffers is not limited to this. .

優先制御部2は、優先経路選択テーブル20と、優先経路制御部21とから構成され、負荷分散制御部3は、負荷分散ハッシュ値演算部30と、負荷分散経路選択テーブル31と、負荷分散経路制御部32とから構成される。   The priority control unit 2 includes a priority route selection table 20 and a priority route control unit 21, and the load distribution control unit 3 includes a load distribution hash value calculation unit 30, a load distribution route selection table 31, and a load distribution route. And a control unit 32.

ネットワーク負荷分散装置は、典型的にはFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等のデバイスと、当該デバイス上で動作するプログラムあるいはデバイスの回路データを用いて実現される。プログラムで実現する場合、デバイスのプロセッサは、メモリに格納されたプログラムに従って以下のような処理を実行し、ネットワーク負荷分散装置として機能する。また、これに限るものではなく一般に利用されるスイッチまたはルータのような汎用デバイス上でのプログラムあるいは汎用サーバ上の仮想スイッチなどを利用して本実施の形態のネットワーク負荷分散装置を実現することもできる。   The network load distribution apparatus is typically realized by using a device such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC) and a program operating on the device or circuit data of the device. When realized by a program, the processor of the device performs the following processing according to the program stored in the memory, and functions as a network load distribution device. Further, the present invention is not limited to this, and the network load distribution apparatus according to the present embodiment may be realized by using a program on a general-purpose device such as a switch or router or a virtual switch on a general-purpose server. it can.

以下、本実施の形態のネットワーク負荷分散装置の動作を図2のフローチャートを用いて説明する。本実施の形態はパケット受信端での利用を想定しており、ネットワーク負荷分散装置にはパケット形式のデータが入力される。パケットは、一般にヘッダデータとして、そのパケットの属性を表す付加データを有している。   Hereinafter, the operation of the network load distribution apparatus according to the present embodiment will be described with reference to the flowchart of FIG. This embodiment assumes use at the packet receiving end, and packet format data is input to the network load distribution apparatus. A packet generally has additional data representing the attribute of the packet as header data.

ネットワーク負荷分散装置のハッシュ値演算部1は、パケットを受信すると(図2ステップS1)、このパケットのヘッダデータ中の所定の位置にあるフィールド値を取得し、取得したフィールド値と予め設定されたキー(key)値とからパケットの属性に固有のハッシュ値を演算する(図2ステップS2)。ハッシュ値演算部1が演算したハッシュ値は、優先制御部2に通知される。   When the hash value calculation unit 1 of the network load distribution device receives the packet (step S1 in FIG. 2), the hash value calculation unit 1 acquires a field value at a predetermined position in the header data of the packet, and the acquired field value is set in advance. A hash value specific to the attribute of the packet is calculated from the key value (step S2 in FIG. 2). The hash value calculated by the hash value calculation unit 1 is notified to the priority control unit 2.

パケットのヘッダデータ中の取得するフィールド値の位置は、ハッシュ値演算部1に対して外部からハッシュ値演算制御部6を介して予め指定される。同様に、キー値についても、外部からハッシュ値演算制御部6を介して予め設定される。   The position of the field value to be acquired in the header data of the packet is designated in advance by the hash value calculation unit 1 from the outside via the hash value calculation control unit 6. Similarly, the key value is also set in advance from the outside via the hash value calculation control unit 6.

次に、優先制御部2の優先経路選択テーブル20には、ハッシュ値演算部1が演算するハッシュ値のとり得る値と送出先の通信経路とが対応付けて予め記憶されている。この優先経路選択テーブル20は、外部からテーブル割り当て制御部7を介して予め設定される。   Next, in the priority route selection table 20 of the priority control unit 2, values that can be taken by the hash value calculated by the hash value calculation unit 1 and the communication path of the transmission destination are stored in advance in association with each other. The priority route selection table 20 is set in advance via the table assignment control unit 7 from the outside.

優先制御部2の優先経路制御部21は、ハッシュ値演算部1が演算したハッシュ値と優先経路選択テーブル20とを照合し、ハッシュ値演算部1が演算したハッシュ値と同一の値が優先経路選択テーブル20に登録されている場合(図2ステップS3においてYES)、このハッシュ値と対応する送出先の通信経路の情報を優先経路選択テーブル20から取得して、送出先の通信経路の情報をパケット転送制御部4へ通知する(図2ステップS4)。   The priority route control unit 21 of the priority control unit 2 collates the hash value calculated by the hash value calculation unit 1 with the priority route selection table 20, and the same value as the hash value calculated by the hash value calculation unit 1 is the priority route. If registered in the selection table 20 (YES in step S3 in FIG. 2), information on the destination communication path corresponding to this hash value is obtained from the priority path selection table 20, and information on the destination communication path is obtained. The packet transfer control unit 4 is notified (step S4 in FIG. 2).

優先経路制御部21は、ハッシュ値演算部1が演算したハッシュ値と同一の値が優先経路選択テーブル20に登録されていない場合(ステップS3においてNO)、ハッシュ値演算部1が演算したハッシュ値を負荷分散制御部3へ通知する(図2ステップS5)。   If the same value as the hash value calculated by the hash value calculation unit 1 is not registered in the priority route selection table 20 (NO in step S3), the priority route control unit 21 calculates the hash value calculated by the hash value calculation unit 1 Is notified to the load distribution control unit 3 (step S5 in FIG. 2).

負荷分散制御部3の負荷分散経路選択テーブル31には、後述する負荷分散ハッシュ値演算部30が演算するハッシュ値のとり得る値と送出先の通信経路とが対応付けて予め記憶されている。この負荷分散経路選択テーブル31の作成方法については後述する。   In the load distribution route selection table 31 of the load distribution control unit 3, values that can be taken by the hash value calculated by the load distribution hash value calculation unit 30 described later and the communication path of the transmission destination are stored in advance. A method of creating the load distribution route selection table 31 will be described later.

負荷分散制御部3の負荷分散ハッシュ値演算部30は、ハッシュ値演算部1が演算したハッシュ値と負荷分散制御で利用可能な所定の送出先の情報とから負荷分散処理に利用するハッシュ値を演算する(図2ステップS6)。具体的には、負荷分散ハッシュ値演算部30は、ハッシュ値演算部1が演算したハッシュ値を負荷分散制御で利用可能な送出先の通信経路の数(負荷分散制御で利用可能なデータバッファ5−1〜5−3の数)で除算すればよい。   The load distribution hash value calculation unit 30 of the load distribution control unit 3 calculates a hash value to be used for load distribution processing from the hash value calculated by the hash value calculation unit 1 and information on a predetermined destination that can be used for load distribution control. Calculation is performed (step S6 in FIG. 2). Specifically, the load distribution hash value calculation unit 30 uses the hash value calculated by the hash value calculation unit 1 as the number of destination communication paths that can be used in load distribution control (the data buffer 5 that can be used in load distribution control). (Number of -1 to 5-3).

送出先の通信経路(データバッファ5−1〜5−3)には、優先制御のみで利用されるものと、負荷分散制御のみで利用されるものと、優先制御と負荷分散制御で共有されるものとがある。したがって、負荷分散制御で利用可能な送出先の通信経路としては、負荷分散制御のみで利用されるものと、優先制御と負荷分散制御で共有されるものとがある。負荷分散制御で利用可能な送出先の通信経路(負荷分散制御で利用可能なデータバッファ5−1〜5−3)の情報は、外部からテーブル割り当て制御部7を介して予め通知される。   The destination communication paths (data buffers 5-1 to 5-3) are shared only by priority control, those used only by load distribution control, and shared by priority control and load distribution control. There is a thing. Therefore, the destination communication paths that can be used in the load distribution control include those that are used only in the load distribution control and those that are shared in the priority control and the load distribution control. Information on destination communication paths (data buffers 5-1 to 5-3 that can be used in load distribution control) that can be used in load distribution control is notified in advance via the table allocation control unit 7 from the outside.

上記のとおり、ハッシュ値演算部1が演算するハッシュ値は、パケットの属性に固有の値である。一方、負荷分散ハッシュ値演算部30が演算するハッシュ値は、パケットの属性に固有の値であるとは限らず、異なる属性について同一の値が算出される場合が有り得る。   As described above, the hash value calculated by the hash value calculation unit 1 is a value unique to the attribute of the packet. On the other hand, the hash value calculated by the load balancing hash value calculation unit 30 is not necessarily a value specific to the attribute of the packet, and the same value may be calculated for different attributes.

負荷分散制御部3の負荷分散経路制御部32は、負荷分散ハッシュ値演算部30が演算したハッシュ値と負荷分散経路選択テーブル31とを照合し、負荷分散ハッシュ値演算部30が演算したハッシュ値と対応する送出先の通信経路の情報を負荷分散経路選択テーブル31から取得して、送出先の通信経路の情報をパケット転送制御部4へ通知する(図2ステップS7)。   The load distribution path control unit 32 of the load distribution control unit 3 collates the hash value calculated by the load distribution hash value calculation unit 30 with the load distribution path selection table 31, and the hash value calculated by the load distribution hash value calculation unit 30 Is acquired from the load distribution route selection table 31 and the destination communication route information is notified to the packet transfer control unit 4 (step S7 in FIG. 2).

次に、パケット転送制御部4は、受信したパケットを、優先制御部2あるいは負荷分散制御部3から通知される送出先の通信経路の情報に従って、データバッファ5−1〜5−3のいずれかへ送信する(図2ステップS8)。具体的には、パケット転送制御部4は、優先制御部2の優先経路制御部21から送出先の通信経路の情報を受け取った場合には、データバッファ5−1〜5−1のうち、優先経路制御部21から通知された送出先の通信経路に対応するデータバッファにパケットを送信し、負荷分散制御部3の負荷分散経路制御部32から送出先の通信経路の情報を受け取った場合には、負荷分散経路制御部32から通知された送出先の通信経路に対応するデータバッファにパケットを送信する。パケットは、データバッファ5−1〜5−3から対応する通信経路へ適宜出力されて宛先へ送信される。   Next, the packet transfer control unit 4 sends the received packet to one of the data buffers 5-1 to 5-3 according to the information on the destination communication path notified from the priority control unit 2 or the load distribution control unit 3. (Step S8 in FIG. 2). Specifically, when the packet transfer control unit 4 receives information on the destination communication path from the priority path control unit 21 of the priority control unit 2, the packet transfer control unit 4 selects the priority among the data buffers 5-1 to 5-1. When a packet is transmitted to the data buffer corresponding to the destination communication path notified from the path control unit 21 and information on the destination communication path is received from the load distribution path control unit 32 of the load distribution control unit 3 The packet is transmitted to the data buffer corresponding to the destination communication path notified from the load distribution path control unit 32. The packet is appropriately output from the data buffers 5-1 to 5-3 to the corresponding communication path and transmitted to the destination.

次に、負荷分散制御部3の負荷分散経路選択テーブル31の作成方法について説明する。負荷分散経路選択テーブル31を作成するためには、負荷分散ハッシュ値演算部30が演算するハッシュ値のとり得る全ての値と、外部から設定される負荷分散設定データと、負荷分散制御で利用可能な送出先の通信経路(負荷分散制御で利用可能なデータバッファ5−1〜5−3)の情報とから、負荷分散ハッシュ値演算部30が演算するハッシュ値に応じてパケットを負荷分散制御で利用可能なデータバッファに振り分けたときの各データバッファの負荷状況が負荷分散設定データで規定される負荷状況と合致するように、送出先の通信経路を決定すればよい。こうして、負荷分散ハッシュ値演算部30が演算するハッシュ値と送出先の通信経路とが対応付けられ、負荷分散経路選択テーブル31を設定することが可能になる。   Next, a method for creating the load distribution route selection table 31 of the load distribution control unit 3 will be described. In order to create the load distribution route selection table 31, all values that can be taken by the hash value calculated by the load distribution hash value calculation unit 30, load distribution setting data set from the outside, and load distribution control can be used. The packet is subjected to load distribution control according to the hash value calculated by the load distribution hash value calculation unit 30 based on the information of the communication path of the appropriate transmission destination (data buffers 5-1 to 5-3 that can be used for load distribution control). The destination communication path may be determined so that the load status of each data buffer when it is allocated to the available data buffer matches the load status specified by the load distribution setting data. In this manner, the hash value calculated by the load distribution hash value calculation unit 30 is associated with the destination communication path, and the load distribution path selection table 31 can be set.

負荷分散設定データとしては、各データバッファの所望の利用率データと、各データバッファの共有設定データ(例えば優先制御によるデータバッファの利用と負荷分散制御によるデータバッファの利用の所望の割合)とがある。   The load distribution setting data includes desired usage rate data of each data buffer and shared setting data of each data buffer (for example, a desired ratio of data buffer usage by priority control and data buffer usage by load distribution control). is there.

負荷分散経路選択テーブル31は、基本的には負荷分散制御で利用可能なデータバッファについて全てのデータバッファの利用率が一定となる均一なパケットの振り分けが実現されるように予め作成されるが、外部から設定される負荷分散設定データによっては、必ずしも全てのデータバッファの利用率が同一になるとは限らない。このようなデータバッファの割り付けの概念を表したものが図3である。   The load distribution route selection table 31 is basically created in advance so as to realize uniform distribution of packets in which the utilization rate of all data buffers is constant for the data buffers that can be used in load distribution control. Depending on the load distribution setting data set from the outside, the utilization rates of all the data buffers are not necessarily the same. FIG. 3 shows the concept of such data buffer allocation.

図3の例では、データバッファ5−1,5−2が優先制御のみで利用されるバッファであり、データバッファ5−3が優先制御と負荷分散制御で共有されるバッファであり、データバッファ5−4〜5−6が負荷分散制御のみで利用されるバッファである。ある属性を有するフロー(パケット)#1は優先制御によりデータバッファ5−1に送信され、別の属性を有するフロー#2は優先制御によりデータバッファ5−2または5−3に送信され、その他のフローは負荷分散制御によりデータバッファ5−3〜5−6のいずれかに送信される。   In the example of FIG. 3, the data buffers 5-1 and 5-2 are buffers used only for priority control, the data buffer 5-3 is a buffer shared by priority control and load distribution control, and the data buffer 5 -4 to 5-6 are buffers used only for load distribution control. A flow (packet) # 1 having an attribute is transmitted to the data buffer 5-1 by priority control, and a flow # 2 having another attribute is transmitted to the data buffer 5-2 or 5-3 by priority control. The flow is transmitted to one of the data buffers 5-3 to 5-6 by load distribution control.

なお、負荷分散経路選択テーブル31は以上の方法により負荷分散経路制御部32が作成して設定してもよいし、外部で作成した負荷分散経路選択テーブル31をテーブル割り当て制御部7を介して負荷分散制御部3に設定するようにしてもよい。   Note that the load distribution route selection table 31 may be created and set by the load distribution route control unit 32 by the above method, or the load distribution route selection table 31 created externally is loaded via the table allocation control unit 7. You may make it set to the dispersion | distribution control part 3. FIG.

また、負荷分散制御部3では、優先制御部2の優先経路制御部21から通知された全てのハッシュ値に対して、負荷分散経路選択テーブル31と合致するように新たなハッシュ値が演算される。このときの演算方法は、上記のとおり、通知されたハッシュ値を負荷分散制御で利用可能な送出先の通信経路の数(負荷分散制御で利用可能なデータバッファの数)で除算すればよい。   In addition, the load distribution control unit 3 calculates new hash values so as to match the load distribution route selection table 31 for all hash values notified from the priority route control unit 21 of the priority control unit 2. . The calculation method at this time may divide the notified hash value by the number of destination communication paths that can be used in load distribution control (the number of data buffers that can be used in load distribution control).

ただし、負荷分散ハッシュ値演算部30でハッシュ値を演算せずに、優先制御部2の優先経路制御部21から通知されたハッシュ値をそのまま用いてもよい。この場合、負荷分散経路選択テーブル31を作成するためには、ハッシュ値演算部1が演算するハッシュ値のとり得る全ての値と、外部から設定される負荷分散設定データと、負荷分散制御で利用可能な送出先の通信経路の情報とから、ハッシュ値演算部1が演算するハッシュ値に応じてパケットを負荷分散制御で利用可能なデータバッファに振り分けたときの各データバッファの負荷状況が負荷分散設定データで規定される負荷状況と合致するように、送出先の通信経路を決定すればよい。   However, the hash value notified from the priority route control unit 21 of the priority control unit 2 may be used as it is without calculating the hash value by the load distribution hash value calculation unit 30. In this case, in order to create the load distribution route selection table 31, all values that the hash value calculated by the hash value calculation unit 1 can take, load distribution setting data set from the outside, and use in load distribution control The load distribution of each data buffer when the packet is distributed to the data buffer that can be used in load distribution control according to the hash value calculated by the hash value calculation unit 1 from the information on the possible communication path of the destination What is necessary is just to determine the communication path of a transmission destination so that it may correspond with the load condition prescribed | regulated by setting data.

本実施の形態では、パケットのヘッダデータ中の取得するフィールド値の位置を外部から指定できるようにしたことにより、非特許文献1に開示されたような固定のフィールド値ではなく、任意の長さを持つ任意のフィールド値に対するパケット識別処理を実現することができる。また、本実施の形態では、特殊な条件(例えば複数のフィールドからのフィールド値の取得)に対応することが可能であり、将来の拡張性を確保することができる。   In the present embodiment, since the position of the field value to be acquired in the header data of the packet can be designated from the outside, it is not a fixed field value as disclosed in Non-Patent Document 1, but an arbitrary length. Packet identification processing can be realized for any field value having. In this embodiment, it is possible to cope with special conditions (for example, acquisition of field values from a plurality of fields), and future expandability can be secured.

また、本実施の形態では、特許文献1および非特許文献1に開示された技術と異なり、優先制御に利用するデータバッファと負荷分散に利用するデータバッファの自由な割り当てを実現することができ、これによりNIC等の省資源なオンチップ上での効率的なサ−ビスを実現することができる。   Also, in the present embodiment, unlike the techniques disclosed in Patent Document 1 and Non-Patent Document 1, it is possible to realize free allocation of a data buffer used for priority control and a data buffer used for load distribution, As a result, an efficient service on resource-saving on-chip such as NIC can be realized.

また、本実施の形態では、優先制御でのデータバッファの割り当てのためのハッシュ演算に加えて、負荷分散制御で利用可能なデータバッファに適したハッシュ演算を再度実施することで、負荷分散制御の対象外になるパケットを無くすことができ、パケットが単一のデータバッファに振り分けられることによるスループットの低下を回避することができる。また、本実施の形態では、ハッシュ演算によるパケット識別とデータバッファ割り当てによりパケットの順序逆転が起こらないことを保障することができる。   In addition, in this embodiment, in addition to the hash calculation for data buffer allocation in the priority control, the hash calculation suitable for the data buffer that can be used in the load distribution control is performed again. Packets that are not targeted can be eliminated, and a decrease in throughput due to distribution of packets to a single data buffer can be avoided. Further, in this embodiment, it is possible to ensure that packet order reversal does not occur due to packet identification by hash operation and data buffer allocation.

以上で本発明の実施の形態が示され、説明がなされた。本実施の形態のネットワーク負荷分散装置は、回路であってもよいし、機器であってもよい。本実施の形態で示したネットワーク負荷分散装置が、QoS機能実現の優先制御処理機能と高スループットを実現する負荷分散処理機能とを具備する構成を最良の形態と見なしているものの、本実施の形態のネットワーク負荷分散装置は、ROMに記憶されたファームウェアおよび再構成型デバイス、素子、基板、配線などのハードウェアで実現されていても構わない。或いは、ネットワーク負荷分散装置は、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで構成されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPUにより読み出されて実行される。すなわち、プログラムは、本実施の形態のネットワーク負荷分散装置としてコンピュータを機能させるものである。あるいは、ネットワーク負荷分散装置の各ステップをコンピュータに実行させるものである。   The embodiment of the present invention has been shown and described above. The network load distribution apparatus according to the present embodiment may be a circuit or a device. Although the configuration in which the network load distribution apparatus shown in the present embodiment includes a priority control processing function for realizing a QoS function and a load distribution processing function for realizing high throughput is regarded as the best mode, the present embodiment The network load distribution apparatus may be implemented by firmware such as firmware stored in a ROM and hardware such as a reconfigurable device, element, board, and wiring. Alternatively, the network load distribution device may be configured by a combination of software and hardware, and further by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read and executed by the CPU. In other words, the program causes the computer to function as the network load distribution apparatus according to the present embodiment. Alternatively, the computer executes each step of the network load distribution apparatus.

本発明は、小資源のハードウェア上で実施されるパケットの送出先制御に適用することができる。   The present invention can be applied to packet destination control implemented on small resource hardware.

1…ハッシュ値演算部、2…優先制御部、3…負荷分散制御部、4…パケット転送制御部、5−1〜5−6…データバッファ、6…ハッシュ値演算制御部、7…テーブル割り当て制御部、20…優先経路選択テーブル、21…優先経路制御部、30…負荷分散ハッシュ値演算部、31…負荷分散経路選択テーブル、32…負荷分散経路制御部。   DESCRIPTION OF SYMBOLS 1 ... Hash value calculation part, 2 ... Priority control part, 3 ... Load distribution control part, 4 ... Packet transfer control part, 5-1-5-6 ... Data buffer, 6 ... Hash value calculation control part, 7 ... Table allocation Control unit, 20 ... priority route selection table, 21 ... priority route control unit, 30 ... load distribution hash value calculation unit, 31 ... load distribution route selection table, 32 ... load distribution route control unit.

Claims (8)

受信したパケットに含まれるフィールド値を基に第1のハッシュ値を演算するハッシュ値演算手段と、
前記パケットの送出先の通信経路ごとに設けられるデータバッファと、
前記第1のハッシュ値に基づいて優先制御の対象となる特定のパケットを検出し、このパケットの送出先の通信経路を決定する優先制御手段と、
前記第1のハッシュ値に基づく第2のハッシュ値により前記優先制御の対象外のパケットの送出先の通信経路を、前記データバッファの負荷分散を満たしつつ決定する負荷分散制御手段と、
前記優先制御手段あるいは前記負荷分散制御手段が決定した送出先の通信経路に従って、この通信経路に対応するデータバッファに前記パケットを送信するパケット転送制御手段とを備えることを特徴とするネットワーク負荷分散装置。
Hash value calculation means for calculating a first hash value based on a field value included in the received packet;
A data buffer provided for each communication path of the packet destination;
Priority control means for detecting a specific packet subject to priority control based on the first hash value and determining a communication path of a destination of the packet;
Load distribution control means for determining a communication path of a transmission destination of a packet not subject to priority control by a second hash value based on the first hash value while satisfying load distribution of the data buffer;
A network load distribution apparatus comprising: packet transfer control means for transmitting the packet to a data buffer corresponding to the communication path in accordance with a destination communication path determined by the priority control means or the load distribution control means. .
請求項1記載のネットワーク負荷分散装置において、
前記ハッシュ値演算手段は、前記パケット内の、外部から予め指定された位置にあるフィールド値を取得し、このフィールド値と外部から予め設定されたキー値とに基づいて前記第1のハッシュ値を演算することを特徴とするネットワーク負荷分散装置。
The network load distribution apparatus according to claim 1,
The hash value calculation means acquires a field value at a position designated in advance from the outside in the packet, and calculates the first hash value based on the field value and a key value set in advance from the outside. A network load balancer characterized by computing.
請求項1または2記載のネットワーク負荷分散装置において、
前記優先制御手段は、
前記ハッシュ値演算手段が演算する第1のハッシュ値のとり得る値と送出先の通信経路とを対応付けて予め記憶する優先経路選択テーブルと、
前記第1のハッシュ値と同一の値が前記優先経路選択テーブルに登録されている場合に、前記第1のハッシュ値と対応する送出先の通信経路の情報を前記優先経路選択テーブルから取得する優先経路制御手段とを備えることを特徴とするネットワーク負荷分散装置。
The network load distribution apparatus according to claim 1 or 2,
The priority control means includes
A priority route selection table that stores in advance a correspondence between a value that can be taken by the first hash value calculated by the hash value calculation means and a communication path of a transmission destination;
Priority for acquiring information on the destination communication path corresponding to the first hash value from the priority path selection table when the same value as the first hash value is registered in the priority path selection table A network load distribution apparatus comprising: a path control unit.
請求項1乃至3のいずれか1項に記載のネットワーク負荷分散装置において、
前記負荷分散制御手段は、
前記ハッシュ値演算手段が演算した第1のハッシュ値と負荷分散制御で利用可能な所定の送出先の情報とから第2のハッシュ値を演算する負荷分散ハッシュ値演算手段と、
この負荷分散ハッシュ値演算手段が演算する第2のハッシュ値のとり得る値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路とから予め設定される負荷分散経路選択テーブルと、
前記負荷分散ハッシュ値演算手段が演算した第2のハッシュ値と対応する送出先の通信経路の情報を前記負荷分散経路選択テーブルから取得する負荷分散経路制御手段とを備えることを特徴とするネットワーク負荷分散装置。
The network load distribution apparatus according to any one of claims 1 to 3,
The load distribution control means includes
Load balancing hash value computing means for computing a second hash value from the first hash value computed by the hash value computing means and information on a predetermined destination usable in load balancing control;
Load distribution set in advance from a possible value of the second hash value calculated by the load distribution hash value calculation means, load distribution setting data set from the outside, and a destination communication path that can be used in load distribution control A route selection table;
A network load comprising: a load distribution path control unit that acquires information about a destination communication path corresponding to the second hash value calculated by the load distribution hash value calculation unit from the load distribution path selection table. Distributed device.
請求項4記載のネットワーク負荷分散装置において、
前記負荷分散経路選択テーブルに登録される送出先の通信経路は、前記負荷分散ハッシュ値演算手段が演算する第2のハッシュ値のとり得る全ての値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路の情報とから、前記負荷分散ハッシュ値演算手段が演算する第2のハッシュ値に応じてパケットを負荷分散制御で利用可能なデータバッファに振り分けたときの各データバッファの負荷状況が前記負荷分散設定データで規定される負荷状況と合致するように決定されていることを特徴とするネットワーク負荷分散装置。
The network load distribution apparatus according to claim 4, wherein
The destination communication path registered in the load distribution path selection table includes all possible values of the second hash value calculated by the load distribution hash value calculation means, load distribution setting data and load set from the outside When a packet is distributed to a data buffer that can be used for load distribution control according to a second hash value calculated by the load distribution hash value calculation means, based on information on a destination communication path that can be used for distribution control A network load distribution apparatus, wherein a load condition of each data buffer is determined so as to match a load condition defined by the load distribution setting data.
受信したパケットに含まれるフィールド値を基に第1のハッシュ値を演算するハッシュ値演算ステップと、
前記第1のハッシュ値に基づいて優先制御の対象となる特定のパケットを検出し、このパケットの送出先の通信経路を決定する優先制御ステップと、
前記第1のハッシュ値に基づく第2のハッシュ値により前記優先制御の対象外のパケットの送出先の通信経路を、前記データバッファの負荷分散を満たしつつ決定する負荷分散制御ステップと、
前記優先制御ステップあるいは前記負荷分散制御ステップで決定した送出先の通信経路に従って、この通信経路に対応するデータバッファに前記パケットを送信するパケット転送制御ステップとを含むことを特徴とするネットワーク負荷分散方法。
A hash value calculation step of calculating a first hash value based on a field value included in the received packet;
A priority control step of detecting a specific packet subject to priority control based on the first hash value and determining a communication path of a destination of the packet;
A load distribution control step of determining a communication path of a transmission destination of a packet not subject to priority control based on a second hash value based on the first hash value while satisfying load distribution of the data buffer;
And a packet transfer control step of transmitting the packet to a data buffer corresponding to the communication path according to the destination communication path determined in the priority control step or the load distribution control step. .
請求項6記載のネットワーク負荷分散方法において、
前記ハッシュ値演算ステップは、前記パケット内の、外部から予め指定された位置にあるフィールド値を取得し、このフィールド値と外部から予め設定されたキー値とに基づいて前記第1のハッシュ値を演算するステップを含み、
前記優先制御ステップは、
前記第1のハッシュ値のとり得る値と送出先の通信経路とを対応付けて予め記憶する優先経路選択テーブルを参照し、前記第1のハッシュ値と同一の値が前記優先経路選択テーブルに登録されている場合に、前記第1のハッシュ値と対応する送出先の通信経路の情報を前記優先経路選択テーブルから取得する優先経路制御ステップを含み、
前記負荷分散制御ステップは、
前記第1のハッシュ値と負荷分散制御で利用可能な所定の送出先の情報とから第2のハッシュ値を演算する負荷分散ハッシュ値演算ステップと、
前記第2のハッシュ値のとり得る値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路とから予め設定される負荷分散経路選択テーブルを参照し、前記負荷分散ハッシュ値演算ステップで演算した第2のハッシュ値と対応する送出先の通信経路の情報を前記負荷分散経路選択テーブルから取得する負荷分散経路制御ステップとを含むことを特徴とするネットワーク負荷分散方法。
The network load balancing method according to claim 6, wherein
The hash value calculation step acquires a field value at a position designated in advance from the outside in the packet, and calculates the first hash value based on the field value and a key value set in advance from the outside. Including a step of calculating,
The priority control step includes:
Reference is made to a priority route selection table in which values that can be taken by the first hash value and destination communication routes are stored in advance, and the same value as the first hash value is registered in the priority route selection table. A priority route control step of obtaining information of a communication route of a transmission destination corresponding to the first hash value from the priority route selection table,
The load balancing control step includes
A load distribution hash value calculation step of calculating a second hash value from the first hash value and information of a predetermined destination available in load distribution control;
Refer to a load distribution route selection table set in advance from values that can be taken by the second hash value, load distribution setting data set from the outside, and communication routes of destinations that can be used in load distribution control, and the load A load distribution path control step of acquiring from the load distribution path selection table information on a destination communication path corresponding to the second hash value calculated in the distributed hash value calculation step. .
請求項7記載のネットワーク負荷分散方法において、
前記負荷分散経路選択テーブルに登録される送出先の通信経路は、前記負荷分散ハッシュ値演算ステップで演算する第2のハッシュ値のとり得る全ての値と外部から設定される負荷分散設定データと負荷分散制御で利用可能な送出先の通信経路の情報とから、前記負荷分散ハッシュ値演算ステップで演算する第2のハッシュ値に応じてパケットを負荷分散制御で利用可能なデータバッファに振り分けたときの各データバッファの負荷状況が前記負荷分散設定データで規定される負荷状況と合致するように決定されていることを特徴とするネットワーク負荷分散方法。
The network load balancing method according to claim 7,
The destination communication path registered in the load distribution path selection table includes all possible values of the second hash value calculated in the load distribution hash value calculation step, load distribution setting data and load set from the outside. When a packet is distributed to a data buffer that can be used in load distribution control according to the second hash value calculated in the load distribution hash value calculation step, based on information on the destination communication path that can be used in distribution control A network load balancing method, wherein the load situation of each data buffer is determined so as to match the load situation defined by the load balancing setting data.
JP2016018628A 2016-02-03 2016-02-03 Network load balancing apparatus and method Active JP6461834B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016018628A JP6461834B2 (en) 2016-02-03 2016-02-03 Network load balancing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016018628A JP6461834B2 (en) 2016-02-03 2016-02-03 Network load balancing apparatus and method

Publications (2)

Publication Number Publication Date
JP2017139597A JP2017139597A (en) 2017-08-10
JP6461834B2 true JP6461834B2 (en) 2019-01-30

Family

ID=59565175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016018628A Active JP6461834B2 (en) 2016-02-03 2016-02-03 Network load balancing apparatus and method

Country Status (1)

Country Link
JP (1) JP6461834B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6977621B2 (en) * 2018-03-02 2021-12-08 日本電信電話株式会社 Control device and control method
JP6965838B2 (en) * 2018-07-09 2021-11-10 日本電信電話株式会社 Network load balancer and method
JP7077825B2 (en) * 2018-07-09 2022-05-31 日本電信電話株式会社 Network load balancer and method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4431315B2 (en) * 2003-01-14 2010-03-10 株式会社日立製作所 Packet communication method and packet communication apparatus
JP2007053564A (en) * 2005-08-17 2007-03-01 Fujitsu Ltd Network switching device
JP4771988B2 (en) * 2007-04-12 2011-09-14 アラクサラネットワークス株式会社 Load balancing device and network device
JP4998507B2 (en) * 2009-04-23 2012-08-15 富士通株式会社 Network equipment
JP2012205048A (en) * 2011-03-25 2012-10-22 Nec Corp Packet transmission device, packet transmission method, and computer program

Also Published As

Publication number Publication date
JP2017139597A (en) 2017-08-10

Similar Documents

Publication Publication Date Title
US9614755B2 (en) Combined hardware/software forwarding mechanism and method
WO2020092045A1 (en) Scalable network slice based queuing using segment routing flexible algorithm
US7983299B1 (en) Weight-based bandwidth allocation for network traffic
EP2720422A1 (en) Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4G IP network/equipment for better traffic performance
JP7288980B2 (en) Quality of Service in Virtual Service Networks
KR100961712B1 (en) Apparatus, method and computer program product providing high performance communication bus having preferred path source routing, multi-guarantee QoS and resource reservation, management and release
WO2015187946A1 (en) Adaptive load balancer and methods for intelligent data traffic steering
US9197570B2 (en) Congestion control in packet switches
KR20160041631A (en) Apparatus and method for quality of service aware routing control
JP6461834B2 (en) Network load balancing apparatus and method
Chahlaoui et al. Performance analysis of load balancing mechanisms in SDN networks
KR102033402B1 (en) Smart gateway supporting iot and realtime traffic shaping method for the same
Thapeta et al. Nimble: Scalable tcp-friendly programmable in-network rate-limiting
Huang et al. Modeling and performance analysis for multimedia data flows scheduling in software defined networks
Caraguay et al. Framework for optimized multimedia routing over software defined networks
JP6829156B2 (en) Network load balancer and method
Rezende et al. Analysis of monitoring and multipath support on top of OpenFlow specification
Challa et al. CentFlow: centrality-based flow balancing and traffic distribution for higher network utilization
Thazin et al. End-to-end dynamic bandwidth resource allocation based on QoS demand in SDN
Regencia et al. Introducing a test framework for quality of service mechanisms in the context of software-defined networking
Szymanski Low latency energy efficient communications in global-scale cloud computing systems
Motohashi et al. Implementation of p4-based schedulers for multipath communication
JP6965838B2 (en) Network load balancer and method
Lhamo et al. RED-SP-CoDel: Random early detection with static priority scheduling and controlled delay AQM in programmable data planes
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181226

R150 Certificate of patent or registration of utility model

Ref document number: 6461834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150