JP6850618B2 - Relay device and relay method - Google Patents

Relay device and relay method Download PDF

Info

Publication number
JP6850618B2
JP6850618B2 JP2017013594A JP2017013594A JP6850618B2 JP 6850618 B2 JP6850618 B2 JP 6850618B2 JP 2017013594 A JP2017013594 A JP 2017013594A JP 2017013594 A JP2017013594 A JP 2017013594A JP 6850618 B2 JP6850618 B2 JP 6850618B2
Authority
JP
Japan
Prior art keywords
packet
queue
flow
unit
learning
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
JP2017013594A
Other languages
Japanese (ja)
Other versions
JP2018121307A (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2017013594A priority Critical patent/JP6850618B2/en
Publication of JP2018121307A publication Critical patent/JP2018121307A/en
Application granted granted Critical
Publication of JP6850618B2 publication Critical patent/JP6850618B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パケット群を中継する中継装置に関する。 The present invention relates to a relay device that relays a packet group.

近年、動画や音声といった電子的なコンテンツをネットワーク経由でリアルタイム配信する、いわゆるストリーミング技術が普及している。かかるストリーミングをインターネットを介して実現する場合、多数のユーザ間で同一の回線が共用される。このため、帯域あたりのコストが低く抑えられる。一方で、通信パケットの廃棄量を抑制することにより、通信品質(QoS:Quality of Service)が確保される。このようなことから、中継装置はシェーパを搭載し、一度に多量に送信されるデータを一定レートに平準化して転送する技術が知られている(たとえば、下記特許文献1を参照)。 In recent years, so-called streaming technology, which delivers electronic contents such as video and audio in real time via a network, has become widespread. When such streaming is realized via the Internet, the same line is shared among a large number of users. Therefore, the cost per band can be kept low. On the other hand, communication quality (Quality of Service) is ensured by suppressing the amount of communication packets discarded. For this reason, a technique is known in which a relay device is equipped with a shaper and a large amount of data transmitted at one time is leveled at a constant rate and transferred (see, for example, Patent Document 1 below).

特許文献1は、ユーザやサービスに対応したフロー条件を予め構成定義情報として設定しておき、受信した通信パケットを、フローごとに用意したキューに一旦蓄積して、予め定めたシェーピング条件(送出帯域値や優先度)に基づいて通信パケットの転送を行う技術を開示する。 In Patent Document 1, flow conditions corresponding to users and services are set in advance as configuration definition information, and received communication packets are temporarily stored in a queue prepared for each flow, and predetermined shaping conditions (transmission band) are provided. Disclose a technology for transferring communication packets based on (value and priority).

特許文献2は、入力フローをパケットのヘッダ情報などを元に一定のハッシュ関数によりハッシュ値へ変換し、ハッシュ値に対応したキューに自動で振り分けることにより通信の平準化を行う技術を開示する。また、特許文献2は、ハッシュ値のコリジョンなどにより廃棄が発生した場合は、ハッシュ関数を変更することで再度、平準化を行う技術を開示する。 Patent Document 2 discloses a technique for leveling communication by converting an input flow into a hash value by a constant hash function based on packet header information and the like, and automatically allocating the input flow to a queue corresponding to the hash value. Further, Patent Document 2 discloses a technique for leveling again by changing the hash function when disposal occurs due to collision of hash values or the like.

特開平11−346246号公報Japanese Unexamined Patent Publication No. 11-346246 特開2009−182546号公報Japanese Unexamined Patent Publication No. 2009-182546

しかしながら、特許文献1の技術は、ユーザやサービスごとにフローを設定する必要があるため、多数のユーザやサービスに対応することが困難である。たとえば、数百万のユーザごとにフローを設定する場合、キューの数をユーザ数と同一数分確保することは困難である。仮に、数百万のキューを確保したとしても、記憶媒体の容量の膨大化、または、受信パケットの振り分け処理によって生じる過大な負荷は、大幅なコスト増加を招き、現実的ではない。しかも、アクティブ率の低いユーザのキューを確保することは非効率である。 However, in the technique of Patent Document 1, it is difficult to deal with a large number of users and services because it is necessary to set a flow for each user and service. For example, when setting a flow for every millions of users, it is difficult to secure the same number of queues as the number of users. Even if millions of queues are secured, the enormous capacity of the storage medium or the excessive load caused by the distribution processing of received packets causes a significant cost increase, which is not realistic. Moreover, it is inefficient to secure a queue of users with a low active rate.

また、特許文献2の技術では、ハッシュ関数の変更後もハッシュ値のコリジョンが発生する可能性がある。またこれにより、ハッシュ関数の変更が頻発することで送信パケットの順序逆転が頻発する可能性がある。 Further, in the technique of Patent Document 2, collision of hash values may occur even after the hash function is changed. Further, as a result, there is a possibility that the order of the transmitted packets is frequently reversed due to frequent changes in the hash function.

本発明は、記憶容量の増加を抑制しつつ通信品質の向上を図ることを目的とする。 An object of the present invention is to improve communication quality while suppressing an increase in storage capacity.

本願において開示される発明の一側面となる中継装置および中継方法は、パケット群を中継する中継装置及びその中継方法であって、中継装置は、第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、を有し、中継装置は、受信部により、前記パケット群を受信し、振分部により、前記受信部によって受信されたパケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分け、送信部により、前記振分部によって前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信することを特徴とする。 The relay device and the relay method which are one aspect of the invention disclosed in the present application are the relay device and the relay method for relaying the packet group, and the relay device belongs to the first flow and specifies the first flow. 1 A second including one or more first queues for storing a first packet containing specific information, and a second specific information converted into the same hash value as the hash value converted from the first specific information and specifying a second flow. A queue group having one or more second queues for storing two packets, a first storage unit for storing first correspondence information in which the hash value is associated with the first queue, and the second specific information. It has a second storage unit that stores the second correspondence information in which the second queue is associated with the second queue, and the relay device receives the packet group by the receiving unit and the receiving unit by the distribution unit. It is determined whether or not the specific information included in each packet of the packet group received by the packet and specifying the flow to which the packet belongs matches the second specific information, and if they match, the second correspondence is performed. With reference to the information, the packet is distributed to the second queue as the second packet, and if they do not match, the specific information is converted into the hash value, and the packet is referred to the first correspondence information to be the first packet. The packet group is distributed to the first queue as one packet, and the transmitting unit transmits the packet group distributed to the first queue and the second queue by the distribution unit.

本発明の代表的な実施の形態によれば、記憶容量の増加を抑制しつつ通信品質の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, it is possible to improve the communication quality while suppressing the increase in the storage capacity. Issues, configurations and effects other than those described above will be clarified by the description of the following examples.

図1は、通信システムの一例を示す説明図である。FIG. 1 is an explanatory diagram showing an example of a communication system. 図2は、ルータの構成例を示すブロック図である。FIG. 2 is a block diagram showing a configuration example of a router. 図3は、振分部の詳細な構成例を示す説明図である。FIG. 3 is an explanatory diagram showing a detailed configuration example of the distribution unit. 図4は、学習部の詳細な構成例を示す説明図である。FIG. 4 is an explanatory diagram showing a detailed configuration example of the learning unit. 図5は、振分部による振り分け処理手順例を示すフローチャートである。FIG. 5 is a flowchart showing an example of the distribution processing procedure by the distribution unit. 図6は、学習部による学習処理手順例を示すフローチャートである。FIG. 6 is a flowchart showing an example of a learning processing procedure by the learning unit. 図7は、学習結果処理部による学習結果処理手順例を示すフローチャートである。FIG. 7 is a flowchart showing an example of the learning result processing procedure by the learning result processing unit. 図8は、学習結果処理部による予備領域更新処理1の詳細な処理手順例を示すフローチャートである。FIG. 8 is a flowchart showing a detailed processing procedure example of the preliminary area update processing 1 by the learning result processing unit. 図9は、学習結果処理部による予備領域更新処理2の詳細な処理手順例を示すフローチャートである。FIG. 9 is a flowchart showing a detailed processing procedure example of the preliminary area update processing 2 by the learning result processing unit.

<システム構成例>
図1は、通信システムの一例を示す説明図である。通信システム100は、動画等のコンテンツをストリーミングによってユーザに提供するネットワークシステムである。図示するように、通信システム100は、サーバSV1,SV2と、中継装置であるルータRT1〜RT5と、端末であるパーソナルコンピュータPC1〜PC3とを備えている。
<System configuration example>
FIG. 1 is an explanatory diagram showing an example of a communication system. The communication system 100 is a network system that provides users with contents such as moving images by streaming. As shown in the figure, the communication system 100 includes servers SV1 and SV2, routers RT1 to RT5 as relay devices, and personal computers PC1 to PC3 as terminals.

サーバSV1,SV2は、コンテンツを提供するサーバであり、各種コンテンツを記憶する。サーバSV1,SV2は、ルータRT1に直接的に接続されている。なお、ルータRT1に接続されるサーバの数は、説明を簡単にするために2つとして示しているが、3以上であってもよい。 The servers SV1 and SV2 are servers that provide contents and store various contents. The servers SV1 and SV2 are directly connected to the router RT1. The number of servers connected to the router RT1 is shown as two for the sake of simplicity, but may be three or more.

ルータRT1は、ネットワークNTに接続される。ネットワークNTは、たとえば、インターネットである。ただし、ネットワークNTの種類は、特に限定するものではなく、専用回線などのWAN(Wide Area Network)であってもよいし、LAN(Local Area Network)であってもよい。 Router RT1 is connected to network NT. The network NT is, for example, the Internet. However, the type of network NT is not particularly limited, and may be a WAN (Wide Area Network) such as a dedicated line, or a LAN (Local Area Network).

また、ルータRT2は、ネットワークNTに接続される。サーバSV1,SV2,ルータRT1,RT2は、たとえば、コンテンツ配信サービスを行うISP(Internet Service Provider)により設置される。ルータRT2は、各家庭A〜Cに設置されたルータRT3〜RT5を介して、パーソナルコンピュータPC1〜PC3にそれぞれ接続される。ルータRT2とルータRT3〜RT5との間には、他の中継装置や集線装置が介在してもよい。 Further, the router RT2 is connected to the network NT. The servers SV1, SV2, routers RT1 and RT2 are installed, for example, by an ISP (Internet Service Provider) that provides a content distribution service. The router RT2 is connected to the personal computers PC1 to PC3 via the routers RT3 to RT5 installed in the homes A to C, respectively. Another relay device or line concentrator may be interposed between the routers RT2 and the routers RT3 to RT5.

パーソナルコンピュータPC1〜PC3は、汎用のパーソナルコンピュータである。なお、ルータRT3〜RT5に接続される端末は、サーバSV1,SV2の配信するコンテンツを利用可能なコンピュータであればよく、たとえば、ネットワーク対応テレビなどであってもよい。また、ルータRT3〜RT5には、複数の端末が接続されていてもよい。また、ルータRT2は、説明を簡単にするために、家庭A〜Cのネットワークに接続されるものとしたが、実際には、たとえば、数千や数万の家庭のネットワークに接続される。 The personal computers PC1 to PC3 are general-purpose personal computers. The terminals connected to the routers RT3 to RT5 may be any computer that can use the contents distributed by the servers SV1 and SV2, and may be, for example, a network-compatible television. Further, a plurality of terminals may be connected to the routers RT3 to RT5. Further, the router RT2 is assumed to be connected to the networks of homes A to C for the sake of simplicity, but in reality, it is connected to the networks of thousands or tens of thousands of homes, for example.

通信システム100において、サーバSV1,SV2は、パーソナルコンピュータPC1〜PC3から、コンテンツの利用要求を受け付けると、利用要求されたコンテンツを、利用要求元のパーソナルコンピュータPC1〜PC3に配信する。ルータRT1,RT2は、サーバSV1,SV2が配信するパケットを受信すると、それぞれのパケットを一旦バッファに蓄積し、平準化してパーソナルコンピュータPC1〜PC3に向けて転送する。パーソナルコンピュータPC1〜PC3は、ルータRT3〜RT5を介して、転送されたパケットを受信して、予めインストールされたアプリケーションで利用する。 In the communication system 100, when the servers SV1 and SV2 receive the content usage request from the personal computers PC1 to PC3, the server SV1 and SV2 deliver the requested content to the personal computers PC1 to PC3 of the usage request source. When the routers RT1 and RT2 receive the packets delivered by the servers SV1 and SV2, the routers RT1 and RT2 temporarily store the packets in a buffer, level them, and transfer them to the personal computers PC1 to PC3. The personal computers PC1 to PC3 receive the transferred packet via the routers RT3 to RT5 and use it in the pre-installed application.

<ルータの構成例>
図2は、ルータの構成例を示すブロック図である。なお、図1に示したルータRT1,RT2は、本実施例においては同一構成であるので、以下では、特に断る場合を除いて、ルータRT1の構成について説明する。ルータRT1は、受信部201と振分部202と学習部203とバッファ204と帯域制御部205と送信部206と学習結果処理部207とを備えている。
<Router configuration example>
FIG. 2 is a block diagram showing a configuration example of a router. Since the routers RT1 and RT2 shown in FIG. 1 have the same configuration in this embodiment, the configuration of the router RT1 will be described below unless otherwise specified. The router RT1 includes a receiving unit 201, a distribution unit 202, a learning unit 203, a buffer 204, a band control unit 205, a transmitting unit 206, and a learning result processing unit 207.

受信部201は、外部からパケットPを受信するインタフェースである。本実施例では、受信部201は、2つの物理ポート(不図示)を備える。この2つの物理ポートには、サーバSV1,SV2が接続される。受信部201は、サーバSV1,SV2からパケットPを受信して、振分部202に出力する。なお、受信部201は、3つ以上の物理ポートを備えていてもよい。この場合、受信部201は、3以上のサーバに接続されてもよい。 The receiving unit 201 is an interface for receiving the packet P from the outside. In this embodiment, the receiving unit 201 includes two physical ports (not shown). Servers SV1 and SV2 are connected to these two physical ports. The receiving unit 201 receives the packet P from the servers SV1 and SV2 and outputs the packet P to the distribution unit 202. The receiving unit 201 may include three or more physical ports. In this case, the receiving unit 201 may be connected to three or more servers.

振分部202は、受信部201が受信したパケットPを、バッファ204に確保されたキューQ1〜Qn(nは2以上の任意の整数。キューQ1〜Qnを区別しない場合、キューQと表記する。)のいずれかへ振り分ける。具体的には、たとえば、振分部202は、パケットPのヘッダhに含まれているヘッダ情報を、所定のハッシュ関数でハッシュ値に変換し、当該パケットPをハッシュ値に対応したキューQに振り分ける。 The distribution unit 202 describes the packet P received by the reception unit 201 as queue Q1 to Qn secured in the buffer 204 (n is an arbitrary integer of 2 or more. When queues Q1 to Qn are not distinguished, it is expressed as queue Q. .) Sort to one of them. Specifically, for example, the distribution unit 202 converts the header information included in the header h of the packet P into a hash value by a predetermined hash function, and converts the packet P into a queue Q corresponding to the hash value. Sort.

振分部202は、判定部221とハッシュ値テーブル222とを有する。判定部221は、パケットPのヘッダhに含まれているヘッダ情報をハッシュ関数に与えハッシュ値に変換する。ここで、ハッシュ関数に与えられる情報を、「ハッシュ変換キーk」と呼称する。ハッシュ変換キーkとして使用するヘッダ情報としては、たとえば、MACヘッダなどのレイヤ2ヘッダ、IPv4ヘッダやIPv6ヘッダなどのレイヤ3ヘッダおよびTCPヘッダやUPCヘッダなどのレイヤ4ヘッダのいずれかまたは複数のフィールドを使用してもよい。フィールドの選択は装置固定でもよいし、装置運用者が指定可能としてもよい。ハッシュ変換キーkは、そのパケットPが属するフローFを特定するフロー特定情報である。本例では、説明を簡略化するため、ヘッダ情報の一例として送信元IPアドレスを用いる。 The distribution unit 202 has a determination unit 221 and a hash value table 222. The determination unit 221 gives the header information included in the header h of the packet P to the hash function and converts it into a hash value. Here, the information given to the hash function is referred to as a "hash conversion key k". The header information used as the hash conversion key k includes, for example, one or more fields of a layer 2 header such as a MAC header, a layer 3 header such as an IPv4 header and an IPv6 header, and a layer 4 header such as a TCP header and a UPC header. May be used. The selection of the field may be fixed to the device or may be specified by the device operator. The hash conversion key k is flow-specific information that identifies the flow F to which the packet P belongs. In this example, the source IP address is used as an example of the header information in order to simplify the explanation.

判定部221は、正常なフローF(以下、正常フローFa)とコリジョンしたフローF(以下、コリジョンフローFb)に属するパケットPのハッシュ変換キーkbを保持しており、受信部201からのパケットPのハッシュ変換キーkと一致するか否かを判定する。 The determination unit 221 holds the hash conversion key kb of the packet P belonging to the normal flow F (hereinafter, normal flow Fa) and the collision flow F (hereinafter, collision flow Fb), and the packet P from the receiving unit 201. It is determined whether or not it matches the hash conversion key k of.

コリジョンとは、ハッシュ値の衝突である。すなわち、正常フローFaに属するパケットPに含まれるハッシュ変換キーk(以下、ハッシュ変換キーkaを表記)から得られるハッシュ値Hと、コリジョンフローFbに属するパケットPに含まれるハッシュ変換キーk(以下、ハッシュ変換キーkbを表記。kb≠ka)から得られるハッシュ値Hとが、同一の値になることである。すなわち、正常フローFaとコリジョンフローFbは、ハッシュ変換キーkは異なるがハッシュ値は同一となるパケットPが流れるフローFである。 Collision is a collision of hash values. That is, the hash value H obtained from the hash conversion key k included in the packet P belonging to the normal flow Fa (hereinafter, the hash conversion key ka is expressed) and the hash conversion key k included in the packet P belonging to the collision flow Fb (hereinafter referred to as the hash conversion key ka). , The hash conversion key kb is expressed. The hash value H obtained from kb ≠ ka) is the same value. That is, the normal flow Fa and the collision flow Fb are flows F through which packets P having different hash conversion keys k but having the same hash value flow.

不一致の場合、判定部221は、上述したように受信部201からのパケットPのハッシュ変換キーkをハッシュ値Hに変換する。一方、一致する場合、判定部221は、受信部201からのパケットPのハッシュ変換キーkをハッシュ変換せず、正常フローFaをキューイングするキューQaとは別に用意されている予備領域のキューQbに当該パケットPを送出する。 In the case of a mismatch, the determination unit 221 converts the hash conversion key k of the packet P from the reception unit 201 into the hash value H as described above. On the other hand, if they match, the determination unit 221 does not hash-convert the hash conversion key k of the packet P from the reception unit 201, and queues Qb in the spare area prepared separately from the queue Qa that queues the normal flow Fa. The packet P is sent to.

ハッシュ値テーブル222は、判定部221から得られたハッシュ値Hと、バッファ204のキューQとを対応付けたテーブルである。たとえば、ハッシュ値Hが1の場合、対応するキューQはQ1といった情報を格納する。なお、振分部202は、たとえば、集積回路により実現される。ハッシュ値テーブル222は、集積回路内のメモリに格納される。 The hash value table 222 is a table in which the hash value H obtained from the determination unit 221 and the queue Q of the buffer 204 are associated with each other. For example, when the hash value H is 1, the corresponding queue Q stores information such as Q1. The distribution unit 202 is realized by, for example, an integrated circuit. The hash value table 222 is stored in the memory in the integrated circuit.

学習部203は、振分部202によって対応する複数のキューQに振り分けられたフローF1〜Fn(フローF1〜Fnを区別しない場合、フローFと表記する。)を監視して、どのフローFのパケットがどのキューQに振り分けられるかを学習する。具体的には、たとえば、学習部203は、キューQごとにパケットPの流量を監視し、ハッシュ変換キーkを元に、同一のキューQに複数のフローFのパケットPが格納されるのを検出する。学習部203は、同一のキューQに複数のフローFのパケットPが格納されるのを検出した場合、複数のフローFのうちいずれか1つのフローFを正常フローFaとして学習し、残余のフローFを、コリジョンフローFbとして学習する。 The learning unit 203 monitors the flows F1 to Fn (referred to as flow F when the flows F1 to Fn are not distinguished) distributed to the plurality of queues Q corresponding to the distribution unit 202, and which flow F Learn which queue Q the packet is assigned to. Specifically, for example, the learning unit 203 monitors the flow rate of the packet P for each queue Q, and based on the hash conversion key k, the packet P of a plurality of flows F is stored in the same queue Q. To detect. When the learning unit 203 detects that packets P of a plurality of flows F are stored in the same queue Q, the learning unit 203 learns any one of the plurality of flows F F as a normal flow Fa, and the remaining flows. F is learned as a collision flow Fb.

学習部203は、振分部202による振り分けにしたがってキューQにパケットPを送出し、学習結果を学習結果処理部207に出力する。学習結果は、たとえば、コリジョンフローFbに属するパケットPのハッシュ変換キーkを含む。なお、学習部203は、たとえば、集積回路、または、メモリに記憶されたプログラムをプロセッサに実行させることにより実現される。 The learning unit 203 sends a packet P to the queue Q according to the distribution by the distribution unit 202, and outputs the learning result to the learning result processing unit 207. The learning result includes, for example, the hash conversion key k of the packet P belonging to the collision flow Fb. The learning unit 203 is realized, for example, by causing a processor to execute a program stored in an integrated circuit or a memory.

バッファ204は、受信部201が受信したパケットPを一時的に蓄積する記憶領域であり、複数のキューQ1〜Qnを有する。本実施例では、キューQ1〜Qnの各々には、たとえば、同一の記憶容量が割り当てられている。複数のキューQ1〜Qnには、上述したように、振分部202が決定した振り分け結果によって、受信した各々のパケットPが格納される。なお、輻輳時には、キューQ1〜Qnの容量を超えるパケットPは、廃棄される。たとえば、キューQに容量分のパケットPが既に蓄積されている場合には、新たにバッファ204に入力されるパケットPは、当該キューQに格納されずに破棄される。 The buffer 204 is a storage area for temporarily storing the packet P received by the receiving unit 201, and has a plurality of queues Q1 to Qn. In this embodiment, for example, the same storage capacity is assigned to each of the queues Q1 to Qn. As described above, each of the received packets P is stored in the plurality of queues Q1 to Qn according to the distribution result determined by the distribution unit 202. At the time of congestion, the packet P exceeding the capacity of the queues Q1 to Qn is discarded. For example, when the capacity of the packet P is already accumulated in the queue Q, the packet P newly input to the buffer 204 is discarded without being stored in the queue Q.

帯域制御部205は、キューQ1〜Qnごとに帯域を制御して、キューQ1〜Qnに蓄積されたパケットPを送信部206に出力する。具体的には、たとえば、帯域制御部140は、予め設定された帯域制御ルールに基づいてスケジューリングを行い、キューQ1〜Qnから順次パケットPを読み出して、送信部206に出力する。なお、帯域制御部205は、たとえば、集積回路により実現される。 The band control unit 205 controls the band for each of the queues Q1 to Qn, and outputs the packet P accumulated in the queues Q1 to Qn to the transmission unit 206. Specifically, for example, the bandwidth control unit 140 performs scheduling based on a preset bandwidth control rule, sequentially reads packets P from queues Q1 to Qn, and outputs them to the transmission unit 206. The band control unit 205 is realized by, for example, an integrated circuit.

送信部206は、パケットPを外部へ送信するインタフェースである。本実施例では、均等割り当て方式によってスケジュールリングを行うこととした。具体的には、たとえば、キューQ1〜Qnに蓄積されたパケットPは、キューQ1〜Qn間で均等な頻度で読み出される。ただし、スケジューリングアルゴリズムは、特に限定するものではなく、たとえば、重み付け均等割り当て方式などであってもよい。また、最低帯域保証方式、最大帯域規制方式、余剰帯域重み付け分配方式などを用いてもよい。 The transmission unit 206 is an interface for transmitting the packet P to the outside. In this embodiment, scheduling is performed by the equal allocation method. Specifically, for example, the packets P accumulated in the queues Q1 to Qn are read out at an equal frequency among the queues Q1 to Qn. However, the scheduling algorithm is not particularly limited, and may be, for example, a weighted equal allocation method. Further, a minimum band guarantee method, a maximum band regulation method, a surplus band weighting distribution method, or the like may be used.

学習結果処理部207は、学習部203より学習結果を受け取り、各種処理を実行する。たとえば、学習結果処理部207は、学習結果を振分部202に反映させる。具体的には、たとえば、学習結果処理部207は、振分部202を制御して、上述した予備領域のキューQと学習結果に含まれるハッシュ変換キーkbとを関連付ける。これにより、振分部202は、当該ハッシュ変換キーを含むパケットPを受信した場合、ハッシュ値に変換せずに、対応するキューQに送出する。 The learning result processing unit 207 receives the learning result from the learning unit 203 and executes various processes. For example, the learning result processing unit 207 reflects the learning result in the distribution unit 202. Specifically, for example, the learning result processing unit 207 controls the distribution unit 202 to associate the queue Q of the spare area described above with the hash conversion key kb included in the learning result. As a result, when the distribution unit 202 receives the packet P including the hash conversion key, it sends it to the corresponding queue Q without converting it into a hash value.

また、学習結果処理部207は、振分部202を制御して、予備領域のキューQと関連付けたハッシュ変換キーkbを、たとえば、エージングにより削除する。学習結果処理部207は、振分部202を制御して、予備領域のキューQと関連付けたハッシュ変換キーkbを、たとえば、当該コリジョンフローFの流量が所定量以下となったことを学習部203から取得した場合に削除してもよい。 Further, the learning result processing unit 207 controls the distribution unit 202 to delete the hash conversion key kb associated with the queue Q in the spare area, for example, by aging. The learning result processing unit 207 controls the distribution unit 202 to use the hash conversion key kb associated with the queue Q in the spare area, for example, to notify the learning unit 203 that the flow rate of the collision flow F is equal to or less than a predetermined amount. It may be deleted when it is obtained from.

また、学習結果処理部207は、トラップまたはシステムログなどのメッセージを用いて、送信部206から学習結果を運用者の端末に送信したり、または、図示しない表示部に表示したりすることで、運用者に学習結果を通知する。学習結果処理部207は、学習結果が登録または削除した場合、当該情報を運用者に通知してもよい。なお、学習結果処理部207は、具体的には、たとえば、当該学習結果処理部207の処理を実行するプログラムをプロセッサに実行させることで実現される。 Further, the learning result processing unit 207 transmits the learning result from the transmitting unit 206 to the terminal of the operator by using a message such as a trap or a system log, or displays the learning result on a display unit (not shown). Notify the operator of the learning result. When the learning result is registered or deleted, the learning result processing unit 207 may notify the operator of the information. The learning result processing unit 207 is specifically realized, for example, by causing the processor to execute a program that executes the processing of the learning result processing unit 207.

<振分部202の詳細構成例>
図3は、振分部202の詳細な構成例を示す説明図である。振分部202は、判定部221とハッシュ値テーブル222とを有する。判定部221は、変換部301と、学習結果テーブル302と、を有する。変換部301は、パケットPのハッシュ変換キーkaをハッシュ値Hに変換する。学習結果テーブル302は、予備領域ハッシュ変換キー321と、予備領域キュー322と、を関連付けたテーブルである。予備領域ハッシュ変換キー321は、コリジョンフローFに属するパケットPのハッシュ変換キーkbを記憶する記憶領域である。予備領域キュー322は、コリジョンフローFが送出されるキューQbの識別情報を記憶する記憶領域である。
<Detailed configuration example of distribution unit 202>
FIG. 3 is an explanatory diagram showing a detailed configuration example of the distribution unit 202. The distribution unit 202 has a determination unit 221 and a hash value table 222. The determination unit 221 has a conversion unit 301 and a learning result table 302. The conversion unit 301 converts the hash conversion key ka of the packet P into the hash value H. The learning result table 302 is a table in which the spare area hash conversion key 321 and the spare area queue 322 are associated with each other. The spare area hash conversion key 321 is a storage area for storing the hash conversion key kb of the packet P belonging to the collision flow F. The spare area queue 322 is a storage area for storing the identification information of the queue Qb to which the collision flow F is sent.

学習結果テーブル302のエントリは、エージングにより一定期間経過すると、学習結果処理部207により削除される。また、学習結果テーブル302のエントリは、予備領域ハッシュ変換キー321に対応するコリジョンフローFの流量が所定量以下となった場合、学習結果処理部207により削除されてもよい。学習結果テーブル302は、集積回路内のメモリに格納される。 The entry in the learning result table 302 is deleted by the learning result processing unit 207 after a certain period of time has elapsed due to aging. Further, the entry in the learning result table 302 may be deleted by the learning result processing unit 207 when the flow rate of the collision flow F corresponding to the spare area hash conversion key 321 becomes a predetermined amount or less. The learning result table 302 is stored in the memory in the integrated circuit.

ハッシュ値テーブル222は、ハッシュ値303と、キュー304と、使用中フラグ305と、を有する。ハッシュ値303は、ハッシュ値H1〜Hi(iはnよりも小さい整数。nはキューQの総数。ハッシュ値H1〜Hiを区別しない場合、ハッシュ値Hと表記する。)を記憶する記憶領域である。 The hash value table 222 has a hash value 303, a queue 304, and an in-use flag 305. The hash value 303 is a storage area for storing hash values H1 to Hi (i is an integer smaller than n. n is the total number of queues Q. When hash values H1 to Hi are not distinguished, it is expressed as hash value H). is there.

キュー304は、キューQa1〜Qai(キューQa1〜Qaiを区別しない場合、キューQaと表記する。)の識別情報を記憶する記憶領域である。具体的には、たとえば、キューQa1〜Qaiはそれぞれ、ハッシュ値Hに対応する。キューQa1〜Qaiは、たとえば、キューQ1〜Qiである。なお、キューQaを通常領域と称す。 The queue 304 is a storage area for storing the identification information of the queues Qa1 to Qai (referred to as queue Qa when the queues Qa1 to Qai are not distinguished). Specifically, for example, the queues Qa1 to Qai correspond to the hash value H, respectively. The queues Qa1 to Qi are, for example, queues Q1 to Qi. The queue Qa is referred to as a normal area.

キューQb1〜Qbj(jは、n−iとなる整数。キューQb1〜Qbjを区別しない場合、キューQbと表記する。)は、ハッシュ値303と対応付けされない。キューQb1〜Qbjは、たとえば、キューQi+1〜Qnである。なお、キューQbを予備領域と称す。パケットPは、通常領域のキューQaに送出されるが、コリジョンが判明するとコリジョンフローFbに属するパケットPは、予備領域のキューQbに送出される。なお、キューQa,Qbを区別しない場合、キューQと表記する。 The queues Qb1 to Qbj (j is an integer to be n−i. When the queues Qb1 to Qbj are not distinguished, they are referred to as queues Qb) are not associated with the hash value 303. The queues Qb1 to Qbj are, for example, queues Qi + 1 to Qn. The queue Qb is referred to as a spare area. The packet P is sent to the queue Qa in the normal area, but when the collision is found, the packet P belonging to the collision flow Fb is sent to the queue Qb in the spare area. When the queues Qa and Qb are not distinguished, they are referred to as queue Q.

使用中フラグ305は、予備領域のエントリについて使用中フラグを記憶する記憶領域である。判定部221は、コリジョンフローFbに属するパケットPを送出すべきキューQを探索する場合、予備領域の使用中フラグ305を参照する。使用中フラグ305の値fb1〜Fbj(使用中フラグ305の値fb1〜Fbjと特定しない場合、使用中フラグ305の値fb、または、使用中フラグfbと表記する)は、ONまたはOFFの2値である。「ON」は、使用中を意味し、「OFF」は使用されていないことを意味する。コリジョンフローFに属するパケットPをキューQに送出する場合、判定部221は、使用中フラグ305の値fbがOFFであるキュー304(Qb)を特定し、そのキュー304(Qb)に当該パケットPを送出する。 The in-use flag 305 is a storage area that stores the in-use flag for the entry of the spare area. When searching for the queue Q to send the packet P belonging to the collision flow Fb, the determination unit 221 refers to the in-use flag 305 of the spare area. The values fb1 to Fbj of the in-use flag 305 (when not specified as the values fb1 to Fbj of the in-use flag 305, they are expressed as the value fb of the in-use flag 305 or the in-use flag fb) are two values of ON or OFF. Is. "ON" means in use and "OFF" means not in use. When sending the packet P belonging to the collision flow F to the queue Q, the determination unit 221 identifies the queue 304 (Qb) in which the value fb of the in-use flag 305 is OFF, and the packet P is sent to the queue 304 (Qb). Is sent.

<学習部203の詳細構成例>
図4は、学習部203の詳細な構成例を示す説明図である。学習部203は、学習機構LRNt1〜LRNtm(mは、0≦m≦nを満たす整数。学習機構LRNt1〜LRNtmを区別しない場合、学習機構LRNtと表記する。)を有する。たとえば、1つの学習機構LRNtは、1以上のフローFの振分先となるキューQに対応する。図4では、フローF1、F2が同一のキューQに振り分けられたため、学習機構LRNt1がフローF1、F2を監視、学習する。同様に、学習機構LRNt2がフローF3、F4を監視、学習する。学習機構LRNtm−1がフローFn−3、Fn−2を監視、学習する。学習機構LRNtmがフローFn−1、Fnを監視、学習する。
<Detailed configuration example of learning unit 203>
FIG. 4 is an explanatory diagram showing a detailed configuration example of the learning unit 203. The learning unit 203 has learning mechanisms LRNt1 to LRNtm (m is an integer satisfying 0 ≦ m ≦ n. When learning mechanisms LRNt1 to LRNtm are not distinguished, it is referred to as learning mechanism LRNt). For example, one learning mechanism LRNt corresponds to a queue Q to which one or more flows F are distributed. In FIG. 4, since the flows F1 and F2 are distributed to the same queue Q, the learning mechanism LRNt1 monitors and learns the flows F1 and F2. Similarly, the learning mechanism LRNt2 monitors and learns the flows F3 and F4. The learning mechanism LRNtm-1 monitors and learns the flows Fn-3 and Fn-2. The learning mechanism LRNtm monitors and learns the flows Fn-1 and Fn.

また、図4では、たとえば、学習部203の負荷低減のため、学習部203は、学習機構LRNt1〜LRNtmによる処理を時間t1〜tm(時間t1〜tmを区別しない場合、時間tと表記する。)で、時分割で実行する。時間tmでの処理が完了した場合、再度時間t1に対応する学習機構LRNt1から再度繰り返す。なお、1つの学習機構LRNtがいくつのフローFを担当するか、および、時間t1〜tmを何時間にするかは、ルータRT1の運用者が固定的に指定可能としてもよく、また、学習部203でのCPU使用率に連動して自動で決定してもよい。たとえば、学習部203は、CPU使用率が高くなると、1つの学習機構LRNtが担当するフロー数を減少させたり、時間tを短縮したりする。逆に、学習部203は、CPU使用率が低くなると、1つの学習機構LRNtが担当するフロー数を増加させたり、時間tを長くしたりする。 Further, in FIG. 4, for example, in order to reduce the load on the learning unit 203, the learning unit 203 describes the processing by the learning mechanism LRNt1 to LRNtm as time t1 to tm (when time t1 to tm is not distinguished, time t. ), Execute in time division. When the processing at the time tm is completed, the process is repeated again from the learning mechanism LRNt1 corresponding to the time t1. It should be noted that the operator of the router RT1 may be able to fixedly specify how many flows F one learning mechanism LRNt is in charge of, and how many hours t1 to tm are set, and the learning unit. It may be automatically determined in conjunction with the CPU usage rate in 203. For example, the learning unit 203 reduces the number of flows in charge of one learning mechanism LRNt or shortens the time t when the CPU usage rate becomes high. On the contrary, when the CPU usage rate becomes low, the learning unit 203 increases the number of flows in charge of one learning mechanism LRNt or lengthens the time t.

学習機構LRNtは、学習対象となるフローFについてコリジョンしているか否かを監視する。具体的には、たとえば、学習機構LRNtは、ハッシュ変換キーkが異なる複数のパケットPが学習機構LRNtを通過する場合、学習機構LRNtは、コリジョンが発生していると判定する。たとえば、学習機構LRNtは、ハッシュ変換キーkが異なる複数のパケットPが学習機構LRNtを通過する場合、先着パケットPのハッシュ変換キーkに対応するフローFを正常フローFaに決定し、残余のフローFをコリジョンフローFbに決定する。この学習以降は、振分先となるキューQaには正常フローFaが流れ、コリジョンフローFbは、予備領域のキューQbに流れることになる。 The learning mechanism LRNt monitors whether or not the flow F to be learned collides. Specifically, for example, the learning mechanism LRNt determines that a collision has occurred when a plurality of packets P having different hash conversion keys k pass through the learning mechanism LRNt. For example, when a plurality of packets P having different hash conversion keys k pass through the learning mechanism LRNt, the learning mechanism LRNt determines the flow F corresponding to the hash conversion key k of the first-come-first-served packet P as the normal flow Fa, and the remaining flow. Determine F as collision flow Fb. After this learning, the normal flow Fa flows to the queue Qa that is the distribution destination, and the collision flow Fb flows to the queue Qb in the preliminary region.

このように、先着パケットPで正常フローFaを決定することにより、学習機構LRNtでの学習処理の高速化や処理負荷の軽減を図ることができる。なお、学習機構LRNtは、先着パケットPではなく、時間t内でのハッシュ変換キーkごとの最大パケット数となるフローFを正常フローFaに決定してもよい。これにより、学習機構LRNtでの学習処理の高精度化を図ることができる。なお、最大パケット数となるフローFが複数ある場合、先着パケットPで正常フローFaを決定すればよい。これにより、可能な限り学習処理の高精度化を図りつつ、学習処理の効率化を図ることができる。 By determining the normal flow Fa in the first-come-first-served packet P in this way, it is possible to speed up the learning process and reduce the processing load in the learning mechanism LRNt. The learning mechanism LRNt may determine the flow F, which is the maximum number of packets for each hash conversion key k within the time t, as the normal flow Fa, instead of the first-come-first-served packet P. As a result, it is possible to improve the accuracy of the learning process in the learning mechanism LRNt. When there are a plurality of flows F having the maximum number of packets, the normal flow Fa may be determined by the first-come-first-served packet P. As a result, it is possible to improve the efficiency of the learning process while improving the accuracy of the learning process as much as possible.

<振分部202による振り分け処理手順例>
図5は、振分部202による振り分け処理手順例を示すフローチャートである。振分部202は、受信部201からパケットPを取得すると(ステップS501)、振分部202は、取得したパケットPのヘッダhに含まれているヘッダ情報の少なくとも一部のフィールド(たとえば、送信元IPアドレス)をハッシュ変換キーkとして取得する(ステップS502)。
<Example of distribution processing procedure by distribution unit 202>
FIG. 5 is a flowchart showing an example of the distribution processing procedure by the distribution unit 202. When the distribution unit 202 acquires the packet P from the reception unit 201 (step S501), the distribution unit 202 receives at least a part of the header information fields (for example, transmission) included in the header h of the acquired packet P. The original IP address) is acquired as the hash conversion key k (step S502).

振分部202は、取得したパケットPはコリジョンフローFのパケットPであるか否かを判断する(ステップS503)。具体的には、たとえば、振分部202は、学習結果テーブル302の予備領域ハッシュ変換キー321を参照し、取得したパケットPのハッシュ変換キーkに一致するか否かを判断する。取得したパケットPのハッシュ変換キーkに一致する場合、取得したパケットPはコリジョンフローFのパケットPとなる(ステップS503:Yes)。したがって、ステップS507に移行する。一方、取得したパケットPのハッシュ変換キーkに一致しない場合、取得したパケットPは正常フローFaのパケットPとなる(ステップS503:No)。したがって、ステップS504に移行する。 The distribution unit 202 determines whether or not the acquired packet P is the packet P of the collision flow F (step S503). Specifically, for example, the distribution unit 202 refers to the spare area hash conversion key 321 of the learning result table 302, and determines whether or not it matches the hash conversion key k of the acquired packet P. If the hash conversion key k of the acquired packet P is matched, the acquired packet P becomes the packet P of the collision flow F (step S503: Yes). Therefore, the process proceeds to step S507. On the other hand, if the hash conversion key k of the acquired packet P does not match, the acquired packet P becomes the packet P of the normal flow Fa (step S503: No). Therefore, the process proceeds to step S504.

ステップS504において、振分部202は、ステップS502で取得したハッシュ変換キーkをハッシュ関数に与えてハッシュ値Hを算出する(ステップS504)。そして、振分部202は、ハッシュ値テーブル222の通常領域のエントリ群を参照して、キュー304から、ハッシュ値303(算出ハッシュ値H)に対応するキューQaを特定する。振分部202は、特定したキューQaに、ステップS501で取得したパケットPを出力する(ステップS506)。これにより、振分部202の振分処理は終了する。 In step S504, the distribution unit 202 gives the hash conversion key k acquired in step S502 to the hash function to calculate the hash value H (step S504). Then, the distribution unit 202 refers to the entry group of the normal area of the hash value table 222, and identifies the queue Qa corresponding to the hash value 303 (calculated hash value H) from the queue 304. The distribution unit 202 outputs the packet P acquired in step S501 to the specified queue Qa (step S506). As a result, the distribution process of the distribution unit 202 is completed.

また、ステップS507において、振分部202は、ステップS503で取得したハッシュ変換キーkbに対応するキューQbを学習結果テーブル302から特定する(ステップS507)。振分部202は、特定したキューQbに、ステップS501で取得したパケットPを出力する(ステップS506)。これにより、振分部202の振分処理は終了する。 Further, in step S507, the distribution unit 202 specifies the queue Qb corresponding to the hash conversion key kb acquired in step S503 from the learning result table 302 (step S507). The distribution unit 202 outputs the packet P acquired in step S501 to the specified queue Qb (step S506). As a result, the distribution process of the distribution unit 202 is completed.

<学習部による学習処理手順例>
図6は、学習部203による学習処理手順例を示すフローチャートである。学習部203は、学習機構LRNtによる時分割処理を開始する(ステップS601)。ステップS602〜S604は、各学習機構LRNtによる学習処理である。学習機構LRNtは、通過するフローFを時間t内で学習する(ステップS602)。学習機構LRNtは、複数のフローFが通過しているか否かを判断する(ステップS603)。複数のフローFが通過していない場合(ステップS603:No)、学習機構LRNtの学習処理は終了し、ステップS605に移行する。
<Example of learning process procedure by the learning department>
FIG. 6 is a flowchart showing an example of a learning processing procedure by the learning unit 203. The learning unit 203 starts the time division processing by the learning mechanism LRNt (step S601). Steps S602 to S604 are learning processes by each learning mechanism LRNt. The learning mechanism LRNt learns the passing flow F within the time t (step S602). The learning mechanism LRNt determines whether or not a plurality of flows F have passed (step S603). When a plurality of flows F have not passed (step S603: No), the learning process of the learning mechanism LRNt ends, and the process proceeds to step S605.

一方、複数のフローFが通過している場合(ステップS603:Yes)、学習機構LRNtは、先着パケットPまたはハッシュ変換キーkごとの最大パケット数により、正常フローFaのパケットPのハッシュ変換キーkaと、コリジョンフローFbのハッシュ変換キーkbとを特定する(ステップS604)。これにより、学習機構LRNtの学習処理は終了し、ステップS605に移行する。 On the other hand, when a plurality of flows F have passed (step S603: Yes), the learning mechanism LRNt determines the hash conversion key ka of the packet P of the normal flow Fa depending on the maximum number of packets for each first-come-first-served packet P or the hash conversion key k. And the hash conversion key kb of the collision flow Fb (step S604). As a result, the learning process of the learning mechanism LRNt is completed, and the process proceeds to step S605.

学習部203は、各学習機構LRNtによる学習処理が終了すると、各学習機構LRNtにといて特定されたコリジョンフローFbのハッシュ変換キーkbと、ハッシュ値テーブル222の予備領域において現在使用されていない(使用中フラグ305がOFF)キューQb(の識別情報)と、を学習結果として学習結果処理部207に出力する(ステップS605)。これにより、学習部203による学習処理は終了する。 When the learning process by each learning mechanism LRNt is completed, the learning unit 203 is not currently used in the hash conversion key kb of the collision flow Fb specified by each learning mechanism LRNt and the spare area of the hash value table 222 ( The in-use flag 305 is OFF) and the queue Qb (identification information) is output to the learning result processing unit 207 as a learning result (step S605). As a result, the learning process by the learning unit 203 ends.

<学習結果処理部207による学習結果処理手順例>
図7は、学習結果処理部207による学習結果処理手順例を示すフローチャートである。学習結果処理部207は、学習部203から学習結果であるハッシュ変換キーkbを取得する(ステップS701)。学習結果処理部207は、学習結果から、ハッシュ変換キーkbとキューQb(の識別情報)とを1つずつ取り出して対応付け、組を生成する(ステップS702)。学習結果処理部207は、未選択の組があるか否かを判断する(ステップS703)。未選択の組がある場合(ステップS703:Yes)、学習結果処理部207は、未選択の組を1つ選択する(ステップS704)。
<Example of learning result processing procedure by learning result processing unit 207>
FIG. 7 is a flowchart showing an example of the learning result processing procedure by the learning result processing unit 207. The learning result processing unit 207 acquires the hash conversion key kb which is the learning result from the learning unit 203 (step S701). The learning result processing unit 207 takes out the hash conversion key kb and the queue Qb (identification information) one by one from the learning result, associates them with each other, and generates a set (step S702). The learning result processing unit 207 determines whether or not there is an unselected set (step S703). When there is an unselected set (step S703: Yes), the learning result processing unit 207 selects one unselected set (step S704).

学習結果処理部207は、選択した組を学習結果テーブル302に登録する(ステップS705)。学習結果処理部207は、選択した組のキューQbについて、ハッシュ値テーブル222の使用中フラグ305の値fbをONにする(ステップS706)。そして、ステップS703に戻る。ステップS703において、未選択の組がない場合(ステップS703:No)、学習結果処理は終了する。 The learning result processing unit 207 registers the selected set in the learning result table 302 (step S705). The learning result processing unit 207 turns on the value fb of the in-use flag 305 in the hash value table 222 for the selected set of queues Qb (step S706). Then, the process returns to step S703. If there is no unselected pair in step S703 (step S703: No), the learning result processing ends.

<学習結果処理部207による予備領域更新処理1>
つぎに、学習結果処理部207による予備領域更新処理1について説明する。予備領域更新処理1では、学習結果処理部207は、振分部202を制御して、学習結果テーブル302のエントリをエージングにより削除する。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに予備領域のキューQbを割り当てることができる。以下、詳細な処理手順例について説明する。
<Preliminary area update process 1 by the learning result processing unit 207>
Next, the preliminary area update process 1 by the learning result processing unit 207 will be described. In the preliminary area update process 1, the learning result processing unit 207 controls the distribution unit 202 to delete the entry in the learning result table 302 by aging. As a result, the queue Qb of the spare region can be allocated from the old collision flow Fb to the latest collision flow Fb. A detailed processing procedure example will be described below.

図8は、学習結果処理部207による予備領域更新処理1の詳細な処理手順例を示すフローチャートである。まず、学習結果処理部207は、ステップS706のハッシュ変換キーkbの登録が完了を待ち受ける(ステップS801:No)。完了した場合(ステップS801:Yes)、学習結果処理部207は、当該登録したハッシュ変換キーkbについて計時を開始する(ステップS802)。そして、学習結果処理部207は、所定時間経過するのを待ち受ける(ステップS803:No)。所定時間経過した場合(ステップS803:Yes)、学習結果処理部207は、ステップS706で登録したハッシュ変換キーkbのエントリを学習結果テーブル302から削除する(ステップS804)。 FIG. 8 is a flowchart showing a detailed processing procedure example of the preliminary area update processing 1 by the learning result processing unit 207. First, the learning result processing unit 207 waits for the completion of registration of the hash conversion key kb in step S706 (step S801: No). When completed (step S801: Yes), the learning result processing unit 207 starts timing the registered hash conversion key kb (step S802). Then, the learning result processing unit 207 waits for the elapse of a predetermined time (step S803: No). When the predetermined time has elapsed (step S803: Yes), the learning result processing unit 207 deletes the entry of the hash conversion key kb registered in step S706 from the learning result table 302 (step S804).

そして、学習結果処理部207は、ステップS804で削除したハッシュ変換キーkbに対応する予備領域の使用中フラグ305の値fbをOFFにし(ステップS805)、予備領域更新処理1が終了する。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに予備領域のキューQbを割り当てることができる。また、コリジョンフローFの流量を監視する必要がないため、学習処理部における処理負荷の低減を図ることができる。 Then, the learning result processing unit 207 turns off the value fb of the in-use flag 305 of the spare area corresponding to the hash conversion key kb deleted in step S804 (step S805), and the spare area update process 1 ends. As a result, the queue Qb of the spare region can be allocated from the old collision flow Fb to the latest collision flow Fb. Further, since it is not necessary to monitor the flow rate of the collision flow F, the processing load in the learning processing unit can be reduced.

<学習結果処理部207による予備領域更新処理2>
つぎに、学習結果処理部207による予備領域更新処理2について説明する。予備領域更新処理2では、学習結果処理部207は、学習部203からコリジョンフローFの流量を監視し、振分部202を制御して、所定量以下となったコリジョンフローFのエントリを削除する。これにより、流量が多いほどコリジョンフローFに予備領域のキューQbを割り当てることができる。以下、詳細な処理手順例について説明する。
<Preliminary area update process 2 by the learning result processing unit 207>
Next, the preliminary area update process 2 by the learning result processing unit 207 will be described. In the preliminary area update process 2, the learning result processing unit 207 monitors the flow rate of the collision flow F from the learning unit 203, controls the distribution unit 202, and deletes the entry of the collision flow F that is equal to or less than a predetermined amount. .. As a result, the larger the flow rate, the more the cue Qb in the spare region can be allocated to the collision flow F. A detailed processing procedure example will be described below.

図9は、学習結果処理部207による予備領域更新処理2の詳細な処理手順例を示すフローチャートである。まず、学習結果処理部207は、コリジョンフローFを予備領域のキューQbに送出する学習機構LRNtからコリジョンフローFの流量を取得する(ステップS901)。学習結果処理部207は、取得した流量が所定量以下のコリジョンフローFbがあるか否かを判断する(ステップS902)。所定量は、あらかじめ運用者により設定される。 FIG. 9 is a flowchart showing a detailed processing procedure example of the preliminary area update processing 2 by the learning result processing unit 207. First, the learning result processing unit 207 acquires the flow rate of the collision flow F from the learning mechanism LRNt that sends the collision flow F to the queue Qb in the preliminary region (step S901). The learning result processing unit 207 determines whether or not there is a collision flow Fb whose acquired flow rate is equal to or less than a predetermined amount (step S902). The predetermined amount is set in advance by the operator.

取得した流量が所定量以下のコリジョンフローFbがない場合(ステップS902:No)、予備領域更新処理2が終了する。一方、取得した流量が所定量以下のコリジョンフローFbがある場合(ステップS902:Yes)、学習結果処理部207は、所定量以下のコリジョンフローFbに対応するエントリを学習結果テーブル302から削除する(ステップS903)。学習結果処理部207は、削除したハッシュ変換キーkbに対応する予備領域キュー322(Qb)を特定し、特定したキューQbに対応する予備領域の使用中フラグ305の値fbをOFFにし(ステップS904)、予備領域更新処理2が終了する。これにより、流量が多いほどコリジョンフローFbに予備領域のキューQbを割り当てることができる。したがって、高精度な振分けを実現することができる。 When there is no collision flow Fb whose acquired flow rate is equal to or less than a predetermined amount (step S902: No), the preliminary area update process 2 ends. On the other hand, when there is a collision flow Fb whose acquired flow rate is equal to or less than a predetermined amount (step S902: Yes), the learning result processing unit 207 deletes an entry corresponding to the collision flow Fb of a predetermined amount or less from the learning result table 302 (step S902: Yes). Step S903). The learning result processing unit 207 identifies the spare area queue 322 (Qb) corresponding to the deleted hash conversion key kb, and turns off the value fb of the in-use flag 305 of the spare area corresponding to the specified queue Qb (step S904). ), The spare area update process 2 ends. As a result, the larger the flow rate, the more the cue Qb in the spare region can be allocated to the collision flow Fb. Therefore, highly accurate distribution can be realized.

なお、図9では、所定量以下のコリジョンフローFbに対応するエントリを学習結果テーブル302から削除する(ステップS903)こととしたが、一定期間連続して、所定量以下となった場合に、そのコリジョンフローFbに対応するエントリを学習結果テーブル302から削除してもよい。これにより、より高精度な振分けを実現することができる。 In FIG. 9, the entry corresponding to the collision flow Fb of the predetermined amount or less is deleted from the learning result table 302 (step S903), but when the collision flow Fb is continuously equal to or less than the predetermined amount for a certain period of time, the entry is deleted. The entry corresponding to the collision flow Fb may be deleted from the learning result table 302. As a result, more accurate distribution can be realized.

このように、本実施例のルータRT1は、パケット群を中継する中継装置であって、1以上の第1キュー(キューQa)と1以上の第2キュー(キューQb)とを有するキュー群(バッファ204)と、第1対応情報(ハッシュ値テーブル222)と、第2対応情報(学習結果テーブル302)と、を有する。 As described above, the router RT1 of the present embodiment is a relay device that relays the packet group, and has a queue group (queue Qa) having one or more first queues (queue Qa) and one or more second queues (queue Qb). It has a buffer 204), a first correspondence information (hash value table 222), and a second correspondence information (learning result table 302).

第1キューは、第1パケットを格納する。第1パケットは、第1フロー(正常フローFa)に属し、第1フローを特定する第1特定情報(ハッシュ変換キーka)を含む。第2キューは、第2パケットを格納する。第2パケットは、第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され、第2フロー(コリジョンフローFb)を特定する第2特定情報(ハッシュ変換キーkb)を含む。 The first queue stores the first packet. The first packet belongs to the first flow (normal flow Fa) and includes the first specific information (hash conversion key ka) that specifies the first flow. The second queue stores the second packet. The second packet is converted into the same hash value as the hash value converted from the first specific information, and includes the second specific information (hash conversion key kb) that specifies the second flow (collision flow Fb).

第1対応情報は、ハッシュ値と第1キューを指定する第1キュー(Qa)とを対応付けて記憶する。第2対応情報は、第2特定情報と第2キューを指定する第2キュー(Qb)とを対応付けて記憶する。 The first correspondence information is stored in association with the hash value and the first queue (Qa) that specifies the first queue. The second correspondence information is stored in association with the second specific information and the second queue (Qb) that specifies the second queue.

ルータRT1は、パケット群を受信する受信部201と、振分部202と、送信部206と、を有する。振分部202は、受信部201によって受信されたパケット群の各々のパケットに含まれておりパケットが属するフローを特定する特定情報(ハッシュ変換キーk)が第2特定情報に一致するか否かを、判定部221により判定する。振分部202は、一致する場合には第2対応情報を参照してパケットを第2パケットとして第2キューに振り分け、一致しない場合には特定情報をハッシュ値に変換し、第1対応情報を参照してパケットを第1パケットとして第1キューに振り分ける。 The router RT1 has a receiving unit 201 for receiving a packet group, a distribution unit 202, and a transmitting unit 206. The distribution unit 202 includes whether or not the specific information (hash conversion key k) included in each packet of the packet group received by the reception unit 201 and specifying the flow to which the packet belongs matches the second specific information. Is determined by the determination unit 221. If they match, the distribution unit 202 refers to the second correspondence information and distributes the packet as a second packet to the second queue. If they do not match, the distribution unit 202 converts the specific information into a hash value and converts the first correspondence information into a hash value. With reference to the packet, the packet is distributed to the first queue as the first packet.

送信部206は、振分部202によって第1キューおよび第2キューに振り分けられたパケット群を送信する。 The transmission unit 206 transmits the packet group distributed to the first queue and the second queue by the distribution unit 202.

このように、上述したルータRT1では、複数のフローFにおいてコリジョンが発生した場合に、コリジョンフローFbを予備領域のキューQに退避させるため、ユーザやサービスごとにフローを設定する必要がなく、特にアクティブ率の低いユーザのキューQを確保する必要はない。これにより、記憶媒体の容量の膨大化を抑制することができる。また、複数のフローFにおいてコリジョンが発生した場合に、コリジョンフローFbを予備領域のキューQに退避させるため、ハッシュ値のコリジョンを回避でき、パケットPの順序逆転を抑制し、その結果、コリジョンによる輻輳の影響がトラフィック全体に及ぶことを抑制し、通信品質を確保することができる。 As described above, in the router RT1 described above, when a collision occurs in a plurality of flows F, the collision flow Fb is saved in the queue Q of the spare area, so that it is not necessary to set the flow for each user or service. It is not necessary to secure the queue Q of the user with a low active rate. As a result, it is possible to suppress an enormous increase in the capacity of the storage medium. Further, when a collision occurs in a plurality of flows F, the collision flow Fb is saved in the queue Q of the spare area, so that the collision of the hash value can be avoided, the order reversal of the packet P is suppressed, and as a result, the collision causes. It is possible to suppress the influence of congestion on the entire traffic and ensure communication quality.

また、ルータRT1は、学習部203と学習結果処理部207を有してもよい。学習部203は、振分部202によって振り分けられた結果、特定情報が異なるパケットが属する複数のフローFが同一の第1キューに出力されるのを検出し、複数のフローFのうち、特定のフローを第1フローに決定し、特定のフロー以外の他のフローを前記第2フローに決定する。学習結果処理部207は、学習部203によって第2フローに決定された他のフローに属するパケットに含まれる特定情報と、第2対応情報の第2キューの識別情報とを含む学習結果を取得し、第2対応情報に登録する。 Further, the router RT1 may have a learning unit 203 and a learning result processing unit 207. The learning unit 203 detects that, as a result of distribution by the distribution unit 202, a plurality of flows F to which packets having different specific information belong are output to the same first queue, and among the plurality of flows F, a specific flow F is specified. The flow is determined as the first flow, and the flow other than the specific flow is determined as the second flow. The learning result processing unit 207 acquires the learning result including the specific information included in the packets belonging to the other flow determined by the learning unit 203 in the second flow and the identification information of the second queue of the second correspondence information. , Register in the second correspondence information.

これにより、ルータRT1は、自律的に第2対応情報を更新することができ、通信品質の確保を継続することができる。 As a result, the router RT1 can autonomously update the second correspondence information, and can continue to secure the communication quality.

また、学習結果処理部207は、第2対応情報に、学習結果に含まれる第2キューが使用中であることを示す情報(使用中フラグ305)を付与し、当該付与後に学習結果を取得する場合、使用中であることを示す情報が付与されていない第2キューを選択する。 Further, the learning result processing unit 207 adds information (in-use flag 305) indicating that the second queue included in the learning result is in use to the second correspondence information, and acquires the learning result after the addition. If so, select the second queue to which no information indicating that it is in use is given.

これにより、使用中の第2キューの選択を防止することができ、第2キューにおいてもコリジョンを抑制することができる。 As a result, it is possible to prevent the selection of the second cue in use, and it is possible to suppress collision in the second cue as well.

また、学習部203は、複数のフローFのうち先着パケットPを含む特定のフローを第1フローに決定してもよい。これにより、学習部203での学習処理の高速化や処理負荷の軽減を図ることができる。 Further, the learning unit 203 may determine a specific flow including the first-come-first-served packet P among the plurality of flows F as the first flow. As a result, the learning process in the learning unit 203 can be speeded up and the processing load can be reduced.

また、学習部203は、複数のフローFのうち一定期間内において流量パケット数が最大となる特定のフローを第1フローに決定してもよい。これにより、学習部203での学習処理の高精度化を図ることができる。 Further, the learning unit 203 may determine a specific flow in which the number of flow rate packets is maximum within a certain period among the plurality of flows F as the first flow. As a result, it is possible to improve the accuracy of the learning process in the learning unit 203.

また、学習結果処理部207は、第2対応情報のうち登録されてから所定期間経過した学習結果を削除してもよい。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに第2キューを割り当てることができる。 Further, the learning result processing unit 207 may delete the learning result for which a predetermined period has passed since the registration of the second correspondence information. As a result, the second cue can be assigned from the old collision flow Fb to the latest collision flow Fb.

また、学習結果処理部207は、第2対応情報のうち登録されてからの流量パケット数がしきい値以下となった第2フローに対応する学習結果を削除してもよい。これにより、流量が多いほどコリジョンフローFbに予備領域のキューQbを割り当てることができる。したがって、効率的なキューイングを実現することができる。 Further, the learning result processing unit 207 may delete the learning result corresponding to the second flow in which the number of flow rate packets after being registered is equal to or less than the threshold value in the second correspondence information. As a result, the larger the flow rate, the more the cue Qb in the spare region can be allocated to the collision flow Fb. Therefore, efficient queuing can be realized.

また、学習結果処理部207は、学習結果を運用者に通知することにより、ハッシュ変換キーkbの変更やネットワーク構成の見直しを促すことができる。 Further, the learning result processing unit 207 can prompt the operator to change the hash conversion key kb and review the network configuration by notifying the operator of the learning result.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 The present invention is not limited to the above-described embodiment, and includes various modifications and equivalent configurations within the scope of the attached claims. For example, the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of another embodiment may be added to the configuration of one embodiment. In addition, other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.

また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 Further, each of the above-described configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function is recorded in a memory, hard disk, storage device such as SSD (Solid State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Versaille Disc). It can be stored in a medium.

また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines necessary for implementation. In practice, it can be considered that almost all configurations are interconnected.

100 通信システム
140 帯域制御部
201 受信部
202 振分部
203 学習部
204 バッファ
205 帯域制御部
206 送信部
207 学習結果処理部
221 判定部
222 ハッシュ値テーブル
301 変換部
302 学習結果テーブル
100 Communication system 140 Bandwidth control unit 201 Reception unit 202 Distribution unit 203 Learning unit 204 Buffer 205 Bandwidth control unit 206 Transmission unit 207 Learning result processing unit 221 Judgment unit 222 Hash value table 301 Conversion unit 302 Learning result table

Claims (8)

パケット群を中継する中継装置であって、
第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、
前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、
前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、
前記パケット群を受信する受信部と、
前記受信部によって受信されたパケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分ける振分部と、
前記振分部によって前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信する送信部と、
を有することを特徴とする中継装置。
A relay device that relays packets
It is converted into the same hash value as the hash value converted from the first specific information and one or more first queues that belong to the first flow and store the first packet containing the first specific information that specifies the first flow. A queue group having one or more second queues for storing a second packet including a second specific information that specifies a second flow, and a queue group.
A first storage unit that stores first correspondence information in which the hash value and the first queue are associated with each other.
A second storage unit that stores the second correspondence information in which the second specific information and the second queue are associated with each other.
A receiver that receives the packet group and
It is determined whether or not the specific information included in each packet of the packet group received by the receiving unit and specifying the flow to which the packet belongs matches the second specific information, and if they match, the said The packet is distributed to the second queue as the second packet with reference to the second correspondence information, and if they do not match, the specific information is converted into the hash value, and the packet is referred to with reference to the first correspondence information. As the first packet, and a distribution unit that distributes the packet to the first queue.
A transmission unit that transmits the packet group distributed to the first queue and the second queue by the distribution unit, and a transmission unit.
A relay device characterized by having.
請求項1に記載の中継装置であって、
前記振分部によって振り分けられた結果、前記特定情報が異なるパケットが属する複数のフローが同一の前記第1キューに出力されるのを検出し、前記複数のフローのうち、特定のフローを前記第1フローに決定し、前記特定のフロー以外の他のフローを前記第2フローに決定する学習部と、
前記学習部によって前記第2フローに決定された前記他のフローに属するパケットに含まれる前記特定情報と、前記第2対応情報の前記第2キューを指定する前記第2キューとを含む学習結果を取得し、前記第2対応情報に登録する学習結果処理部と、
を有することを特徴とする中継装置。
The relay device according to claim 1.
As a result of distribution by the distribution unit, it is detected that a plurality of flows to which packets having different specific information belong are output to the same first queue, and among the plurality of flows, a specific flow is selected as the first queue. A learning unit that determines one flow and determines other flows other than the specific flow as the second flow.
The learning result including the specific information included in the packet belonging to the other flow determined by the learning unit in the second flow and the second queue designating the second queue of the second correspondence information. The learning result processing unit that acquires and registers in the second correspondence information,
A relay device characterized by having.
請求項2に記載の中継装置であって、
前記学習結果処理部は、前記第2対応情報に、前記学習結果に含まれる前記第2キューが使用中であることを示す情報を付与し、当該情報の付与後に前記学習結果を取得する場合、前記使用中であることを示す情報が付与されていない他の第2キューを選択することを特徴とする中継装置。
The relay device according to claim 2.
When the learning result processing unit adds information indicating that the second queue included in the learning result is in use to the second correspondence information and acquires the learning result after the information is given. A relay device comprising selecting another second queue to which information indicating that it is in use is not given.
請求項2に記載の中継装置であって、
前記学習部は、前記複数のフローのうち先着パケットが属する特定のフローを前記第1フローに決定することを特徴とする中継装置。
The relay device according to claim 2.
The learning unit is a relay device characterized in that a specific flow to which the first-come-first-served packet belongs among the plurality of flows is determined as the first flow.
請求項2に記載の中継装置であって、
前記学習部は、前記複数のフローのうち一定期間内において流量パケット数が最大となる特定のフローを前記第1フローに決定することを特徴とする中継装置。
The relay device according to claim 2.
The learning unit is a relay device characterized in that a specific flow having the maximum number of flow rate packets within a certain period of time among the plurality of flows is determined as the first flow.
請求項2に記載の中継装置であって、
前記学習結果処理部は、前記第2対応情報のうち登録されてから所定期間経過した学習結果を削除することを特徴とする中継装置。
The relay device according to claim 2.
The learning result processing unit is a relay device characterized by deleting the learning result for which a predetermined period has passed since the registration of the second correspondence information.
請求項2に記載の中継装置であって、
前記学習結果処理部は、前記第2対応情報のうち登録されてからの流量パケット数がしきい値以下となった前記第2フローに対応する学習結果を削除することを特徴とする中継装置。
The relay device according to claim 2.
The learning result processing unit is a relay device that deletes the learning result corresponding to the second flow in which the number of flow rate packets after being registered is equal to or less than the threshold value in the second correspondence information.
パケット群を中継する中継装置による中継方法であって、
前記中継装置は、
第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、
前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、
前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、を有し、
前記中継方法では、
前記中継装置は、
前記パケット群を受信し、
前記パケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分け、
前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信する、
ことを特徴とする中継方法。
It is a relay method by a relay device that relays a group of packets.
The relay device is
It is converted into the same hash value as the hash value converted from the first specific information and one or more first queues that belong to the first flow and store the first packet containing the first specific information that specifies the first flow. A queue group having one or more second queues for storing a second packet including a second specific information that specifies a second flow, and a queue group.
A first storage unit that stores first correspondence information in which the hash value and the first queue are associated with each other.
It has a second storage unit that stores the second correspondence information in which the second specific information and the second queue are associated with each other.
In the relay method,
The relay device is
Receive the packet group and
It is determined whether or not the specific information included in each packet of the packet group and specifying the flow to which the packet belongs matches the second specific information, and if they match, the second correspondence information is referred to. Then, the packet is distributed to the second queue as the second packet, and if they do not match, the specific information is converted into the hash value, and the packet is referred to as the first packet with reference to the first correspondence information. Sort to the first queue,
The packet group distributed to the first queue and the second queue is transmitted.
A relay method characterized by that.
JP2017013594A 2017-01-27 2017-01-27 Relay device and relay method Active JP6850618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017013594A JP6850618B2 (en) 2017-01-27 2017-01-27 Relay device and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017013594A JP6850618B2 (en) 2017-01-27 2017-01-27 Relay device and relay method

Publications (2)

Publication Number Publication Date
JP2018121307A JP2018121307A (en) 2018-08-02
JP6850618B2 true JP6850618B2 (en) 2021-03-31

Family

ID=63045512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017013594A Active JP6850618B2 (en) 2017-01-27 2017-01-27 Relay device and relay method

Country Status (1)

Country Link
JP (1) JP6850618B2 (en)

Also Published As

Publication number Publication date
JP2018121307A (en) 2018-08-02

Similar Documents

Publication Publication Date Title
CN107005848B (en) System and method for arranging virtual service gateways for mobility management
EP2852125B1 (en) Server selection for content distribution
JP5659125B2 (en) Relay device and relay method
EP3629554A1 (en) Method, apparatus, and system for load balancing of service chain
JP5157472B2 (en) Load distribution apparatus having bandwidth control function and setting method thereof
US11582146B2 (en) High-quality adaptive bitrate video through multiple links
US20140119191A1 (en) Network management apparatus and method
US20160014237A1 (en) Communication device, communication method, and computer-readable recording medium
JP2008263436A (en) Load distribution device and network apparatus
CN112737940A (en) Data transmission method and device
WO2022057131A1 (en) Data congestion processing method and apparatus, computer device, and storage medium
JP2015023453A (en) Network system, network management device, and application management device
JP5962117B2 (en) Video selection method in an environment with multiple image compression methods
JP6850618B2 (en) Relay device and relay method
JP6886874B2 (en) Edge devices, data processing systems, data transmission methods, and programs
JP7097427B2 (en) Data processing system and data processing method
US9774515B2 (en) Router and resource assignment method thereof
JP7211845B2 (en) Determination server and program for determining quality and path of video segments
JP6895354B2 (en) Communication relay device
JP2021111795A (en) Network system, communication control apparatus, and communication control method
JP2015091047A (en) Packet processing device, packet processing method and packet processing system
JP6802763B2 (en) Relay device and bandwidth control method
CN112688985B (en) Communication method and device
JP2008005287A (en) Packet transfer device, packet transfer method and program
EP3192211A2 (en) Aggregate energy consumption across a network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210308

R150 Certificate of patent or registration of utility model

Ref document number: 6850618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250