JP2015050746A - Packet communication device and system - Google Patents

Packet communication device and system Download PDF

Info

Publication number
JP2015050746A
JP2015050746A JP2013183178A JP2013183178A JP2015050746A JP 2015050746 A JP2015050746 A JP 2015050746A JP 2013183178 A JP2013183178 A JP 2013183178A JP 2013183178 A JP2013183178 A JP 2013183178A JP 2015050746 A JP2015050746 A JP 2015050746A
Authority
JP
Japan
Prior art keywords
packet
link
function unit
transfer
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013183178A
Other languages
Japanese (ja)
Other versions
JP6206009B2 (en
Inventor
佳裕 中平
Yoshihiro Nakahira
佳裕 中平
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2013183178A priority Critical patent/JP6206009B2/en
Publication of JP2015050746A publication Critical patent/JP2015050746A/en
Application granted granted Critical
Publication of JP6206009B2 publication Critical patent/JP6206009B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a packet transmitter which can distribute packets to a suitable link from one or more viewpoints.SOLUTION: A packet transmitter transmits a packet to one of a plurality of links and can correspond to packet retransmission when packet loss occurs in each link. The packet transmitter includes: a switch function section for distributing the packet to one of the links; and a transfer optimization function section which acquires at least one of first information which shows how calculation resources in the transmitter are distributed to transfer processing to the individual links, second information which shows characteristics and states of the individual links and third information which shows a content that a transmission source of the packet requests of transfer, and determines a distribution method of the packet by the switch function section to indicate it in response to the acquired information.

Description

本発明は、パケット通信装置及びシステムに関し、例えば、複数の経路やインタフェースを用いて1つのTCP(Transmission Control Protocol)セッションの通信を行う場合に適用し得るものである。   The present invention relates to a packet communication apparatus and system, and can be applied to, for example, a case where communication of one TCP (Transmission Control Protocol) session is performed using a plurality of paths and interfaces.

標準機関IETFによる標準RFC6824に規定される公知の通信技術が存在する(非特許文献1参照)。この技術は、インターネットを用いて、端末間や、端末・サーバ間で、TCPによる通信を行う際に、1つのTCPセッションを、複数のリンクを用いて通信するものであり、一般にMPTCPと呼ばれる。MPTCPを用いると、従来のTCPに比べて、通信を高速に行うことができ、無線など不安定な伝送媒体を用いた通信での信頼性を向上させることができる。   There is a known communication technique defined in the standard RFC6824 by the standard organization IETF (see Non-Patent Document 1). This technology communicates one TCP session using a plurality of links when performing communication by TCP between terminals or between terminals and servers using the Internet, and is generally called MPTCP. When MPTCP is used, communication can be performed at a higher speed than conventional TCP, and reliability in communication using an unstable transmission medium such as wireless communication can be improved.

図4は、MPTCPを適用したパケット通信システム(以下、MPTCP適用システムと呼ぶ)3の構成を示している。図4は、説明の簡単化のために片方向のパケット通信システムを示している。また、図4は、リンクの数が5つの場合を示しており、以下の説明で「5つ」という表現は、リンクの数を示している。   FIG. 4 shows a configuration of a packet communication system (hereinafter referred to as an MPTCP application system) 3 to which MPTCP is applied. FIG. 4 shows a one-way packet communication system for ease of explanation. FIG. 4 shows a case where the number of links is five, and the expression “five” in the following description indicates the number of links.

MPTCP対応のパケット送信装置1は、外側送信用TCP機能部(図4ではTCP(外側)と表記)10、スイッチ機能部(図4ではSWと表記)11、5つのリンク別キュー(図4ではQと表記)12−1〜12−5、5つの内側送信用TCP機能部(図4ではTCPと表記)13−1〜13−5、5つの送信インタフェース部(図4ではIFと表記)14−1〜14−5を有する。   The MPTCP-compatible packet transmission device 1 includes an outer transmission TCP function unit (denoted as TCP (outer) in FIG. 4) 10, a switch function unit (denoted as SW in FIG. 4) 11, and five link-specific queues (in FIG. 4). Q) 12-1 to 12-5, five inner transmission TCP function units (denoted as TCP in FIG. 4) 13-1 to 13-5, five transmission interface units (denoted as IF in FIG. 4) 14 -1 to 14-5.

一方、MPTCP対応のパケット受信装置2は、5つの受信インタフェース部(図4ではIFと表記)20−1〜20−5、5つのリンク別キュー(図4ではQと表記)21−1〜21−5、5つの内側受信用TCP機能部(図4ではTCPと表記)22−1〜22−5、統合キュー(図4ではQと表記)23、外側受信用TCP機能部(図4ではTCP(外側)と表記)24を有する。   On the other hand, the MPTCP-compatible packet receiver 2 includes five reception interface units (indicated as IF in FIG. 4) 20-1 to 20-5, and five queue-specific queues (indicated as Q in FIG. 4) 21-1 to 21. -5, five inner reception TCP function units (indicated as TCP in FIG. 4) 22-1 to 22-5, integrated queue (indicated as Q in FIG. 4) 23, outer reception TCP function unit (in FIG. 4, TCP (Denoted as (outside)) 24.

通常のTCPを適用したパケット通信システム(以下、TCP適用システムと呼ぶ)では、送信側と受信側に、各々1つのTCP機能部があったのに比べ、MPTCP適用システム3では、TCP適用システムにおけると同様なTCP機能部10、24に加え、その内側にも、送信側と受信側の両方で対をなす複数のTCP機能部13−1及び22−1、…、13−5及び22−5が存在する。   In a packet communication system (hereinafter referred to as a TCP application system) to which a normal TCP is applied, the MPTCP application system 3 is different from the TCP application system in that there is one TCP function unit on each of the transmission side and the reception side. In addition to the same TCP function units 10 and 24, a plurality of TCP function units 13-1 and 22-1,..., 13-5 and 22-5 that are paired on both the transmission side and the reception side Exists.

パケット送信装置1において、アプリケーションソフトウェア(以下、アプリソフトと呼ぶ)15から送出されたパケットは、外側送信用TCP機能部10で受け取られ、受信側に向けて送信される。アプリソフト15及び25は、パケット送信装置1やパケット受信装置2の構成要素ではないが、説明のために書き出している。   In the packet transmission device 1, a packet transmitted from application software (hereinafter referred to as application software) 15 is received by the outer transmission TCP function unit 10 and transmitted toward the reception side. The application software 15 and 25 are not constituent elements of the packet transmission device 1 and the packet reception device 2, but are written for explanation.

この外側送信用TCP機能部10では、アプリソフト15から受け取った情報をMTU(Maximum Transmission Unit)のサイズに分割し、順序番号を付与して送信する。データは、送信ウィンドウと受信ウィンドウの小さい方のサイズ一杯まで送信される。受信ウィンドウサイズは、外側受信用TCP機能部24の直前にある統合キュー23の残り容量であり、これが0であるとの通知がくれば、送信側の外側送信用TCP機能部10は送信を止める。また、外側受信用TCP機能部24では、届いたパケットを順序番号順に組み立て、送達確認のために、送信側に順序番号の情報を送達確認信号(以下、Ack信号と呼ぶ)として送る。ネットワークの内部では、ときどき、パケットの順序逆転やパケット落ちが発生する。外側受信用TCP機能部24では、順序番号が期待される値と違う場合、送信側に、有効に到達したパケットの前回の順序番号を入れてAck信号を返送する。外側送信用TCP機能部10では、同一の順序番号が挿入されたAck信号が連続して到着し、その連続回数が閾値を超えると、廃棄されたと考えて再送する。上述した機能、動作は、TCP適用システムと同様である。   The outer transmission TCP function unit 10 divides the information received from the application software 15 into an MTU (Maximum Transmission Unit) size, and transmits it with an order number. Data is transmitted up to the full size of the smaller of the transmit and receive windows. The reception window size is the remaining capacity of the integrated queue 23 immediately before the outer reception TCP function unit 24, and if it is notified that this is 0, the outer transmission TCP function unit 10 on the transmission side stops transmission. . Further, the outer reception TCP function unit 24 assembles the received packets in the order of the order numbers, and sends order number information as a delivery confirmation signal (hereinafter referred to as an Ack signal) to the transmission side for delivery confirmation. Within the network, packet order reversal and packet dropping sometimes occur. When the sequence number is different from the expected value, the outer reception TCP function unit 24 returns the Ack signal with the previous sequence number of the packet that has arrived validly to the transmission side. In the outer transmission TCP function unit 10, when the Ack signal into which the same sequence number is inserted arrives continuously and the number of consecutive times exceeds the threshold, it is considered to have been discarded and retransmitted. The functions and operations described above are the same as those of the TCP application system.

MPTCP適用システム3では、外側送信用TCP機能部10の後段にスイッチ機能部11が存在し、スイッチ機能部11は、キュー12−1〜12−5と内側送信用TCP機能部13−1〜13−5とでなる5対の内側送信機能対のいずれかの対に、入力されたパケットを選択的に転送する。各内側送信用TCP機能部13−1〜13−5はそれぞれ、インタフェース部14−1〜14−5、20−1〜20−5を介して、対向するパケット受信装置2の内側受信用TCP機能部22−1〜22−5と通信する。MPTCP適用システム3では、同時に5つのリンクを使用するため、最大ウィンドウサイズが同じでキュー12−1〜12−5の個数が5倍あり、アプリソフト15側の速度が十分に速いとき、1つのリンクで送信するより、より多くの情報を転送できる。これら5つのリンクの両側に位置する内側送信用TCP機能部13−1〜13−5及び内側受信用TCP機能部22−1〜22−5間でも、ウィンドウ制御、送達確認、再送制御が行われる。   In the MPTCP application system 3, the switch function unit 11 is present at the subsequent stage of the outer transmission TCP function unit 10, and the switch function unit 11 includes the queues 12-1 to 12-5 and the inner transmission TCP function units 13-1 to 13. The input packet is selectively transferred to any of the five inner transmission function pairs consisting of -5. The inner transmission TCP function units 13-1 to 13-5 are respectively connected to the inner reception TCP function of the opposing packet reception device 2 via the interface units 14-1 to 14-5 and 20-1 to 20-5. It communicates with the sections 22-1 to 22-5. Since the MPTCP application system 3 uses five links at the same time, the maximum window size is the same, the number of queues 12-1 to 12-5 is five times, and when the speed on the application software 15 side is sufficiently high, More information can be transferred than transmitted over a link. Window control, delivery confirmation, and retransmission control are also performed between the inner transmission TCP function units 13-1 to 13-5 and the inner reception TCP function units 22-1 to 22-5 located on both sides of these five links. .

以下、内側送信用TCP機能部13−1〜13−5及び内側受信用TCP機能部22−1〜22−5間の各対のTCPのセッション部分を内側TCPセッションと呼ぶこともあり、また、そこでのフローをサブフローと呼ぶこともある。また、外側送信用TCP機能部10及び外側受信用TCP機能部24間のTCPのセッションを外側TCPセッションと呼ぶこともある。   Hereinafter, each pair of TCP session portions between the inner transmission TCP function units 13-1 to 13-5 and the inner reception TCP function units 22-1 to 22-5 may be referred to as an inner TCP session. The flow there is sometimes called a subflow. In addition, a TCP session between the outer transmission TCP function unit 10 and the outer reception TCP function unit 24 may be referred to as an outer TCP session.

なお、図4のリンク上の左側の数字はパケット送信装置1が送り出したパケットの順序番号を示し、図4のリンク上の右側の数字はパケット受信装置2に到達したパケットの順序番号を示しており、順序番号「2」のパケットが伝送中に廃棄され、再送されている。また、図4では、下から2番目のリンクの伝搬遅延が一番下のリンクより大きく、後から一番下のリンクで送っても、下から2番目のリンクで送るよりも早く到着することに鑑み、スイッチ機能部11では、上から1番目、2番目、3番目、5番目、4番目のリンクに対応するように内側送信機能対を選択し、受信側に、到着するパケット順序が、1番目、2番目、3番目、4番目、5番目のリンクからのパケットになるようになされている場合を示している。   The number on the left side of the link in FIG. 4 indicates the sequence number of the packet sent out by the packet transmitting apparatus 1, and the number on the right side of the link in FIG. 4 indicates the order number of the packet that reaches the packet receiving apparatus 2. The packet with the sequence number “2” is discarded during transmission and retransmitted. In addition, in FIG. 4, the propagation delay of the second link from the bottom is larger than that of the bottom link, so that even if it is sent on the bottom link later, it arrives earlier than it is sent on the second link from the bottom. In view of the above, the switch function unit 11 selects the inner transmission function pair so as to correspond to the first, second, third, fifth, and fourth links from the top, and the order of packets that arrive at the receiving side is The case where it is made to become the packet from the 1st, 2nd, 3rd, 4th, 5th link is shown.

MPTCP適用システム3には、実装に任されている大きな差別化ポイントが存在する。それは、スイッチ機能部11で、どのリンクにつながる内側送信用TCP機能部13−1〜13−5(言い換えると、キュー12−1〜12−5と内側送信用TCP機能部13−1〜13−5とでなる内側送信機能対)にパケットを与えて通信するのが最も良い方法(以下、リンク選択方式と呼ぶ)であるか、という点である。   The MPTCP application system 3 has a large differentiation point that is left to implementation. The switch function unit 11 is connected to which inner transmission TCP function unit 13-1 to 13-5 (in other words, the queues 12-1 to 12-5 and the inner transmission TCP function units 13-1 to 13- It is the best method (hereinafter referred to as a link selection method) to give a packet to the inner transmission function pair (5) and communicate.

これに関して、非特許文献2には、以下のような4つのリンク選択方式が記載されている。   In this regard, Non-Patent Document 2 describes the following four link selection methods.

第1は、どのリンクも平等に使用するように1つずつ順番に使用するラウンドロビン方式である。   The first is a round robin method in which every link is used one by one so as to be used equally.

第2は、到着順序逆転を減らすことを優先し、RTT(Round Trip Time;往復伝搬遅延時間)が最小のリンクに流す方式である。   The second is a method in which priority is given to reducing arrival order reversal and the RTT (Round Trip Time) is sent to the link having the minimum round trip time.

第3は、RTTに、送信キューに溜まったトラヒック量をスループットで除した値を加え、転送遅延とキューを抜ける予想時間の和に基づいて選択し、到着順序逆転の可能性をさらに減らすことを目指したATLB(Arrival−Time matching Load−Balancing)方式である。   The third is to add a value obtained by dividing the amount of traffic accumulated in the transmission queue by the throughput to the RTT, and make a selection based on the sum of the transfer delay and the expected time to leave the queue to further reduce the possibility of arrival order reversal. This is an aimed ATLB (Arrival-Time Matching Load-Balancing) method.

第4は、第3のATLB方式において、キューを抜ける時間の予想の精度を向上させるため、トラヒック量をスループットで除するだけでなく、TCPのどのフェーズにいるかを反映させた方式である。   Fourth, in the third ATLB method, in order to improve the accuracy of the prediction of the time to exit the queue, not only the traffic amount is divided by the throughput but also the phase of TCP is reflected.

RFC6824:TCP Extensions for Multiple Operation with Multiple AddressesRFC6824: TCP Extensions for Multiple Operation with Multiple Addresses 及川永寿他著、”遅延差の大きなネットワークにおけるマルチパスTCPパケット分配方式の提案”、電子情報通信学会技術報告NS2012−106、2012年11月Oikawa Nagatoshi et al., “Proposal of Multipath TCP Packet Distribution Method in Network with Large Delay Difference”, IEICE Technical Report NS2012-106, November 2012

しかしながら、上述した4つのリンク選択方法は、以下のような課題を有するものであった。   However, the four link selection methods described above have the following problems.

第1の課題は、各内側送信用TCP機能部13−1〜13−5や各内側受信用TCP機能部22−1〜22−5へのCPU資源(処理能力)やメモリ資源(記憶能力)の不適切な分配により生じる課題である。   The first problem is that CPU resources (processing capability) and memory resources (storage capability) for each of the inner transmission TCP function units 13-1 to 13-5 and each of the inner reception TCP function units 22-1 to 22-5 This is a problem caused by inappropriate distribution.

上記第2〜第4のリンク選択方式では、単数又は複数のCPUが、複数のTCPのプロセスを同時に処理している。各TCPのプロセスにかけるCPUやメモリの資源が完全に平等ならば、従来のリンク選択方式は有効に働くことが期待される。しかし、実際にはそうとは限らない。例えば、より大きな負荷のプロセスに、大きなCPU資源やメモリ資源(これら2つをまとめて計算機資源と呼ぶこともある)を分配する仕様になっていると、早くパケットが届いた内側TCPセッションが、大きなCPU資源やメモリ資源を有し、後から届いた内側TCPセッションは少ない資源しか割当てられず、後にパケットが届いた内側TCPセッションは、処理能力が小さいために、他より少ないパケットしか処理されないことになる。一方、多くの資源が与えられた内側TCPセッションは、より多くの処理が可能になり、より多くのトラヒックが流れ、その結果、さらに大きな資源が割当てられるフィードバックがかかり、その差が益々広がっていくことになる。   In the second to fourth link selection methods, one or a plurality of CPUs simultaneously process a plurality of TCP processes. If the CPU and memory resources applied to each TCP process are completely equal, the conventional link selection method is expected to work effectively. However, this is not always true. For example, if it is a specification to distribute a large CPU resource and memory resource (sometimes collectively referred to as a computer resource) to a process with a larger load, the inner TCP session where the packet arrived earlier will be The internal TCP session that has large CPU resources and memory resources, and the inner TCP session that arrives later can be allocated with less resources, and the inner TCP session that has received the packet later has less processing power, so it can process fewer packets than others. become. On the other hand, the inner TCP session given more resources can be processed more, more traffic flows, and as a result, feedback is given to allocate more resources, and the difference spreads more and more. It will be.

これは、送受信側の両方で生じることである。つまり、送信側で、パケットを送信するのに使える計算機資源が小さいサブフローは、計算機資源が大きいサブフローより送信処理に使えるCPU時間が小さく、送信可能なパケット数が少なくなる可能性がある。受信側に関しても、受信処理やAck信号を送信側に返す処理に使えるCPU時間が小さいサブフローは、CPU時間の大きなサブフロー送信できるパケット数が少なくなる可能性がある。   This occurs on both the transmitting and receiving sides. In other words, a subflow with a small computer resource that can be used to transmit a packet on the transmitting side may have a smaller CPU time for transmission processing than a subflow with a large computer resource, and may reduce the number of packets that can be transmitted. Also on the receiving side, a subflow with a small CPU time that can be used for a receiving process or a process for returning an Ack signal to the transmitting side may reduce the number of packets that can be transmitted with a subflow with a large CPU time.

第2の課題は、省電力リンクがある場合に生じる課題である。   The second problem is a problem that occurs when there is a power saving link.

近年、トラヒック量に応じて物理リンクの利用可能帯域を変化させ、トラヒックが少ないときは、帯域を小さくすることで、消費電力を抑える技術が開発されている。しかし、送受信共にTCP機能部は、そのことを認知できず、かつ、残り帯域が小さくなると、送信レートを上げない実装になっているものがある。その結果、物理リンクが帯域を増加させる閾値以下で運用され、物理リンクは、利用者が本当はもっと送りたい要求があるのを知らずに、帯域を小さなままで運用し、TCP機能部側が本当はもっと送れるのに、これ以上送ると輻輳が生じるかもしれないと、送信レートを上げないで運用される可能性がある。その結果、MPTCP適用システムが、省電力リンクをサブフローのリンクとして含む内側TCPセッションにパケットを送る量を、最適値より小さくしてしまう可能性がある。   In recent years, a technology has been developed that reduces power consumption by changing the usable bandwidth of a physical link in accordance with the amount of traffic and reducing the bandwidth when the traffic is low. However, there are some implementations in which the TCP function unit cannot recognize this for both transmission and reception, and does not increase the transmission rate when the remaining bandwidth becomes small. As a result, the physical link is operated below the threshold for increasing the bandwidth, the physical link is operated with the bandwidth kept small without knowing that the user really wants to send more, and the TCP function side can actually send more However, if there is a possibility that congestion will occur when sending more than this, there is a possibility of operation without increasing the transmission rate. As a result, there is a possibility that the amount of packets sent from the MPTCP application system to the inner TCP session including the power saving link as the subflow link is smaller than the optimum value.

第3の課題は、内側TCPセッションに係るリンクの伝搬遅延時間の差(以下、遅延差と略することもある)が大きい場合に生じる課題である。   A third problem is a problem that occurs when a difference in propagation delay time of a link related to the inner TCP session (hereinafter, sometimes abbreviated as a delay difference) is large.

上記第2〜第4のリンク選択方式では、遅延差が大きいと、伝搬遅延時間の大きなリンクは幾ら余剰帯域があっても使われず、スループットが伸びないという課題がある。例えば、大きなトラヒックを流しても、廃棄がほとんど生じないが到着までの遅延時間が大きなリンクLAと、遅延時間は小さいが入力されるトラヒックがある程度大きくなると廃棄が生じ易いリンクLBがあった場合、アプリソフトの要求条件と、確保できるキュー長の見合いで、リンクLAを積極的に使用した方が良い場合がある。上記第2〜第4のリンク選択方式では、このような場合への対応ができない。   In the second to fourth link selection methods, if the delay difference is large, a link having a large propagation delay time is not used even if there is a surplus band, and there is a problem that throughput does not increase. For example, when there is a link LA that has little delay but a large delay time to arrival even when a large amount of traffic is passed, and a link LB that has a small delay time but tends to be discarded when the input traffic becomes large to some extent, In some cases, it is better to actively use the link LA according to the requirements of the application software and the queue length that can be secured. The above second to fourth link selection methods cannot cope with such a case.

第4の課題は、要求品質に応じた資源選択への対応に関する課題である。   The fourth problem is related to the response to resource selection according to the required quality.

パケット送信装置及びパケット受信装置間にリンクLCとリンクLDの2種類のリンクが存在し、リンクLCはリンクLDよりも利用コストが高い場合を想定する。ここで、利用するアプリソフトは幾つかの種類が存在し、アプリソフトAP1は0.1秒でも早く送りたい要求があり、アプリソフトAP2は、数ビット/secの速度で十分な要求条件であり、アプリソフトAP3は、ある一定の時間内に遅れれば良いとする。   It is assumed that there are two types of links, a link LC and a link LD, between the packet transmitter and the packet receiver, and the link LC has a higher usage cost than the link LD. Here, there are several types of application software to be used, the application software AP1 has a request to send even as fast as 0.1 seconds, and the application software AP2 has sufficient requirements at a speed of several bits / sec. Suppose that the application software AP3 only needs to be delayed within a certain period of time.

アプリソフトAP1は、リンクLCとリンクLDの両方を使い、最小時間で送信できるように、リンクLCとリンクLDにトラヒックを振り分ける制御が好適と思われる。アプリソフトAP2は、リンクLDだけを使ってコストを最小化するのが好適だと思われる。アプリソフトAP3は、要求条件を満たす範囲で、なるべくリンクLDを用い、要求条件を満たすためにやむを得ない範囲でリンクLCを用い、利用コストの最小化を目指すのが好適であると考えられる。   It seems that the application software AP1 uses both the link LC and the link LD to control the traffic to the link LC and the link LD so that transmission can be performed in a minimum time. The application software AP2 seems to be preferable to minimize the cost by using only the link LD. It is considered that the application software AP3 preferably uses the link LD as much as possible within the range satisfying the required conditions, and uses the link LC within the range unavoidable to satisfy the required conditions, and aims to minimize the use cost.

すなわち、パケット通信に供するアプリソフトが複数種類あり、要求品質が異なる場合においても、あるリンク選択方法しか適用できず、その方法では不満足なアプリソフトも生じてしまう。   That is, even when there are a plurality of types of application software used for packet communication and the required qualities are different, only a certain link selection method can be applied, and this method also results in unsatisfactory application software.

本発明は、以上の点を考慮してなされたものであり、1以上の観点から見て好適なリンクにパケットを振り分けて転送することができるパケット通信装置及びシステムを提供しようとしたものである。   The present invention has been made in consideration of the above points, and is intended to provide a packet communication apparatus and system capable of distributing and transferring packets to a suitable link from one or more viewpoints. .

第1の本発明は、パケット送信装置及びパケット受信装置間にパケット転送に供する複数のリンクが介在し、上記リンク毎に、パケットロス時のパケット再送に対応できるパケット通信システムにおける上記パケット送信装置が該当するパケット通信装置において、(1)送信しようとするパケットを、いずれかの上記リンクへ振り分けるスイッチ機能部と、(2)少なくとも当該パケット送信装置における計算資源が上記各リンクへの転送処理にどのように配分されているかを表す第1情報、上記各リンクの特性、状態を表す第2情報、送信しようとするパケットの送出元が転送に対して要求している内容を表す第3情報の3つの情報の少なくとも1つを獲得し、獲得した情報に基づき、上記スイッチ機能部が、入力されたパケットを振分ける方法を決定して上記スイッチ機能部に指示する転送最適化機能部とを有することを特徴とする。   According to a first aspect of the present invention, there is provided the packet transmission device in a packet communication system capable of handling packet retransmission at the time of packet loss, wherein a plurality of links for packet transfer are interposed between the packet transmission device and the packet reception device. In the corresponding packet communication device, (1) a switch function unit that distributes a packet to be transmitted to any one of the links, and (2) at least which computing resource in the packet transmission device is used for transfer processing to each link. 3 of the 1st information showing how it is distributed, the 2nd information showing the characteristic of each above-mentioned link, the 2nd information showing the state, and the 3rd information showing the contents which the sending origin of the packet which is going to transmit demands for transfer At least one of the two pieces of information is acquired, and based on the acquired information, the switch function unit distributes the input packet. That method to determine and having a transfer optimization unit that instructs the switching function portion.

第2の本発明は、パケット送信装置及びパケット受信装置間にパケット転送に供する複数のリンクが介在し、上記リンク毎に、パケットロス時のパケット再送に対応できるパケット通信システムにおいて、上記パケット送信装置として、第1の本発明のパケット通信装置を適用したことを特徴とする。   According to a second aspect of the present invention, there is provided a packet communication apparatus in which a plurality of links for packet transfer are interposed between a packet transmission apparatus and a packet reception apparatus, and each link can handle packet retransmission at the time of packet loss. As described above, the packet communication device according to the first aspect of the present invention is applied.

本発明によれば、1以上の観点から見て好適なリンクにパケットを振り分けて転送することができるパケット通信装置及びシステムを提供できる。   According to the present invention, it is possible to provide a packet communication apparatus and system that can distribute and transfer packets to a link that is suitable from one or more viewpoints.

実施形態のMPTCP適用システムを構成するパケット送信装置及びパケット受信装置のネットワーク上の位置関係の一例を示すブロック図である。It is a block diagram which shows an example of the positional relationship on the network of the packet transmitter which comprises the MPTCP application system of embodiment, and a packet receiver. 実施形態のMPTCP適用システムの構成を示すブロック図である。It is a block diagram which shows the structure of the MPTCP application system of embodiment. 実施形態のMPTCP適用システムにおけるMPTCP最適化機能部が行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which the MPTCP optimization function part in the MPTCP application system of embodiment performs. 従来のMPTCP適用システムの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional MPTCP application system.

(A)主たる実施形態
以下、本発明によるパケット通信装置及びシステムの一実施形態を、図面を参照しながら説明する。
(A) Main Embodiment An embodiment of a packet communication apparatus and system according to the present invention will be described below with reference to the drawings.

実施形態のパケット通信システムは、MPTCP適用システムである。パケット通信システムを構成するパケット通信装置は、データパケットの送信構成及び受信構成を共に備えるものが大半であるが、以下の実施形態の説明では、説明の簡単化を期して、一対のパケット送信装置及びパケット受信装置を書き出して説明する。   The packet communication system of the embodiment is an MPTCP application system. Most of the packet communication devices constituting the packet communication system have both a data packet transmission configuration and a reception configuration. However, in the following description of the embodiments, a pair of packet transmission devices is provided for the sake of simplicity. The packet receiver will be described.

(A−1)実施形態の構成
図1は、実施形態のMPTCP適用システム3Aを構成するパケット送信装置1A及びパケット受信装置2Aのネットワーク上の位置関係の一例を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 1 is a block diagram illustrating an example of a positional relationship on the network between the packet transmission device 1A and the packet reception device 2A that configure the MPTCP application system 3A of the embodiment.

図1において、パケット送信装置1A及びパケット受信装置2A間は、オープンフローを用いたSDN(Software Defined Networking)ノード4(以下、単にSDNノードと呼ぶ)を有する仮想ネットワーク5を介して接続し得るようになされている。図1では、3つの内側TCPセッションのリンク(経路)LK1〜LK3を示しており、各リンクLK1〜LK3はそれぞれ、1又は複数のSDNノード4を経由する。リンクLK1は、SDNノード4−1、4−2及び4−3を経由するものであり、リンクLK2は、SDNノード4−1及び4−3を経由するものであり、リンクLK3は、SDNノード4−1、4−4及び4−3を経由するものである。   In FIG. 1, the packet transmitting apparatus 1A and the packet receiving apparatus 2A can be connected via a virtual network 5 having an SDN (Software Defined Networking) node 4 (hereinafter simply referred to as an SDN node) using an open flow. Has been made. In FIG. 1, links (routes) LK1 to LK3 of three inner TCP sessions are shown, and each link LK1 to LK3 passes through one or a plurality of SDN nodes 4, respectively. The link LK1 is routed through the SDN nodes 4-1, 4-2 and 4-3, the link LK2 is routed through the SDN nodes 4-1 and 4-3, and the link LK3 is routed to the SDN node. 4-1, 4-4, and 4-3.

パケット送信装置1Aに関連して送信側情報処理装置6Aが設けられている。パケット送信装置1Aは、例えば、送信側情報処理装置6Aに搭載されたものであっても良く、送信側情報処理装置6Aと別個の装置として構築されたものであっても良い。例えば、同一のパソコンが、送信側情報処理装置6AとMPTCP対応のパケット送信装置1Aとを兼ねていても良く、以下、このような場合を想定して説明する。   A transmission-side information processing device 6A is provided in association with the packet transmission device 1A. For example, the packet transmission device 1A may be mounted on the transmission-side information processing device 6A, or may be constructed as a separate device from the transmission-side information processing device 6A. For example, the same personal computer may serve as both the transmission-side information processing device 6A and the MPTCP-compatible packet transmission device 1A, and the following description will be given assuming such a case.

同様に、パケット受信装置2Aに関連して受信側情報処理装置7Aが設けられている。以下、同一のパソコンが、受信側情報処理装置7AとMPTCP対応のパケット受信装置2Aとを兼ねている場合を想定して説明する。   Similarly, a receiving side information processing device 7A is provided in association with the packet receiving device 2A. In the following description, it is assumed that the same personal computer serves as both the receiving side information processing apparatus 7A and the MPTCP compatible packet receiving apparatus 2A.

図2は、実施形態のMPTCP適用システム3Aの構成を示すブロック図であり、上述した図4との同一、対応部分には同一、対応符号を付して示している。なお、図1とは異なり、図2では、パケット送信装置1A及びパケット受信装置2A間のリンクとして5つのリンクを示している。   FIG. 2 is a block diagram illustrating the configuration of the MPTCP application system 3A according to the embodiment, in which the same and corresponding parts as those in FIG. Unlike FIG. 1, FIG. 2 shows five links as links between the packet transmission device 1A and the packet reception device 2A.

上述したように、パケット送信装置1Aもパケット受信装置2Aもパソコン上に構築されている場合には、その構成要素の大半が、CPUとCPUが実行するソフトウェアで構成されていることが多いが、このような場合でも、機能的には、図2で表すことができる。   As described above, when both the packet transmitting device 1A and the packet receiving device 2A are constructed on a personal computer, most of the components are often composed of a CPU and software executed by the CPU. Even in such a case, it can be functionally represented in FIG.

図2において、実施形態のパケット送信装置1Aは、外側送信用TCP機能部10、スイッチ機能部11、5つのリンク別キュー12−1〜12−5、5つの内側送信用TCP機能部13−1〜13−5、5つの送信インタフェース部14−1〜14−5に加え、送信側MPTCP最適化機能部16及び送信側計算資源管理機能部17を有する。   In FIG. 2, the packet transmission device 1A according to the embodiment includes an outer transmission TCP function unit 10, a switch function unit 11, five link-specific queues 12-1 to 12-5, and five inner transmission TCP function units 13-1. 13-5, in addition to the five transmission interface units 14-1 to 14-5, the transmission side MPTCP optimization function unit 16 and the transmission side computational resource management function unit 17 are provided.

実施形態のパケット受信装置2Aは、5つの受信インタフェース部20−1〜20−5、5つのリンク別キュー21−1〜21−5、5つの内側受信用TCP機能部22−1〜22−5、統合キュー23、外側受信用TCP機能部24に加え、受信側MPTCP最適化機能部26及び受信側計算資源管理機能部27を有する。   The packet reception device 2A according to the embodiment includes five reception interface units 20-1 to 20-5, five link-specific queues 21-1 to 21-5, and five inner reception TCP function units 22-1 to 22-5. In addition to the integrated queue 23 and the outer receiving TCP function unit 24, the receiving side MPTCP optimization function unit 26 and the receiving side computing resource management function unit 27 are provided.

ここで、外側送信用TCP機能部10、スイッチ機能部11、リンク別キュー12−1〜12−5、内側送信用TCP機能部13−1〜13−5、送信インタフェース部14−1〜14−5、受信インタフェース部20−1〜20−5、リンク別キュー21−1〜21−5、内側受信用TCP機能部22−1〜22−5、統合キュー23及び外側受信用TCP機能部24の基本的な機能は、図4におけるものと同様であり、以下、簡単に言及する。   Here, the outer transmission TCP function unit 10, the switch function unit 11, the link-specific queues 12-1 to 12-5, the inner transmission TCP function units 13-1 to 13-5, and the transmission interface units 14-1 to 14- 5, reception interface units 20-1 to 20-5, link-specific queues 21-1 to 21-5, inner reception TCP function units 22-1 to 22-5, integrated queue 23, and outer reception TCP function unit 24 The basic functions are the same as those in FIG. 4 and will be briefly described below.

外側送信用TCP機能部10は、外側TCPセッションについてのパケット送信・再送、送信ウィンドウ制御を行うものであり、外側受信用TCP機能部24は、外側TCPセッションについてのパケット受信、送達確認、再送制御、順序調整、受信ウィンドウ制御を行うものである。スイッチ機能部11は、送信しようとするパケットをいずれかの内側TCPセッション(言い換えるとリンク)に振り分けるものである。内側送信用TCP機能部13−n(nは1〜5)は、リンクLKnに係る内側TCPセッションについてのパケット送信・再送、送信ウィンドウ制御を行うものであり、内側受信用TCP機能部22−nは、リンクLKnに係る内側TCPセッションについてのパケット受信、送達確認、再送制御、順序調整、受信ウィンドウ制御を行うものである。リンク別キュー12−nは、内側送信用TCP機能部13−nの送信待ちのパケットをキューイングしているものである。送信インタフェース部14−nは、リンクLKnに対する、送信側のインタフェースを行うものであり、受信インタフェース部20−nは、リンクLKnに対する、受信側のインタフェースを行うものである。リンク別キュー21−nは、内側受信用TCP機能部22−nによる処理待ちのパケットをキューイングしているものである。統合キュー23は、内側受信用TCP機能部22−1〜22−5からの外側TCPセッションに係るパケットを受け入れると共に、外側受信用TCP機能部24による処理待ちのパケットをキューイングしているものである。   The outer transmission TCP function unit 10 performs packet transmission / retransmission and transmission window control for the outer TCP session, and the outer reception TCP function unit 24 performs packet reception, delivery confirmation, and retransmission control for the outer TCP session. , Order adjustment, and reception window control. The switch function unit 11 distributes a packet to be transmitted to one of the inner TCP sessions (in other words, a link). The inner transmission TCP function unit 13-n (n is 1 to 5) performs packet transmission / retransmission and transmission window control for the inner TCP session related to the link LKn. The inner reception TCP function unit 22-n Performs packet reception, delivery confirmation, retransmission control, order adjustment, and reception window control for the inner TCP session related to the link LKn. The link-specific queue 12-n queues packets waiting to be transmitted by the inner transmission TCP function unit 13-n. The transmission interface unit 14-n performs a transmission-side interface for the link LKn, and the reception interface unit 20-n performs a reception-side interface for the link LKn. The link-specific queue 21-n queues packets waiting to be processed by the inner reception TCP function unit 22-n. The integrated queue 23 accepts packets related to the outer TCP session from the inner reception TCP function units 22-1 to 22-5 and queues packets waiting for processing by the outer reception TCP function unit 24. is there.

実施形態で新たに有する送信側計算資源管理機能部17及び受信側計算資源管理機能部27はそれぞれ、パケット送信装置1A、パケット受信装置2Aが使用するCPU、メモリ、バス等の計算資源の使用状況を管理しているものである。各計算資源管理機能部17、27は、当該装置1A、2A用に新しく構築したものであっても良いが、当該装置1A、2Aがパソコン等の情報処理装置上に構築された場合であれば、情報処理装置のOS(Operating System)が有する計算資源管理機能部をそのまま適用するようにしても良い。   The transmission-side computational resource management function unit 17 and the reception-side computational resource management function unit 27 that are newly provided in the embodiment are the usage statuses of computational resources such as the CPU, memory, and bus used by the packet transmission device 1A and the packet reception device 2A, respectively. It is something that manages. Each of the computing resource management function units 17 and 27 may be newly constructed for the devices 1A and 2A, but if the devices 1A and 2A are constructed on an information processing device such as a personal computer. The computing resource management function unit included in the OS (Operating System) of the information processing apparatus may be applied as it is.

送信側MPTCP最適化機能部16は、リンク(従って、内側TCPセッション)LK1〜LK5へのパケットの割当てを最適化するものであり、受信側MPTCP最適化機能部26は、送信側MPTCP最適化機能部16における最適割当てに受信側として協力するものである。送信側MPTCP最適化機能部16は、基本的には、スイッチ機能部11に対する内側TCPセッションの決定方法を指示するものであるが、決定方法の指示を出すために必要な情報を収集するために、外側送信用TCP機能部10、内側送信用TCP機能部13−1〜13−5、計算資源管理機能部17に対して指示を出したりするものである。同様に、受信側MPTCP最適化機能部26は、必要な情報を収集するために、外側受信用TCP機能部24、内側受信用TCP機能部22−1〜22−5、計算資源管理機能部27に対して指示を出したりするものである。   The transmission side MPTCP optimization function unit 16 optimizes the allocation of packets to the links (and therefore the inner TCP sessions) LK1 to LK5. The reception side MPTCP optimization function unit 26 includes a transmission side MPTCP optimization function. The receiving side cooperates with the optimal allocation in the unit 16. The transmission side MPTCP optimization function unit 16 basically instructs the switch function unit 11 on how to determine the inner TCP session, but in order to collect information necessary for issuing the determination method instruction. An instruction is given to the outer transmission TCP function unit 10, the inner transmission TCP function units 13-1 to 13-5, and the computing resource management function unit 17. Similarly, the receiving-side MPTCP optimization function unit 26 collects necessary information, so that the outer receiving TCP function unit 24, the inner receiving TCP function units 22-1 to 22-5, and the computational resource management function unit 27 are collected. Or give instructions.

送信側MPTCP最適化機能部16は、通信機能部16a、計算資源割当把握機能部16b、リンク特性把握機能部16c及び最適切替指示機能部16dを有し、受信側MPTCP最適化機能部26は、通信機能部26a、計算資源割当把握機能部26b及びリンク特性把握機能部26cを有する。   The transmission side MPTCP optimization function unit 16 includes a communication function unit 16a, a calculation resource allocation grasping function unit 16b, a link characteristic grasping function unit 16c, and an optimum switching instruction function unit 16d, and the receiving side MPTCP optimization function unit 26 includes: A communication function unit 26a, a calculation resource allocation grasping function unit 26b, and a link characteristic grasping function unit 26c are included.

通信機能部16aは、外側送信用TCP機能部10に接続され、通信機能部26aは、外側受信用TCP機能部24に接続され、通信機能部16a及び26a間で制御情報(制御パケット)を転送し合うものである。主として、通信機能部26aが制御情報の送信側、通信機能部16aが制御情報の受信側となる。   The communication function unit 16a is connected to the outer transmission TCP function unit 10, and the communication function unit 26a is connected to the outer reception TCP function unit 24, and transfers control information (control packet) between the communication function units 16a and 26a. It's a good thing. The communication function unit 26a is mainly a control information transmission side, and the communication function unit 16a is a control information reception side.

送信側の計算資源割当把握機能部16bは、計算資源管理機能部17にアクセスして、計算資源管理機能部17が把握・運用しているCPU、メモリ、バス等の計算資源が、各内側TCPセッション(従ってリンク)にどれだけ割当てられているかの情報を得、最適切替指示機能部16dに与えるものである。受信側の計算資源割当把握機能部26bも同様に、計算資源管理機能部27にアクセスして、計算資源の割当て状態の情報を獲得し、受信側及び送信側の通信機能部26a及び16aを介し、さらに、送信側の計算資源割当把握機能部16bを経由して最適切替指示機能部16dに与える。従来のMPTCP適用システム3の課題の項で説明したように、TCPのサブフローの性能は送信側と受信側の両方の計算資源に依存する。従って、両方の計算資源で計測する必要がある。   The computing resource allocation grasping function unit 16b on the transmission side accesses the computing resource management function unit 17, and the computing resources such as the CPU, memory, bus, etc. grasped and operated by the computing resource management function unit 17 are connected to each inner TCP. Information on how much the session (and hence the link) is allocated is obtained and given to the optimum switching instruction function unit 16d. Similarly, the computing resource allocation grasping function unit 26b on the receiving side accesses the computing resource management function unit 27 to acquire information on the allocation state of computing resources, and receives the communication function units 26a and 16a on the receiving side and the transmitting side. Further, it is given to the optimum switching instruction function unit 16d via the calculation resource allocation grasping function unit 16b on the transmission side. As described in the section of the problem of the conventional MPTCP application system 3, the performance of the TCP subflow depends on the calculation resources on both the transmission side and the reception side. Therefore, it is necessary to measure with both computational resources.

送信側及び受信側のリンク特性把握機能部16c及び26cは、連携して、各リンクLK1〜LK5の物理帯域、省電力制御(トラヒックが少ないときに速度を落とす制御)の有無、省電力制御分を含めた可用帯域、伝搬遅延時間、パケット廃棄率を計測する(一部の項目は予測値であっても良い)。また、リンク特性把握機能部16c及び26cは、内側TCPセッションに係る送信側、受信側のリンク別キュー12−1〜12−5、21−1〜21−5の大きさ、ウィンドウサイズの大きさ、内側TCPセッションのフェーズ情報を獲得する。リンク特性把握機能部16c及び26cは、獲得した情報を最適切替指示機能部16dに与えられる。なお、計測で使用する制御情報や計測結果の情報は、適宜、通信機能部16a、26aを介して転送される。   The link characteristics grasping function units 16c and 26c on the transmission side and the reception side cooperate to provide physical bandwidth of each link LK1 to LK5, presence / absence of power saving control (control to reduce the speed when there is little traffic), power saving control The usable bandwidth including the packet, the propagation delay time, and the packet discard rate are measured (some items may be predicted values). In addition, the link characteristic grasping function units 16c and 26c are the sizes of the transmission-side and reception-side queues 12-1 to 12-5 and 21-1 to 21-5 on the inner TCP session, and the window size. Obtain phase information of the inner TCP session. The link characteristic grasping function units 16c and 26c give the acquired information to the optimum switching instruction function unit 16d. Note that control information and measurement result information used for measurement are appropriately transferred via the communication function units 16a and 26a.

最適切替指示機能部16dは、計算資源の割当状態とリンクの特性とを基に、スイッチ機能部11がパケットを転送する内側TCPセッション(サブフロー)を決定したり、決定された各内側TCPセッションに振り分けたりする方法を定めて、スイッチ機能部11に指示するものである。この実施形態のスイッチ機能部11は、パケットを、指示された方法に応じて適切な内側TCPセッション(サブフロー)の内側送信用TCP機能部13−1〜13−5に与えるものである(なお、適宜、キューイングされる)。   The optimum switching instruction function unit 16d determines an inner TCP session (subflow) to which the switch function unit 11 transfers a packet, based on the allocation state of the calculation resources and the link characteristics, and determines each inner TCP session determined. A method of sorting is determined and an instruction is given to the switch function unit 11. The switch function unit 11 of this embodiment gives a packet to the inner transmission TCP function units 13-1 to 13-5 of an appropriate inner TCP session (subflow) according to the instructed method (note that Queued accordingly).

(A−2)実施形態の動作
次に、以上のような構成を有する実施形態のMPTCP適用システム3Aの動作を説明する。実施形態のMPTCP適用システム3Aは、従来システムに比較して、MPTCP最適化機能部16及び26が連携して行う動作が追加されている点が大きく異なるので、以下では、MPTCP最適化機能部16及び26が連携して行う動作を説明する。
(A-2) Operation of Embodiment Next, the operation of the MPTCP application system 3A of the embodiment having the above configuration will be described. The MPTCP application system 3A according to the embodiment is significantly different from the conventional system in that operations performed in cooperation with the MPTCP optimization function units 16 and 26 are added. The operations performed in cooperation with each other will be described.

図3は、MPTCP最適化機能部50(符号50は16及び又は26)が行う動作を示すフローチャートである。図3に示す動作(ステップS100、S200、S300)は、例えば、所定時間の間隔で繰り返し実行される(なお、後述するように所定時間を可変とするようにしても良い)。   FIG. 3 is a flowchart showing an operation performed by the MPTCP optimization function unit 50 (reference numeral 50 is 16 and / or 26). The operations shown in FIG. 3 (steps S100, S200, and S300) are repeatedly executed at predetermined time intervals, for example (the predetermined time may be variable as described later).

MPTCP最適化機能部50は、大きくは、現在又はこれから行われる複数の内側TCPセッション(サブフロー)の通信(MPTCP通信)に係る情報を取得し(ステップS100)、取得した情報に基づいて、スイッチ機能部11による切替方法候補毎に品質を推定して最適な切替方法を決定し(ステップS200)、決定された最適な切替方法に従ってスイッチ機能部11が動作するように制御する(ステップS300)、ことを行う。   The MPTCP optimization function unit 50 acquires information related to communication (MPTCP communication) of a plurality of inner TCP sessions (subflows) currently or in the future (step S100), and based on the acquired information, the switch function Quality is estimated for each switching method candidate by the unit 11 to determine an optimal switching method (step S200), and control is performed so that the switch function unit 11 operates according to the determined optimal switching method (step S300). I do.

MPTCP通信に必要な情報を取得する動作は、計算資源の割当状況を把握する動作(ステップS101)と、各内側TCPセッションに対応するリンクの特性を把握する動作(ステップS102)と、アプリソフトが要求する品質情報を取得する動作(ステップS103)とを有する。   The operation for acquiring information necessary for MPTCP communication includes an operation for grasping the allocation status of computing resources (step S101), an operation for grasping characteristics of a link corresponding to each inner TCP session (step S102), and application software. An operation (step S103) of obtaining the requested quality information.

ステップS101においては、計算資源割当把握機能部16b及び26bがそれぞれ、計算資源管理機能部17、27にアクセスして、計算資源管理機能部17、27が把握・運用している計算資源が、各内側TCPセッション(従ってリンク)にどれだけ割当てられているかの情報を得、最適切替指示機能部16dに与える。   In step S101, the computing resource allocation grasping function units 16b and 26b access the computing resource management function units 17 and 27, respectively, and the computing resources managed and operated by the computing resource management function units 17 and 27 are Information about how much is allocated to the inner TCP session (and therefore the link) is obtained and provided to the optimum switching instruction function unit 16d.

ステップS102においては、送信側及び受信側のリンク特性把握機能部16c及び26cが連携して、各リンクLK1〜LK5の物理帯域、省電力制御の有無、省電力制御分を含めた可用帯域、伝搬遅延時間、パケット廃棄率を計測すると共に、リンク特性把握機能部16c及び26cはそれぞれ、内側TCPセッションに係るリンク別キュー12−1〜12−5、21−1〜21−5の大きさ、ウィンドウサイズの大きさ、内側TCPセッションのフェーズ情報を獲得して、最適切替指示機能部16dに与える。   In step S102, the link characteristics grasping function units 16c and 26c on the transmission side and the reception side cooperate to link the physical band of each link LK1 to LK5, presence / absence of power saving control, usable band including power saving control, propagation In addition to measuring the delay time and the packet discard rate, the link characteristic grasping function units 16c and 26c are respectively linked to the link-specific queues 12-1 to 12-5 and 21-1 to 21-5 related to the inner TCP session. The size and the phase information of the inner TCP session are acquired and provided to the optimum switching instruction function unit 16d.

ステップS103においては、最適切替指示機能部16dが、アプリソフト15が要求する品質情報をアプリソフト15から直接取得するか、若しくは、外側送信用TCP機能部10を介して取得する。例えば、アプリソフト15に要求する品質情報を記述しておき、最適切替指示機能部16dが、その記述内容を取込む。アプリソフト15は、例えば、リンクの速度と課金(料金制)をパラメータとして品質情報(要求条件)を記述する。(例1)少しでも遅延時間が短ければ、トラヒックに応じて課金される従量課金リンクであっても優先的に使用する、(例2)サービス品質を満たす範囲で定額課金のリンクを優先適用し、品質を満たすためにやむを得ない場合に限り従量課金リンクを用いる、(例3)遅延時間やパケット損失率に拘らず定額課金のリンクだけを用いる、などで品質を要求する。アプリソフト15が要求する品質情報に、後述する振分けポリシを規定する情報をも盛り込んでおくようにしても良い。若しくは、リンク種類によって適用できる振分けポリシを1又は複数種類に制限することにより、品質情報として、適用するリンクの種類が定まったときに、適用可能な1又は複数種類の振分けポリシが定まるようにしても良い(例えば、最適切替指示機能部16dが要求品質情報から振分けポリシを得るための情報を内蔵する)。   In step S103, the optimum switching instruction function unit 16d acquires the quality information requested by the application software 15 directly from the application software 15 or via the outer transmission TCP function unit 10. For example, the quality information required for the application software 15 is described, and the optimum switching instruction function unit 16d captures the description content. The application software 15 describes quality information (requirement conditions) using, for example, the link speed and billing (fee system) as parameters. (Example 1) If the delay time is as short as possible, the pay-per-use link is preferentially used even if it is charged according to the traffic. (Example 2) The flat-rate charging link is preferentially applied within the range satisfying the service quality. The quality is requested by using a pay-per-use link only when it is unavoidable to satisfy the quality, (Example 3) using only a flat-rate link regardless of the delay time and the packet loss rate, etc. Information for specifying a distribution policy, which will be described later, may be included in the quality information requested by the application software 15. Alternatively, by limiting the distribution policy that can be applied to one or more types depending on the link type, when the type of link to be applied is determined as quality information, one or more types of distribution policies that can be applied are determined. (For example, the optimum switching instruction function unit 16d incorporates information for obtaining a distribution policy from the required quality information).

取得した情報に基づいて、スイッチ機能部11による切替方法候補毎に品質を推定して最適な切替方法を決定する動作は、切替方法候補毎の品質の推定動作(ステップS201)と、最適な切替方法を決定する動作(ステップS202)とに分かれる。なお、上記の説明では、リンクの利用料金をリンクを選択する際のコスト条件に用いたが、「(ライバル関係にある)A社のリンクをできるだけ使用しない」等、別のポリシを評価用のコストとして用いても構わない。   Based on the acquired information, the operation of estimating the quality for each switching method candidate by the switch function unit 11 and determining the optimum switching method includes the quality estimation operation for each switching method candidate (step S201) and the optimal switching. This is divided into an operation for determining a method (step S202). In the above explanation, the link usage fee was used as the cost condition when selecting the link. However, another policy such as “(use rival company A's link as much as possible)” is used for evaluation. You may use as cost.

ステップS201においては、最適切替指示機能部16dが、ステップS100で取得した情報に基づき、全M本(図2の場合は5本)のリンクのうちのN本(Nは1〜M)を用いて、各リンクの通信に必要な計算資源を分配し、各候補の振分けポリシでパケットを各リンクに振り分けて転送した際のリンク毎の通信品質を推定する。計算資源の分配は、例えば、各リンクへの送信帯域(若しくは各リンクの可用帯域)に応じて行う。   In step S201, the optimum switching instruction function unit 16d uses N (N is 1 to M) of all M links (5 in the case of FIG. 2) based on the information acquired in step S100. Thus, the computing resources necessary for communication of each link are distributed, and the communication quality for each link when the packet is distributed to each link and transferred by each candidate distribution policy is estimated. The calculation resource is distributed according to, for example, a transmission band for each link (or an available band for each link).

このステップS201の処理においては、M本からN本(Nは1〜M)を選択する全ての組み合わせについて、通信品質を推定するようにしても良い。   In the process of step S201, the communication quality may be estimated for all combinations of selecting M to N (N is 1 to M).

但し、以下のような他のN本の定め方を適用しても良い。N本のリンクは、例えば、アプリソフト15の要求に関係なく、その時点で適用可能な全てのリンクであっても良い。また、N本のリンクの絞り込みを、アプリソフト15が要求する品質情報に応じて行うようにしても良い(例えば、定額課金のリンクだけを用いる要求であれば、N本のリンクは、定額課金のリンクだけとする)。   However, the following other N determination methods may be applied. For example, the N links may be all links applicable at that time regardless of the request of the application software 15. Further, the N links may be narrowed down according to the quality information requested by the application software 15 (for example, if the request uses only a flat-rate charge link, the N links are fixed-rate charge). Only links).

リンク毎の通信品質は、例えば、使用帯域であったり、転送時間であったり、他のパラメータであったり、複数のパラメータの重み付け平均などであったりする。また、通信品質は、例えば、所定数のパケットを振り分けたと仮定した場合の平均的な値として算出する。   The communication quality for each link is, for example, a used band, a transfer time, another parameter, or a weighted average of a plurality of parameters. Further, the communication quality is calculated as an average value when it is assumed that a predetermined number of packets are distributed, for example.

振分けポリシとして、以下に例示するような複数の候補を用意しておくことを想定しているが、振分けポリシが1つだけであっても良い。   As a distribution policy, it is assumed that a plurality of candidates as exemplified below are prepared, but there may be only one distribution policy.

第1候補の振分けポリシ(以下、振分けポリシAと呼ぶ)は、振分け時点で予想される転送時間が最小(若しくは所定の閾値以下)のリンクへパケットを振り分けるというポリシである。例えば、スイッチ機能部11が転送時間の算出機能を持たない場合であれば、パケットを振分ける際に、その都度、最適切替指示機能部16dから最小転送時間のリンクの情報を得るようにすれば良い。   The first candidate distribution policy (hereinafter referred to as distribution policy A) is a policy in which packets are distributed to a link having a minimum transfer time (or less than a predetermined threshold) expected at the time of distribution. For example, if the switch function unit 11 does not have a transfer time calculation function, each time a packet is distributed, the link information of the minimum transfer time can be obtained from the optimum switching instruction function unit 16d. good.

第2候補の振分けポリシ(以下、振分けポリシBと呼ぶ)は、各リンクで転送可能と推定される可用帯域の大きさに応じて、各リンクへの入力間隔が一定となるように各リンクにパケットを振り分けるというポリシである。例えば、リンクLK1〜LK5を使用する場合において可用帯域の比率が概ね2:1:1:1:1のとき、LK1−LK1−LK2−LK3−LK4−LK5のように振り分けるのではなく、LK1−LK2−LK3−LK1−LK4−LK5のように振り分けることによりリンクLK1についても入力間隔を一定にする。なお、振分けポリシBは、上述のように、他のリンクよりパケット転送が多くなるリンクがあり、順序逆転のよるパケットロスの誤判定の恐れがある。このような誤判定をさけるために、振分けポリシBが選択された場合には、同一番号のAck信号の到来によるパケットロスと判定する基準を緩める(パケットロスと判定する到来回数を多くする)ことが好ましい。また、振分けポリシBは、リンクの状態の変化の検出タイミングが振分けポリシAより遅くなる懸念がある。例えば、ステップS300の処理が終了し、次のステップS100を開始するまでの待ち時間を、振分けポリシBが選択された場合には、振分けポリシAや後述する振分けポリシCが選択された場合より短くするようにしても良い。   The distribution policy of the second candidate (hereinafter referred to as distribution policy B) is assigned to each link so that the input interval to each link is constant according to the size of the available bandwidth estimated to be transferable on each link. The policy is to distribute packets. For example, in the case where the links LK1 to LK5 are used and the ratio of the available bandwidth is approximately 2: 1: 1: 1: 1, LK1- By allocating as LK2-LK3-LK1-LK4-LK5, the input interval is also made constant for the link LK1. Note that, as described above, the distribution policy B includes a link in which packet transfer is larger than other links, and there is a risk of erroneous determination of packet loss due to order reversal. To avoid such misjudgment, if distribution policy B is selected, relax the criteria for determining packet loss due to arrival of the same number of Ack signals (increase the number of arrivals determined to be packet loss). Is preferred. In addition, the distribution policy B has a concern that the detection timing of the change in the link state is later than the distribution policy A. For example, when the distribution policy B is selected, the waiting time until the process of step S300 ends and the next step S100 is started is shorter than when the distribution policy A or a distribution policy C described later is selected. You may make it do.

第3候補の振分けポリシ(以下、振分けポリシCと呼ぶ)は、単純なラウンドロビン方式に従ってパケットを振り分けるというポリシである。   The third candidate distribution policy (hereinafter referred to as distribution policy C) is a policy of distributing packets in accordance with a simple round robin method.

振分けポリシAの予想される転送時間やリンク別の通信品質として算出される遅延時間(以下、リンク別転送時間と呼ぶ)は、リンクの伝搬遅延時間と、送信側及び受信側のリンク別キューを通過するのに要するキュー遅延時間と、内側TCPセッションのTCP処理遅延時間とを合算した時間である。この実施形態の場合、リンク別転送時間を算出する際には、以下のような処理等が施される。   The estimated transfer time of the distribution policy A and the delay time calculated as the communication quality for each link (hereinafter referred to as the link-specific transfer time) are the propagation delay time of the link and the link-specific queues on the transmission side and the reception side. This is the total time of the queue delay time required to pass through and the TCP processing delay time of the inner TCP session. In the case of this embodiment, when calculating the link-specific transfer time, the following processing is performed.

最適切替指示機能部16dは、TCP処理遅延時間を算出する際には、TCPのフェーズ情報まで含めた遅延時間とする。また、省電力リンクが存在した場合には、省電力制御がないと仮定し、計算資源が各リンクに所定のルールで割り当てられた場合を条件としてリンク別転送時間を求める。例えば、計算資源の各リンクの割当量を考慮しないTCP処理遅延時間を、計算資源の各リンクの割当量に応じた比率(例えば、変換テーブルを適用して取出す)だけ長期化することで、計算資源の各リンクの割当量を反映させるようにしても良い。最適切替指示機能部16dは、省電力リンクがあった場合、そのリンクの可用帯域は、現時点で使用可能な可用帯域ではなく、省電力操作されずに使用可能な場合のリンクの容量から、現時点での使用帯域を除いた帯域とする。キュー遅延時間の算出はリンクに送り出せる単位時間当たりの帯域が影響するので、省電力リンクの可用帯域の把握方法の変更が影響する。   When calculating the TCP processing delay time, the optimum switching instruction function unit 16d uses the delay time including the TCP phase information. Further, when there is a power saving link, it is assumed that there is no power saving control, and the transfer time for each link is obtained on the condition that calculation resources are allocated to each link according to a predetermined rule. For example, calculation is performed by prolonging the TCP processing delay time that does not consider the allocation amount of each link of calculation resources by a ratio (for example, extracted by applying a conversion table) according to the allocation amount of each link of calculation resources. You may make it reflect the allocation amount of each link of a resource. When there is a power saving link, the optimum switching instruction function unit 16d determines that the available bandwidth of the link is not an available bandwidth that can be used at the present time, but from the capacity of the link that can be used without a power saving operation. The bandwidth is excluded from the bandwidth used in. Since the calculation of the queue delay time is affected by the bandwidth per unit time that can be sent to the link, the change in the method for determining the available bandwidth of the power saving link has an effect.

振分けポリシBが利用するリンクの可用帯域や、リンク別の通信品質として算出される帯域(以下、リンク別帯域と呼ぶ)を、例えば、以下のように算出する。なお、以下では、TCP−renoの場合の算出例を示しているが、他のTCPバージョンの場合には、そのバージョンに合わせた算出式を適用すれば良い。   For example, the available bandwidth of the link used by the distribution policy B and the bandwidth calculated as the communication quality for each link (hereinafter referred to as the link-specific bandwidth) are calculated as follows, for example. In the following, a calculation example in the case of TCP-reno is shown, but in the case of other TCP versions, a calculation formula corresponding to the version may be applied.

ある短い時間での通信速度(帯域)は、(1)式で求められ、時刻Ta〜Tbにおける通信速度は、(2)式で求められる。

Figure 2015050746
The communication speed (bandwidth) at a short time is obtained by equation (1), and the communication speed at times Ta to Tb is obtained by equation (2).
Figure 2015050746

ここで、TCPセッションがスロースタートフェーズの場合、(2)式に適用されている時刻TkのウィンドウサイズWs(m)は、初期のウィンドウサイズをW0、T0〜Tk間のAck信号の受信回数をmとすると、(3)式に従う。なお、(3)式における2^mは2のm乗を表している。   Here, when the TCP session is in the slow start phase, the window size Ws (m) at the time Tk applied to the expression (2) is the initial window size W0, and the number of times of receiving the Ack signal between T0 and Tk. When m, it follows Formula (3). In the equation (3), 2 ^ m represents 2 to the power of m.

Ws(m)=W0×2^m …(3)
TCPセッションが輻輳回避フェーズの場合、(2)式に適用されている時刻TkのウィンドウサイズWc(n)は、輻輳回避フェーズに入った直後のウィンドウサイズをWc0、輻輳回避フェーズに入った後のAck信号の受信回数をnとして、パケットの廃棄がなかった場合には、(4)式に従う。
Ws (m) = W0 × 2 ^ m (3)
When the TCP session is in the congestion avoidance phase, the window size Wc (n) at the time Tk applied to the expression (2) is the window size immediately after entering the congestion avoidance phase as Wc0, and after entering the congestion avoidance phase. When the number of times of receiving the Ack signal is n and the packet is not discarded, the equation (4) is followed.

Wc(n)=Wc0+W0×n …(4)
スロースタートフェーズの場合において、パケット廃棄が生じたときや、重複したAck信号が検出されたときに、輻輳回避フェーズに移行する。輻輳回避フェーズの場合、廃棄による重複Ack信号が検出された際にAck信号に挿入されていたパケット番号をpとすると、p+1番目のパケットを送出する際のリンクのウィンドウサイズWc(p+1)は、(5)式で表される。
Wc (n) = Wc0 + W0 × n (4)
In the case of the slow start phase, when packet discard occurs or when a duplicate Ack signal is detected, the process proceeds to the congestion avoidance phase. In the congestion avoidance phase, if the packet number inserted in the Ack signal when the duplicate Ack signal due to discard is detected is p, the window size Wc (p + 1) of the link when sending the p + 1th packet is It is represented by the formula (5).

Wc(p+1)=Wc(p)×(1/2) …(5)
最適切替指示機能部16dは、可用帯域に応じて計算資源を割当てて通信品質を算出するようにしても良い。また、可用帯域に余裕があれば、その範囲でウィンドウサイズを拡大して処理するようにしても良い。省電力リンクがある場合、可用帯域ぎりぎりまでウィンドウサイズを拡大して処理するようにしても良い。
Wc (p + 1) = Wc (p) × (1/2) (5)
The optimum switching instruction function unit 16d may allocate communication resources according to the available bandwidth and calculate the communication quality. Further, if there is a margin in the usable bandwidth, the window size may be enlarged within the range to process. When there is a power saving link, the window size may be enlarged to the limit of the available bandwidth.

ステップS202においては、最適切替指示機能部16dが、アプリソフト15が要求する品質情報を満たすリンクと振分けポリシの組合せを求め、その中で、小さい方が良いことを表す評価値であるコストが最小の組合せを、適用するリンクと振分けポリシの組合せに決定する。   In step S202, the optimum switching instruction function unit 16d obtains a combination of a link and a distribution policy that satisfies the quality information required by the application software 15, and among them, the cost, which is an evaluation value indicating that the smaller one is better, is the smallest. Is determined as a combination of a link to be applied and a distribution policy.

ここで、コストは、N本のリンクについてのコストの総和である。1本1本のリンクのコストは、リンクの利用料金と、ステップS201で求めたリンクの通信品質との重み付け加算値である。重みは、利用料金と通信品質の次元を揃える機能だけでなく、利用料金と通信品質のどちらにウェイトを置くかを規定するものとなっている。ここで、利用料金に対する重みと通信品質に対する重みは固定であっても良いが、アプリソフト15の要求品質情報若しくはアプリソフト15の種類(電話通信、コンテンツ配信等)に応じて切り替えるようにすることが好ましい。例えば、要求品質情報若しくはアプリソフト15の種類をキーとして重みを取り出すことができる変換テーブルを適用して重みを切り替える。利用料金を重視するアプリソフト15の場合には、利用料金に対する重みを通信品質に対する重みより小さくして利用料金が低コスト(高い評価)に寄与するようにし、通信品質(例えば、通信速度)を重視するアプリソフト15の場合には、通信品質に対する重みを利用料金に対する重みより小さくして通信品質が低コスト(高い評価)に寄与するようにする。   Here, the cost is the sum of the costs for the N links. The cost of each link is a weighted addition value between the link usage fee and the link communication quality obtained in step S201. The weight defines not only the function of aligning the dimensions of the usage fee and the communication quality, but also whether the weight is placed on the usage fee or the communication quality. Here, the weight for the usage fee and the weight for the communication quality may be fixed, but they are switched according to the required quality information of the application software 15 or the type of the application software 15 (telephone communication, content distribution, etc.). Is preferred. For example, the weight is switched by applying a conversion table that can extract the weight using the required quality information or the type of application software 15 as a key. In the case of the application software 15 that places importance on the usage fee, the weight for the usage fee is made smaller than the weight for the communication quality so that the usage fee contributes to low cost (high evaluation), and the communication quality (for example, communication speed) is reduced. In the case of the application software 15 to be emphasized, the weight for the communication quality is made smaller than the weight for the usage fee so that the communication quality contributes to low cost (high evaluation).

ステップS300においては、最適切替指示機能部16dは、ステップS202で決定されたN本のリンクに対して決定された振分けポリシでパケットを転送するようにスイッチ機能部11に指示する。これにより、スイッチ機能部11は、指示された振分けポリシに従って、指示されたN本のリンク(直接にはリンク別キュー)に対してパケットを転送する。   In step S300, the optimum switching instruction function unit 16d instructs the switch function unit 11 to transfer the packet with the distribution policy determined for the N links determined in step S202. As a result, the switch function unit 11 transfers the packet to the instructed N links (directly queues for each link) according to the instructed distribution policy.

(A−3)実施形態の効果
上記実施形態によれば、従来の課題を解決したMPTCP適用システムを実現することができる。
(A-3) Effect of Embodiment According to the above-described embodiment, an MPTCP application system that solves the conventional problems can be realized.

第1に、計算資源が各内側TCPセッションにどれだけ割当てられているかの情報を得てリンクの選択に反映させるようにしたので、計算資源の不適切な分配により、リンクの選択が適切でなくなるようなことを回避することができる。   First, since information on how much computing resources are allocated to each inner TCP session is obtained and reflected in link selection, link selection becomes inappropriate due to inappropriate distribution of computing resources. This can be avoided.

第2に、省電力リンクの有無を確認し、省電力リンクについては、可用帯域を調整してリンクの選択に反映させるようにしたので、省電力リンクに対してもパケットを適切に転送でき、全体のリンクの適用をバランス良く行うことができる。   Secondly, the presence or absence of the power saving link is confirmed, and for the power saving link, the available bandwidth is adjusted and reflected in the selection of the link, so that the packet can be appropriately transferred to the power saving link, The entire link can be applied in a balanced manner.

第3に、リンクの通信品質を、単に、リンクの伝搬遅延時間で評価するのではなく、可用帯域やキューの待ち時間やTCPの処理時間などをも考慮して評価するようにしたので、伝搬遅延時間が大きいというだけでリンクの適用率が低下することはなく、全体のリンクをバランス良く適用することができる。   Third, link communication quality is not evaluated simply by link propagation delay time, but is also evaluated taking into account available bandwidth, queue waiting time, TCP processing time, etc. Just because the delay time is large, the link application rate does not decrease, and the entire link can be applied in a balanced manner.

第4に、アプリソフトの要求品質を把握してリンクの選択に反映させるようにしたので、アプリソフトの要求品質を満たすようにリンクを選択することができる。   Fourth, since the required quality of the application software is grasped and reflected in the selection of the link, the link can be selected so as to satisfy the required quality of the application software.

(B)他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
(B) Other Embodiments In the description of the above-described embodiment, various modified embodiments have been referred to. However, modified embodiments as exemplified below can be cited.

上記実施形態では、計算資源を、リンクへの送信帯域(やリンクの可用帯域)に応じて、各リンクに係る内側TCPセッション(のプロセス)に分配し、リンクの選択に反映させるものを示したが、計算資源を、各リンクに係る内側TCPセッション(のプロセス)に固定的に分配するようにしても良い。例えば、パケット送信装置1Aやパケット受信装置2Aを搭載した情報処理装置のOSが省電力制御を行うものである場合においては、上述のような固定的な計算資源の分配によれば、省電力制御に伴う分配の不都合を回避することができる。   In the above-described embodiment, the calculation resource is distributed to the inner TCP session (process) of each link according to the transmission bandwidth to the link (or the usable bandwidth of the link), and reflected in the selection of the link. However, the computing resource may be fixedly distributed to (in the process of) the inner TCP session related to each link. For example, in the case where the OS of the information processing apparatus equipped with the packet transmission device 1A or the packet reception device 2A performs the power saving control, the power saving control is performed according to the fixed distribution of the calculation resources as described above. The inconvenience of distribution associated with can be avoided.

上記実施形態では、振分けポリシが3種類の場合を示したが、いずれか一つの振分けポリシだけを適用し、振分けポリシの選択をできないように、MPTCP適用システムを構築しても良い。例えば、振分けポリシAを唯一の振分けポリシとして採用した場合には、上述した伝搬遅延時間差が原因の不都合(第3の課題)を回避することができる。また例えば、振分けポリシBを唯一の振分けポリシとして採用した場合には、上述した省電力リンクの存在が原因の不都合(第2の課題)を回避することができる。   In the above-described embodiment, there are three types of distribution policies. However, it is also possible to construct an MPTCP application system so that only one distribution policy is applied and the distribution policy cannot be selected. For example, when the distribution policy A is adopted as the only distribution policy, the above-described inconvenience (third problem) due to the propagation delay time difference can be avoided. Further, for example, when the distribution policy B is adopted as the only distribution policy, the above-described inconvenience (second problem) due to the existence of the power saving link can be avoided.

また、上述した振分けポリシ以外の振分けポリシを導入するようにしても良い。例えば、計算資源が、各リンクへの転送処理に必要な量以上に分配されることを保証した上で、各リンクのパケットの振分けを決定する振分けポリシを導入するようにしても良い。例えば、振分けポリシBと併用する場合において、各リンクの可用帯域から、各リンクへのパケット数の割合を決定したとき、計算資源についての上記条件を満足するかを確認し、満足しないリンクを使用しないことに変更するようにしても良い。   In addition, a distribution policy other than the distribution policy described above may be introduced. For example, a distribution policy that determines the distribution of packets on each link may be introduced after ensuring that the computational resources are distributed in an amount greater than that required for the transfer process to each link. For example, in the case of using together with the distribution policy B, when the ratio of the number of packets to each link is determined from the available bandwidth of each link, it is confirmed whether or not the above-mentioned condition for the calculation resource is satisfied, and the link that does not satisfy the use You may make it change to not doing.

上記実施形態では、複数種類のアプリソフトに対応する汎用的な装置に実施形態のパケット送信装置、パケット受信装置が搭載されているものを示したが、実施形態のパケット送信装置及びパケット受信装置が専用装置に搭載されたものであっても良い。例えば、コンテンツ配信装置に実施形態のパケット送信装置が搭載されていても良い。このような場合には、パケットの供給元としてのアプリソフトという概念はなく、MPTCP通信に対する要求品質も1種類と見ることができる。例えば、このような場合であれば、リンクコストにおける利用料金と通信品質の重みを固定にするようにしても良い。すなわち、用途が1種類に限定されていたり、搭載されているアプリソフトが1種類であったりする場合には、利用料金か通信品質かの一方だけに重みを付与した固定の重みを適用するようにしても良い。   In the above-described embodiment, the general-purpose device corresponding to a plurality of types of application software is shown in which the packet transmission device and the packet reception device of the embodiment are mounted. However, the packet transmission device and the packet reception device of the embodiment are It may be mounted on a dedicated device. For example, the packet transmission device according to the embodiment may be mounted on the content distribution device. In such a case, there is no concept of application software as a packet supply source, and the required quality for MPTCP communication can be regarded as one type. For example, in such a case, the usage charge and communication quality weight in the link cost may be fixed. In other words, when the usage is limited to one type or the installed application software is one type, a fixed weight with a weight applied to only one of the usage fee or communication quality is applied. Anyway.

上記実施形態では、パケット送信装置及びパケット受信装置の計算資源の状況をリンクの選択に反映させるものを示したが、パケット送信装置の計算資源の状況だけをリンクの選択に反映させるようにしても良い。   In the above embodiment, the calculation resource state of the packet transmission device and the packet reception device is reflected in the link selection. However, only the calculation resource state of the packet transmission device may be reflected in the link selection. good.

計算資源が多く割当てられる制御や省電力リンクの制御がなされる場合において、それら制御を安定化させる帯域が拡大されるまでは、上記実施形態による、計算資源や省電力リンクを意図したリンク選択で送信したパケットが破棄される恐れがある。このような恐れを回避するために、上記制御が適用されるリンクを使用するサブフローの内側TCPセッションに対して、ダミーパケットを転送させて、リンクに負荷を与え、十分にパケットを転送できる状態になった後、ダミーパケットに代えて、通常のトラヒックパケットを送信させるようにしても良い。または、ダミーパケットを通常のトラヒックパケットに混在させて送信し、十分にパケットを転送できる状態になった後、ダミーパケットの混在を止めるようにしても良い。   When control that allocates a large amount of computing resources or control of power-saving links is performed, until the bandwidth that stabilizes the control is expanded, the link selection intended for computing resources and power-saving links can be performed according to the above embodiment. The transmitted packet may be discarded. In order to avoid such fear, dummy packets are transferred to the inner TCP session of the subflow that uses the link to which the above control is applied, and a load is applied to the link so that the packet can be transferred sufficiently. After that, a normal traffic packet may be transmitted instead of the dummy packet. Alternatively, the dummy packet may be mixed with the normal traffic packet and transmitted, and after the packet can be sufficiently transferred, the mixing of the dummy packet may be stopped.

上記実施形態では、パケット転送に供するリンク自体をも選択するものを示したが、パケット転送に供する複数のリンクが固定的に定まっているものであっても良い。また、アプリソフトの種類によって、パケット転送に供する複数のリンクを固定的に定めるようにしても良い。   In the above-described embodiment, the link itself used for packet transfer is also selected. However, a plurality of links used for packet transfer may be fixedly determined. Further, a plurality of links used for packet transfer may be fixedly determined depending on the type of application software.

上記実施形態のステップ201では通信品質を求め、スループットを最大化することを制御の目標にした動作を示したが、通信品質に代えて、消費電力を最小化する制御を行うことを目標とするようにしても良い。例えば、最も消費電力が少なくなるサブフローのリンクを使用し、消費電力が大きなリンクを使用しないようにすれば良い。若しくは、消費電力が大きくなるリンクへのパケットの送出するのを抑えるようにすれば良い。   In step 201 of the above embodiment, the communication quality is obtained and the operation whose control target is to maximize the throughput is shown. However, instead of the communication quality, the control is performed to minimize the power consumption. You may do it. For example, a subflow link that consumes the least power may be used, and a link that consumes a large amount of power may not be used. Alternatively, it is only necessary to suppress the transmission of a packet to a link that increases power consumption.

上記実施形態では、本発明をMPTCP適用システムに適用した場合を示したが、本発明の適用対象はこれに限定されない。要は、複数のリンクを介して、パケット送信装置及びパケット受信装置間でパケットを転送するシステムであれば、本発明を適用することができる。   In the above embodiment, the case where the present invention is applied to the MPTCP application system has been shown, but the application target of the present invention is not limited to this. In short, the present invention can be applied to any system that transfers packets between a packet transmission device and a packet reception device via a plurality of links.

1A…パケット送信装置、2A…パケット受信装置、3A…MPTCP適用システム、
10…外側送信用TCP機能部、11…スイッチ機能部、12−1〜12−5…送信側リンク別キュー、13−1〜13−5…内側送信用TCP機能部、14−1〜14−5…送信インタフェース部、16…送信側MPTCP最適化機能部、16a…通信機能部、16b…計算資源割当把握機能部、16c…リンク特性把握機能部、16d…最適切替指示機能部、17…送信側計算資源管理機能部、
20−1〜20−5…受信インタフェース部、21−1〜21−5…受信側リンク別キュー、22−1〜22−5…内側受信用TCP機能部、23…統合キュー、24…外側受信用TCP機能部、26…受信側MPTCP最適化機能部、26a…通信機能部、26b…計算資源割当把握機能部、26c…リンク特性把握機能部、27…受信側計算資源管理機能部。
1A ... packet transmitting device, 2A ... packet receiving device, 3A ... MPTCP application system,
DESCRIPTION OF SYMBOLS 10 ... TCP function part for outer side transmission, 11 ... Switch function part, 12-1 to 12-5 ... Queue according to transmission side link, 13-1 to 13-5 ... TCP function part for inner side transmission, 14-1 to 14- DESCRIPTION OF SYMBOLS 5 ... Transmission interface part, 16 ... Transmission side MPTCP optimization function part, 16a ... Communication function part, 16b ... Computation resource allocation grasp function part, 16c ... Link characteristic grasp function part, 16d ... Optimal switching instruction | indication function part, 17 ... Transmission Computing resource management function side,
20-1 to 20-5: Reception interface section, 211-1 to 21-5: Reception side link-specific queue, 22-1 to 22-5 ... Inner reception TCP function section, 23 ... Integration queue, 24 ... Outer reception TCP function unit, 26... Receiving side MPTCP optimization function unit, 26 a... Communication function unit, 26 b... Calculation resource allocation grasping function unit, 26 c.

Claims (9)

パケット送信装置及びパケット受信装置間にパケット転送に供する複数のリンクが介在し、上記リンク毎に、パケットロス時のパケット再送に対応できるパケット通信システムにおける上記パケット送信装置が該当するパケット通信装置において、
送信しようとするパケットを、いずれかの上記リンクへ振り分けるスイッチ機能部と、
少なくとも当該パケット送信装置における計算資源が上記各リンクへの転送処理にどのように配分されているかを表す第1情報、上記各リンクの特性、状態を表す第2情報、送信しようとするパケットの送出元が転送に対して要求している内容を表す第3情報の3つの情報の少なくとも1つを獲得し、獲得した情報に基づき、上記スイッチ機能部が、入力されたパケットを振分ける方法を決定して上記スイッチ機能部に指示する転送最適化機能部と
を有することを特徴とするパケット通信装置。
In the packet communication apparatus corresponding to the packet transmission apparatus in the packet communication system capable of handling packet retransmission at the time of packet loss, a plurality of links for packet transfer are interposed between the packet transmission apparatus and the packet reception apparatus.
A switch function unit that distributes packets to be transmitted to any of the above links;
First information indicating at least how the computing resources in the packet transmission apparatus are allocated to the transfer processing to each link, second information indicating the characteristics and state of each link, and transmission of the packet to be transmitted Acquire at least one of the three pieces of information of the third information representing the content originally requested for transfer, and based on the acquired information, the switch function unit determines a method for distributing the input packet. And a transfer optimization function unit for instructing the switch function unit.
上記転送最適化機能部は、獲得した情報に基づき、パケット転送に適用する1又は複数のリンクをも定めることを特徴とする請求項1に記載のパケット通信装置。   The packet communication apparatus according to claim 1, wherein the transfer optimization function unit also determines one or more links to be applied to packet transfer based on the acquired information. 上記転送最適化機能部は、獲得した情報に基づき、上記各リンクで転送可能な可用帯域の大きさを推定し、推定された上記各リンクの可用帯域の大きさに応じて、上記各リンクへパケットの振り分ける割合を決定すると共に、上記各リンクへ入力されるパケットの間隔が一定になるように振り分けることを、上記スイッチ機能部に指示することを特徴とする請求項1又は2に記載のパケット通信装置。   Based on the acquired information, the transfer optimization function unit estimates the size of the available bandwidth that can be transferred on each link, and determines the available bandwidth of each link according to the estimated available bandwidth size. 3. The packet according to claim 1, wherein a packet distribution ratio is determined, and the switch function unit is instructed to distribute the packets so that an interval between packets input to each link is constant. Communication device. 上記転送最適化機能部は、上記第1の情報を獲得するものであり、計算資源が上記各リンクへの転送処理に必要な量以上に分配されるように、上記各リンクへパケットを振分ける方法を、上記スイッチ機能部に指示することを特徴とする請求項1又は2に記載のパケット通信装置。   The transfer optimization function unit acquires the first information, and distributes the packet to each link so that the calculation resources are distributed in an amount more than necessary for the transfer process to each link. The packet communication apparatus according to claim 1, wherein the method is instructed to the switch function unit. 上記転送最適化機能部は、獲得した上記第1及び第2の情報の少なくとも一方に基づき、上記各リンクを用いたパケット転送での通信品質を推定すると共に、獲得した上記第3の情報に基づき、送信しようとするパケットの送出元が転送に対して要求している内容がコスト重視か品質重視かを把握し、把握した要求内容に基づき、予め定まっている上記各リンクについてのコストと、推定された通信品質との重みを代えて、上記各リンクへのパケットの振分け方を定めることを特徴とする請求項1又は2に記載のパケット通信装置。   The transfer optimization function unit estimates communication quality in packet transfer using each link based on at least one of the acquired first and second information, and based on the acquired third information. Understand whether the content of the packet source that is about to be transmitted is cost-oriented or quality-oriented, and estimate the cost for each link determined in advance based on the content of the requested request The packet communication apparatus according to claim 1 or 2, wherein a packet distribution method for each link is determined by changing a weight with respect to the communication quality. 推定した通信品質が、上記各リンクで転送可能な可用帯域の大きさであることを特徴とする請求項5に記載のパケット通信装置。   6. The packet communication apparatus according to claim 5, wherein the estimated communication quality is a size of an available band that can be transferred by each link. 上記転送最適化機能部は、上記各リンクへのパケットの振分け方を規定する振分けポリシとして複数の振分けポリシを用意しておき、各振分けポリシで定まった振分け方の候補に対し、送信しようとするパケットの送出元が転送に対して要求している内容がコスト重視か品質重視かに基づいて算出した評価値を適用して、上記各リンクへのパケットの最終的な振分け方を定めることを特徴とする請求項1又は2に記載のパケット通信装置。   The transfer optimization function unit prepares a plurality of distribution policies as distribution policies that define how to distribute packets to each link, and tries to transmit to a distribution method candidate determined by each distribution policy. Applying an evaluation value calculated based on whether the content requested by the packet source for transfer is cost-oriented or quality-oriented, and determines the final distribution method of packets to each link. The packet communication device according to claim 1 or 2. 上記転送最適化機能部は、複数の振分けポリシの一つとして、獲得した上記第1の情報に基づき、計算資源が上記各リンクへの転送処理に必要な量以上に分配されるように、上記各リンクへパケットを振分けるポリシを含むことを特徴とする請求項7に記載のパケット通信装置。   The transfer optimization function unit, as one of a plurality of distribution policies, based on the acquired first information, so that the calculation resources are distributed more than necessary for the transfer process to each link. The packet communication apparatus according to claim 7, further comprising a policy for distributing packets to each link. パケット送信装置及びパケット受信装置間にパケット転送に供する複数のリンクが介在し、上記リンク毎に、パケットロス時のパケット再送に対応できるパケット通信システムにおいて、
上記パケット送信装置として、請求項1〜8のいずれかに記載のパケット通信装置を適用したことを特徴とするパケット通信装置。
In a packet communication system capable of supporting packet retransmission at the time of packet loss, a plurality of links for packet transfer are interposed between the packet transmission device and the packet reception device.
A packet communication device, wherein the packet communication device according to claim 1 is applied as the packet transmission device.
JP2013183178A 2013-09-04 2013-09-04 Packet communication apparatus and system Active JP6206009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013183178A JP6206009B2 (en) 2013-09-04 2013-09-04 Packet communication apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013183178A JP6206009B2 (en) 2013-09-04 2013-09-04 Packet communication apparatus and system

Publications (2)

Publication Number Publication Date
JP2015050746A true JP2015050746A (en) 2015-03-16
JP6206009B2 JP6206009B2 (en) 2017-10-04

Family

ID=52700376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013183178A Active JP6206009B2 (en) 2013-09-04 2013-09-04 Packet communication apparatus and system

Country Status (1)

Country Link
JP (1) JP6206009B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017073689A (en) * 2015-10-08 2017-04-13 株式会社デンソー Information processing device and information processing system
JP2018511275A (en) * 2015-04-10 2018-04-19 ドイッチェ テレコム アーゲー Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information
WO2018168701A1 (en) * 2017-03-14 2018-09-20 日本電気株式会社 Communication device, communication system, and communication method
JP2019503123A (en) * 2015-12-28 2019-01-31 アマゾン テクノロジーズ インコーポレイテッド Multipath forwarding design
WO2020170850A1 (en) * 2019-02-20 2020-08-27 日本電信電話株式会社 Network controller device, network control system, control method for controlling communication network and program
US11343198B2 (en) 2015-12-29 2022-05-24 Amazon Technologies, Inc. Reliable, out-of-order transmission of packets

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289523A (en) * 1996-04-23 1997-11-04 Nec Eng Ltd Packet switching repeating system
JP2002354009A (en) * 2001-05-30 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> Network node device, as well as packet processing method and program
JP2007060494A (en) * 2005-08-26 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> Network system, transmitting side sorting device, packet communication method and packet communication program
JP2011210105A (en) * 2010-03-30 2011-10-20 Hitachi Ltd Computer system and control method
JP2013528984A (en) * 2010-04-06 2013-07-11 クゥアルコム・インコーポレイテッド Collaborative bandwidth aggregation using multipath transport
WO2013105551A1 (en) * 2012-01-11 2013-07-18 日本電気株式会社 Computer system, controller, switch, communication method, and recording medium in which network management program has been stored
US8811329B2 (en) * 2010-07-21 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) System and method for mobility with a split home agent architecture using MPTCP

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289523A (en) * 1996-04-23 1997-11-04 Nec Eng Ltd Packet switching repeating system
JP2002354009A (en) * 2001-05-30 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> Network node device, as well as packet processing method and program
JP2007060494A (en) * 2005-08-26 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> Network system, transmitting side sorting device, packet communication method and packet communication program
JP2011210105A (en) * 2010-03-30 2011-10-20 Hitachi Ltd Computer system and control method
JP2013528984A (en) * 2010-04-06 2013-07-11 クゥアルコム・インコーポレイテッド Collaborative bandwidth aggregation using multipath transport
US8811329B2 (en) * 2010-07-21 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) System and method for mobility with a split home agent architecture using MPTCP
WO2013105551A1 (en) * 2012-01-11 2013-07-18 日本電気株式会社 Computer system, controller, switch, communication method, and recording medium in which network management program has been stored

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018511275A (en) * 2015-04-10 2018-04-19 ドイッチェ テレコム アーゲー Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information
US10673991B2 (en) 2015-04-10 2020-06-02 Deutsche Telekom Ag Method and system for the scheduling of packets in a bundling scenario based on TCP tunnels and native TCP information
JP2017073689A (en) * 2015-10-08 2017-04-13 株式会社デンソー Information processing device and information processing system
JP2019503123A (en) * 2015-12-28 2019-01-31 アマゾン テクノロジーズ インコーポレイテッド Multipath forwarding design
US10498654B2 (en) 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US11451476B2 (en) 2015-12-28 2022-09-20 Amazon Technologies, Inc. Multi-path transport design
US11343198B2 (en) 2015-12-29 2022-05-24 Amazon Technologies, Inc. Reliable, out-of-order transmission of packets
US11770344B2 (en) 2015-12-29 2023-09-26 Amazon Technologies, Inc. Reliable, out-of-order transmission of packets
WO2018168701A1 (en) * 2017-03-14 2018-09-20 日本電気株式会社 Communication device, communication system, and communication method
WO2020170850A1 (en) * 2019-02-20 2020-08-27 日本電信電話株式会社 Network controller device, network control system, control method for controlling communication network and program
JP2020136925A (en) * 2019-02-20 2020-08-31 日本電信電話株式会社 Network controller device, network control system, communication network control method, and program

Also Published As

Publication number Publication date
JP6206009B2 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
JP6206009B2 (en) Packet communication apparatus and system
US11316795B2 (en) Network flow control method and network device
JP2020502948A (en) Packet transmission system and method
KR100748187B1 (en) Node availability prediction-based grid network congestion control device and method therefor
US20170187641A1 (en) Scheduler, sender, receiver, network node and methods thereof
US11171862B2 (en) Multi-subflow network transmission method and apparatus
CN102185771B (en) Dispatching method and system for data packet of sender in MPTCP (Multipath TCP (Transmission Control Protocol))
EP2389034A1 (en) Wireless communication system for controlling qualities of experience, and gateway
EP2858325A1 (en) Multi-stream service concurrent transmission method, sub-system, system and multi-interface terminal
WO2012145841A1 (en) Hierarchical profiled scheduling and shaping
CN101895466A (en) Method for reducing influence of data packet disorder on SCTP multipath transmission
JPH0690255A (en) Method for control of congestion of data network
Nádas et al. Per packet value: A practical concept for network resource sharing
KR20120019490A (en) Method of managing a traffic load
US20150063121A1 (en) Load Balancing Among Alternative Paths
US20170195238A1 (en) Maximize Network Capacity Policy With Heavy-Tailed Traffic
CN115473855B (en) Network system and data transmission method
Gao et al. D-SRTF: Distributed shortest remaining time first scheduling for data center networks
Chaturvedi et al. An adaptive and efficient packet scheduler for multipath TCP
US20220103465A1 (en) Multi-Subflow Network Transmission Method and Apparatus
JP2003348144A (en) Packet transfer apparatus, packet transfer method, and computer program
CN115665060A (en) Multi-path transmission scheduling method and device for heterogeneous network
EP2388978B1 (en) Methods and devices for determining network link load
KR100739493B1 (en) Packet traffic management system and method for developing the quality of service for ip network
Ling et al. Blocking time-based mptcp scheduler for heterogeneous networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170821

R150 Certificate of patent or registration of utility model

Ref document number: 6206009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150