[go: up one dir, main page]

JP2014027444A - Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program - Google Patents

Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program Download PDF

Info

Publication number
JP2014027444A
JP2014027444A JP2012165484A JP2012165484A JP2014027444A JP 2014027444 A JP2014027444 A JP 2014027444A JP 2012165484 A JP2012165484 A JP 2012165484A JP 2012165484 A JP2012165484 A JP 2012165484A JP 2014027444 A JP2014027444 A JP 2014027444A
Authority
JP
Japan
Prior art keywords
buffer size
transmission
data
transmission buffer
reception
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.)
Pending
Application number
JP2012165484A
Other languages
Japanese (ja)
Inventor
Masashi Karasaki
正史 唐崎
Nobuo Takagi
伸郎 高木
Shunsuke Doi
俊介 土井
Yoshimasa Yamawaki
義将 山脇
Yuichiro Oshikawa
祐一郎 押川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012165484A priority Critical patent/JP2014027444A/en
Publication of JP2014027444A publication Critical patent/JP2014027444A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PROBLEM TO BE SOLVED: To estimate a maximum value of a transmission buffer size of a transmitter without depending on transmission processing performance of the transmitter.SOLUTION: A transmission buffer size estimation device receives a data packet transmitted from a transmitter 300 and stores the received data in a reception buffer 12; transmits an ACK response to the received data to the transmitter 300, after the received data is processed and the reception buffer 12 becomes empty; calculates a transmission buffer size for the transmitter 300 from difference between a sequence number of the received data and a confirmation response number of the ACK response; and compares the calculated transmission buffer size with a previously calculated transmission buffer size and takes the maximum value as a transmission buffer size of the transmitter 300.

Description

本発明は、データ送信装置の送信バッファサイズを推定する技術に関する。   The present invention relates to a technique for estimating a transmission buffer size of a data transmission apparatus.

インターネット等の通信ネットワーク上に配備されたコンピュータは、クライアント側からの要求に応じてデータを送信する送信装置と、その要求を行いサーバ側から返信されたデータを受信する受信装置とに大きく分類される。   Computers deployed on a communication network such as the Internet are roughly classified into a transmission device that transmits data in response to a request from the client side and a reception device that receives the data returned from the server side that makes the request. The

それら各装置は通信によってデータ転送を実現するが、データ転送時に通信速度が遅くなる事象が発生する場合がある。その事象の原因は様々であるが、その1つとして送信装置の送信バッファ容量が不足することにより、装置間のデータ転送効率が低下することが考えられる。   Each of these devices realizes data transfer by communication, but an event that the communication speed becomes slow may occur during data transfer. There are various causes of the event. One of the causes is that the transmission buffer capacity of the transmission device is insufficient, and the data transfer efficiency between the devices may be reduced.

しかし、送信バッファサイズは送信装置で独自に決定される通常未開示の値であるため、それを知るには通信先である送信装置の機器仕様や割当容量を調査する必要があることから、受信装置でその実値を取得することは困難である。   However, since the transmission buffer size is a value that is normally undisclosed that is uniquely determined by the transmission device, it is necessary to investigate the device specifications and allocated capacity of the transmission device that is the communication destination in order to know it. It is difficult to obtain the actual value with the device.

これについて特許文献1の従来技術によれば、送信装置からのデータに対して受信応答を積極的に行わないことにより、再送信されるデータに基づき送信装置の再送バッファの最大容量を推定する技術を開示している。   In this regard, according to the prior art of Patent Document 1, a technique for estimating the maximum capacity of a retransmission buffer of a transmission device based on retransmitted data by not actively performing a reception response to data from the transmission device. Is disclosed.

つまり、送信装置から送信されたデータに対してACK応答を返信しないこととし、そのデータを送信装置の再送バッファにあえて蓄積させる。その後、再送タイマーが満了すると、その再送バッファに蓄積されたデータが再送されることから、その再送数を測定することにより再送バッファサイズを推定している。   That is, an ACK response is not returned for the data transmitted from the transmission apparatus, and the data is stored in the retransmission buffer of the transmission apparatus. Thereafter, when the retransmission timer expires, the data stored in the retransmission buffer is retransmitted, and the retransmission buffer size is estimated by measuring the number of retransmissions.

特開2011−61536号公報JP 2011-61536 A

しかしながら、送信装置の送信処理において、時間の経過に伴い送信データ量を徐々に増加させるアルゴリズムが適用されている場合には、特許文献1の従来技術を利用したとしても、その送信装置の送信バッファサイズを正確に推定することはできない。   However, when an algorithm for gradually increasing the amount of transmission data with the passage of time is applied in the transmission processing of the transmission apparatus, even if the conventional technique of Patent Document 1 is used, the transmission buffer of the transmission apparatus The size cannot be estimated accurately.

すなわち、例えばスロースタートアルゴリズムによれば、送信するセグメント数が徐々に増加してその後再送タイマーが満了した場合には、通信ネットワークで輻輳が発生したと判断して送信データ量を減少させてしまうため(図6参照)、これにより再送バッファに格納されるデータ量が抑制されることから、その時点で使用している再送バッファサイズの推定は可能であるが、実際に割り当てられている又は機器仕様上の再送バッファサイズを推定することは困難である。   That is, for example, according to the slow start algorithm, if the number of segments to be transmitted gradually increases and then the retransmission timer expires, it is determined that congestion has occurred in the communication network and the amount of transmission data is reduced. (Refer to FIG. 6) Since this suppresses the amount of data stored in the retransmission buffer, it is possible to estimate the size of the retransmission buffer used at that time, but the actual allocation or device specification is possible. It is difficult to estimate the upper retransmission buffer size.

本発明は、上記のような問題点を鑑みてなされたものであり、送信装置の送信処理性能に依ることなく送信装置の送信バッファサイズの最大値を推定することを課題とする。   The present invention has been made in view of the above problems, and an object of the present invention is to estimate the maximum value of the transmission buffer size of the transmission device without depending on the transmission processing performance of the transmission device.

請求項1記載の送信バッファサイズ推定装置は、送信装置から送信されたデータパケットを受信して、その受信データを受信バッファに格納するデータ受信手段と、前記受信データが処理され前記受信バッファが空になった後に、前記受信データに対する確認応答を前記送信装置に送信するデータ送信手段と、前記受信データに関する制御データ又は前記受信バッファの使用状況に基づいて前記送信装置の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を前記送信装置の送信バッファサイズとするバッファサイズ推定手段と、を有することを特徴とする。   The transmission buffer size estimation device according to claim 1, wherein the transmission buffer size estimation device receives a data packet transmitted from the transmission device and stores the reception data in a reception buffer; and the reception data is processed and the reception buffer is empty. After that, the data transmission means for transmitting an acknowledgment for the received data to the transmitting device, and the estimated value of the transmission buffer size of the transmitting device based on the control data related to the received data or the usage status of the receiving buffer Buffer size estimation means for calculating and using the maximum value as a transmission buffer size of the transmission device in comparison with the previously calculated estimation value.

本発明によれば、送信装置から送信されたデータパケットを受信して、その受信データを受信バッファに格納し、受信データが処理され受信バッファが空になった後に、受信データに対する確認応答を送信装置に送信し、受信データに関する制御データ又は受信バッファの使用状況に基づいて送信装置の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を送信装置の送信バッファサイズとするため、送信装置から送信されるデータサイズを常に最大にさせることから、送信装置の送信処理性能に依ることなく送信装置の送信バッファサイズの最大値を推定することができる。   According to the present invention, a data packet transmitted from a transmitting apparatus is received, the received data is stored in a reception buffer, and an acknowledgment for the received data is transmitted after the received data is processed and the reception buffer becomes empty. The transmission buffer size of the transmission device is calculated based on the control data related to the received data or the usage status of the reception buffer, and compared with the previously calculated estimation value. Since the data size transmitted from the transmission device is always maximized because of the size, the maximum value of the transmission buffer size of the transmission device can be estimated without depending on the transmission processing performance of the transmission device.

請求項2記載の送信バッファサイズ推定装置は、請求項1記載の送信バッファサイズ推定装置において、前記バッファサイズ推定手段は、前記受信データのシーケンス番号と前記確認応答の確認応答番号との差から前記送信バッファサイズの推定値を計算することを特徴とする。   The transmission buffer size estimation device according to claim 2 is the transmission buffer size estimation device according to claim 1, wherein the buffer size estimation means calculates the difference between the sequence number of the reception data and the confirmation response number of the confirmation response. An estimated value of the transmission buffer size is calculated.

請求項3記載の送信バッファサイズ推定装置は、請求項1記載の送信バッファサイズ推定装置において、前記バッファサイズ推定手段は、前記受信バッファに格納された前記受信データのバッファ使用量から前記送信バッファサイズの推定値を計算することを特徴とする。   4. The transmission buffer size estimation device according to claim 3, wherein the buffer size estimation means is configured to calculate the transmission buffer size from a buffer usage amount of the reception data stored in the reception buffer. It is characterized by calculating an estimated value of.

請求項4記載の送信バッファサイズ推定装置は、請求項1乃至3のいずれかに記載の送信バッファサイズ推定装置において、前記データパケットは、前記確認応答を送信してから次の確認応答を送信するまでの間に受信した1つ以上のセグメントであることを特徴とする。   The transmission buffer size estimation device according to claim 4 is the transmission buffer size estimation device according to any one of claims 1 to 3, wherein the data packet transmits the confirmation response after transmitting the confirmation response. Or one or more segments received during the period.

請求項5記載の送信バッファサイズ推定方法は、コンピュータにより、送信装置から送信されたデータパケットを受信して、その受信データを受信バッファに格納するデータ受信ステップと、前記受信データが処理され前記受信バッファが空になった後に、前記受信データに対する確認応答を前記送信装置に送信するデータ送信ステップと、前記受信データに関する制御データ又は前記受信バッファの使用状況に基づいて前記送信装置の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を前記送信装置の送信バッファサイズとするバッファサイズ推定ステップと、を有することを特徴とする。   The transmission buffer size estimation method according to claim 5, wherein a computer receives a data packet transmitted from a transmission device and stores the received data in a reception buffer; and the reception data is processed and the reception is performed. After the buffer is emptied, a data transmission step of transmitting an acknowledgment for the received data to the transmitting device, and the transmission buffer size of the transmitting device based on the control data related to the received data or the usage status of the receiving buffer A buffer size estimating step of calculating an estimated value and comparing the estimated value with a previously calculated estimated value and setting a maximum value as a transmission buffer size of the transmitting apparatus.

請求項6記載の送信バッファサイズ推定プログラムは、請求項5記載の送信バッファサイズ推定方法をコンピュータに実行させることを特徴とする。   A transmission buffer size estimation program according to claim 6 causes a computer to execute the transmission buffer size estimation method according to claim 5.

本発明によれば、送信装置の送信処理性能に依ることなく送信装置の送信バッファサイズの最大値を推定することができる。   According to the present invention, it is possible to estimate the maximum value of the transmission buffer size of the transmission device without depending on the transmission processing performance of the transmission device.

受信装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of a receiver. 受信装置の処理フローを示す図である。It is a figure which shows the processing flow of a receiver. 図2の処理フローの参考図である。FIG. 3 is a reference diagram of the processing flow of FIG. 2. 受信装置の処理フローを示す図である。It is a figure which shows the processing flow of a receiver. 図4の処理フローの参考図である。FIG. 5 is a reference diagram of the processing flow of FIG. 4. 従来技術の説明図である。It is explanatory drawing of a prior art.

以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。   Hereinafter, an embodiment for carrying out the present invention will be described with reference to the drawings. However, the present invention can be implemented in many different modes and should not be construed as being limited to the description of the present embodiment.

第1の実施の形態では、送信装置と受信装置との間で通信されるデータパケットのTCPヘッダ情報(制御データ)を利用し、第2の実施の形態では、受信装置の受信バッファの使用状況を用いて、送信装置の送信バッファサイズを推定する方法について説明する。   In the first embodiment, the TCP header information (control data) of the data packet communicated between the transmission device and the reception device is used. In the second embodiment, the use status of the reception buffer of the reception device. A method for estimating the transmission buffer size of the transmission apparatus will be described using FIG.

〔第1の実施の形態〕
第1の実施の形態では、例として、シーケンス番号と確認応答番号の差から送信バッファサイズを推定する方法について説明する。
[First Embodiment]
In the first embodiment, as an example, a method for estimating a transmission buffer size from the difference between a sequence number and an acknowledgment number will be described.

最初に、コンピュータ間の一般的な通信フロー制御技術について説明する。通信ネットワークに接続された2つのコンピュータ間でデータ通信を行う場合、クライアント側の受信装置からサーバ側の送信装置へデータ転送要求が行われ、それを契機に送信装置から受信装置へデータ転送処理が開始される。   First, a general communication flow control technique between computers will be described. When performing data communication between two computers connected to a communication network, a data transfer request is made from a client-side receiving device to a server-side transmitting device, and the data transfer processing from the transmitting device to the receiving device is triggered by this request. Be started.

受信装置は、転送対象データのセグメントを受信すると直ちにACK応答を返信し、送信装置は、そのACK応答を受信した後、受信装置の受信バッファサイズに応じて次セグメントを送信する。   When the receiving device receives the segment of the transfer target data, it immediately returns an ACK response. After receiving the ACK response, the transmitting device transmits the next segment according to the reception buffer size of the receiving device.

ここでいう受信バッファサイズとは受信バッファの使用量や使用率であり、送信装置は、その使用状況に応じて送信予定のセグメント数を変更する。例えば、受信バッファサイズの最大値が5000バイトであっても、1000バイトを使用中であれば4000バイト分を最大値として次セグメントを送信する。   The reception buffer size referred to here is the usage amount or usage rate of the reception buffer, and the transmission apparatus changes the number of segments scheduled to be transmitted according to the usage status. For example, even if the maximum value of the reception buffer size is 5000 bytes, if 1000 bytes are being used, the next segment is transmitted with a maximum value of 4000 bytes.

そして、送信装置において、送信予定のセグメントを示すウィンドウを後位置のセグメントに順次シフトさせながら上記送信処理を繰り返し行うことにより、コンピュータ間のデータ通信を実現する。   In the transmission apparatus, data transmission between computers is realized by repeatedly performing the transmission process while sequentially shifting the window indicating the segment to be transmitted to the segment at the subsequent position.

このようなフロー制御はスライディングウィンドウ方式と一般に称され、TCP(Transmission Control Protocol)等のコネクション型プロトコルで通常用いられている。以下用いる送信装置は、そのようなTCPを実装しているものとする。   Such flow control is generally called a sliding window method, and is usually used in a connection type protocol such as TCP (Transmission Control Protocol). It is assumed that the transmission apparatus to be used below is mounted with such TCP.

また、その送信装置は、データ送信処理時にスロースタートアルゴリズムを用いるものとする。スロースタートアルゴリズムとは、送信するデータ量を徐々に増加させて送信処理を行うアルゴリズムである。ACK応答を受信するうちは一度に送信するセグメント数を次第に増加させていくことにより、コンピュータ間のデータ通信を実現する。   In addition, the transmission device uses a slow start algorithm during data transmission processing. The slow start algorithm is an algorithm that performs transmission processing by gradually increasing the amount of data to be transmitted. While receiving the ACK response, data communication between computers is realized by gradually increasing the number of segments transmitted at a time.

従って、本実施の形態に係る送信装置は、スライディングウィンドウ方式及びスロースタートアルゴリズムを用いて送信処理を行うことから、例えば、最初にセグメントを1つ送信し、ACK応答を受信した場合に次セグメントを2つ送信する。ここで、1つのセグメントサイズを1000バイトとすると、現時点で受信バッファサイズの最大値である5000バイトのうち3000バイトが使用されているため、残りの2000バイトを最大値として次の送信処理を実行することになる。   Therefore, since the transmission apparatus according to the present embodiment performs transmission processing using the sliding window method and the slow start algorithm, for example, when one segment is first transmitted and an ACK response is received, the next segment is selected. Send two. Here, assuming that one segment size is 1000 bytes, 3000 bytes are used out of 5000 bytes, which is the maximum value of the reception buffer size at the present time, so the next transmission process is executed with the remaining 2000 bytes as the maximum value. Will do.

一方、そのような送信装置に対し、その送信装置からのデータを受信する受信装置は、送信装置の送信バッファサイズを推定する送信バッファサイズ推定機能を有し、図1に示すような複数の機能部を備えている。図1は、受信装置(送信バッファサイズ推定装置)の機能ブロック構成を示す図である。   On the other hand, for such a transmission apparatus, a reception apparatus that receives data from the transmission apparatus has a transmission buffer size estimation function for estimating the transmission buffer size of the transmission apparatus, and has a plurality of functions as shown in FIG. Department. FIG. 1 is a diagram illustrating a functional block configuration of a receiving apparatus (transmission buffer size estimating apparatus).

この受信装置100は、インターネットや社内LAN(Local Area Network)等の通信ネットワーク500を介して送信装置300に通信可能に接続されており、データ受信部11と、受信バッファ12と、データ情報取得部13と、メモリ14と、データ送信部15と、バッファサイズ推定部16とを主に備えている。以下、各機能部について説明する。   The receiving device 100 is communicably connected to the transmitting device 300 via a communication network 500 such as the Internet or an in-house LAN (Local Area Network), and includes a data receiving unit 11, a receiving buffer 12, and a data information acquiring unit. 13, a memory 14, a data transmission unit 15, and a buffer size estimation unit 16. Hereinafter, each functional unit will be described.

データ受信部11は、通信ネットワーク500を通じて送信装置300から送信されたデータパケットを受信し、その受信データを受信バッファ12に格納する機能を有している。   The data reception unit 11 has a function of receiving a data packet transmitted from the transmission device 300 through the communication network 500 and storing the received data in the reception buffer 12.

データ情報取得部13は、受信データのシーケンス番号を取得し、更にその受信に対して行ったACK応答の確認応答番号を取得して、メモリ14に記憶させる機能を有している。   The data information acquisition unit 13 has a function of acquiring the sequence number of the received data, further acquiring the confirmation response number of the ACK response made for the reception, and storing it in the memory 14.

データ送信部15は、送信装置300から送信されるデータサイズを常に最大にするため、受信バッファ12の使用量又は使用率がゼロになった後、すなわち、受信バッファ12が空になった後に、受信データに対してACK応答(確認応答)を行う機能を有している。   The data transmission unit 15 always maximizes the data size transmitted from the transmission device 300, so that the usage amount or usage rate of the reception buffer 12 becomes zero, that is, after the reception buffer 12 becomes empty. It has a function of performing an ACK response (acknowledgment response) to received data.

バッファサイズ推定部16は、メモリ14内のシーケンス番号と確認応答番号の差から送信装置300の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を送信装置300の送信バッファサイズとする機能を有している。   The buffer size estimation unit 16 calculates an estimated value of the transmission buffer size of the transmission device 300 from the difference between the sequence number in the memory 14 and the acknowledgment number, and compares the estimated value with the previously calculated estimation value to determine the maximum value. It has a function to set the transmission buffer size.

このような受信装置100は、メモリ等の記憶手段、CPU等の計算・制御手段、モニタ等の表示手段を備えたコンピュータで実現可能である。また、受信装置100で行う処理はプログラムによって実行可能である。   Such a receiving apparatus 100 can be realized by a computer including a storage unit such as a memory, a calculation / control unit such as a CPU, and a display unit such as a monitor. Further, processing performed by the receiving apparatus 100 can be executed by a program.

尚、図1には本発明の説明上必要と考えられる特徴的な機能部を主に明記しているが、受信装置がコンピュータとして本来具備する既存機能、例えば受信バッファ12のデータを処理して削除する機能等も当然に備えている。   Note that FIG. 1 mainly shows characteristic function units considered necessary for the description of the present invention. However, existing functions that the receiving apparatus originally has as a computer, for example, data in the receiving buffer 12 are processed. Of course, the function to delete is also provided.

次に、図2及び図3を参照しながら、受信装置100の動作について説明する。図2は、受信装置の処理フローを示す図である。図3は、その処理フローの参考図である。尚、送信バッファサイズを確実に推定するため、受信バッファ12の容量(受信バッファサイズ)は、送信バッファサイズに比べて十分に大きいものとする。   Next, the operation of the receiving apparatus 100 will be described with reference to FIGS. FIG. 2 is a diagram illustrating a processing flow of the receiving apparatus. FIG. 3 is a reference diagram of the processing flow. In order to reliably estimate the transmission buffer size, it is assumed that the capacity of the reception buffer 12 (reception buffer size) is sufficiently larger than the transmission buffer size.

最初に、受信装置100から送信装置300へのデータ転送要求を契機に、受信装置100と送信装置300との間で3ウェイハンドシェイクが行われ、セグメントサイズの最大値(MSS:Maximum Segment Size)が決定された後に、セッションが確立する。例えば、MSSは1000バイトと決定される。   First, in response to a data transfer request from the receiving apparatus 100 to the transmitting apparatus 300, a three-way handshake is performed between the receiving apparatus 100 and the transmitting apparatus 300, and a maximum segment size (MSS) is obtained. After the decision is made, a session is established. For example, the MSS is determined to be 1000 bytes.

次に、受信装置100のデータ受信部11は、通信ネットワーク500を通じて送信装置300から送信されたパケットを受信し(ステップS101)、そのパケットの種別がfinパケットであるか(Yes)否か(No)を判定する(ステップS102)。   Next, the data receiving unit 11 of the receiving device 100 receives the packet transmitted from the transmitting device 300 through the communication network 500 (step S101), and whether the type of the packet is a fin packet (Yes) or not (No) ) Is determined (step S102).

ステップS102の判定結果がNoの場合、セッション確立後にはデータ転送処理を終了しない場合主にsynパケットを受信することから、データ受信部11は、そのsynパケット内のセグメントを受信バッファ12に格納する(ステップS103)。   If the determination result in step S102 is No, if the data transfer process is not terminated after the session is established, the data reception unit 11 stores the segment in the syn packet in the reception buffer 12 because the syn packet is mainly received. (Step S103).

続いて、データ受信部11は、synパケットの受信が継続しているか(Yes)否か(No)を判定し(ステップS104)、Yesの場合にはステップS103に戻って受信中の次セグメントを受信バッファ12に格納する。   Subsequently, the data receiving unit 11 determines whether the reception of the syn packet is continued (Yes) or not (No) (Step S104). If Yes, the process returns to Step S103 to select the next segment being received. Store in the reception buffer 12.

一方、ステップS104の判定結果がNoの場合、データ情報取得部13は、受信したセグメントのシーケンス番号SEQ#(Sequence Number)を取得してメモリ14に記憶させる(ステップS105)。   On the other hand, if the determination result in step S104 is No, the data information acquisition unit 13 acquires the sequence number SEQ # (Sequence Number) of the received segment and stores it in the memory 14 (step S105).

シーケンス番号とは、データ転送が最初の場合には送信装置300により任意に、受信装置100からACK応答を受信した場合にはそれに応じて付与される番号であり、パケットのTCPヘッダから取得することができる。   The sequence number is a number that is arbitrarily given by the transmitting device 300 when the data transfer is first, and is given according to the ACK response received from the receiving device 100, and is obtained from the TCP header of the packet. Can do.

スロースタートアルゴリズムにより、例えば、シーケンス番号SEQ#=1のセグメントのみを当初受信した場合には、そのSEQ#=1のみをメモリ14に記憶させる。   For example, when only the segment having the sequence number SEQ # = 1 is initially received by the slow start algorithm, only the SEQ # = 1 is stored in the memory 14.

次に、受信バッファ12内のセグメントに対して受信装置100によるデータ処理が終了した後に(ステップS106)、データ情報取得部13は、その受信バッファ12の使用量又は使用率がゼロ、すなわち、受信バッファ12が空であるか(Yes)否か(No)を判定する(ステップS107)。   Next, after the data processing by the receiving apparatus 100 is completed for the segment in the reception buffer 12 (step S106), the data information acquisition unit 13 uses the reception buffer 12 in zero or the usage rate, that is, receives data. It is determined whether the buffer 12 is empty (Yes) or not (No) (step S107).

尚、ここでいうデータ処理とは、受信バッファ内のセグメントを任意処理するとともに受信バッファ12から削除する処理であり、受信バッファに空き容量を作るためにコンピュータとしての受信装置100によって一般的に実行される処理である。   The data processing here is processing for arbitrarily processing a segment in the receiving buffer and deleting it from the receiving buffer 12, and is generally executed by the receiving device 100 as a computer in order to make free space in the receiving buffer. Process.

次に、ステップS107の判定結果がYesの場合、データ情報取得部13は、メモリ14に記憶された全シーケンス番号SEQ#を取得して比較することにより最小の番号mを算出する(ステップS108)。   Next, when the determination result in step S107 is Yes, the data information acquisition unit 13 calculates the minimum number m by acquiring and comparing all sequence numbers SEQ # stored in the memory 14 (step S108). .

上記例によれば、SEQ#=1のみがメモリ14に記憶されているので、その場合には比較を行うことなく、m=1とする。尚、ステップS107の判定結果がNoの場合には、ステップS105に戻り、受信した次セグメントのシーケンス番号SEQ#を取得してメモリ14に記憶させる。   According to the above example, since only SEQ # = 1 is stored in the memory 14, in this case, m = 1 is set without performing comparison. If the determination result in step S107 is No, the process returns to step S105, and the received sequence number SEQ # of the next segment is acquired and stored in the memory 14.

次に、データ情報取得部13は、送信装置300から送信されたセグメントのデータ転送が正常に終了した旨を送信装置300に応答するため、ACK応答を返信するようにデータ送信部15に命令し、データ送信部15は、確認応答番号ACK#(Acknowledgement Number)を付与してACK応答を送信装置300に送信する(ステップS109)。   Next, the data information acquisition unit 13 instructs the data transmission unit 15 to return an ACK response in order to respond to the transmission device 300 that the data transfer of the segment transmitted from the transmission device 300 has been normally completed. The data transmission unit 15 adds an acknowledgment number ACK # (Acknowledgement Number) and transmits an ACK response to the transmission device 300 (step S109).

上記例によれば、シーケンス番号SEQ#=1のセグメントのみを受信し、MSS=1000であるため、次に1001番からのデータを必要とすることから、確認応答番号ACK#=1001を付与したACK応答を送信する。   According to the above example, only the segment with the sequence number SEQ # = 1 is received, and since MSS = 1000, the data from the 1001st is required next, so the acknowledgment number ACK # = 1001 is given. Send an ACK response.

ここで、従来であればセグメント受信後直ちにACK応答を送信している。また、特許文献1の従来技術であれば、ACK応答を行うことなく再送タイマーを利用してバッファサイズを推定している。   Here, in the conventional case, an ACK response is transmitted immediately after the segment is received. In the case of the prior art disclosed in Patent Document 1, the buffer size is estimated using a retransmission timer without performing an ACK response.

これに対し本実施の形態では、ACK応答の送信をあえて遅らせ、受信バッファ12が空になった後にACK応答を行うようにしている。前述したように、送信装置300は受信装置100の受信バッファサイズ(受信バッファ12の使用量や使用率)に応じてセグメント数を調整して送信することから、受信バッファ12を空にした後にACK応答を行うことにより、送信装置300から送信されるセグメント数を常に最大にすることができる。   On the other hand, in this embodiment, transmission of the ACK response is intentionally delayed, and the ACK response is performed after the reception buffer 12 becomes empty. As described above, the transmission device 300 adjusts the number of segments according to the reception buffer size of the reception device 100 (the usage amount and usage rate of the reception buffer 12), and therefore transmits the ACK after emptying the reception buffer 12. By performing the response, the number of segments transmitted from the transmission device 300 can always be maximized.

仮に、受信バッファサイズの最大値が10000バイトであれば、送信装置300は、常にその10000バイトを最大値として全ての送信処理を行うことができる。それゆえ、後段のバッファサイズ推定部16において、送信装置300の送信バッファサイズの最大値を正確に計算することが可能となる。   If the maximum value of the reception buffer size is 10000 bytes, the transmission apparatus 300 can always perform all transmission processes with the maximum value of 10000 bytes. Therefore, the buffer size estimation unit 16 at the subsequent stage can accurately calculate the maximum value of the transmission buffer size of the transmission apparatus 300.

次に、データ情報取得部13は、ステップS109で送信装置300に送信されたACK応答の確認応答番号ACK#を取得してメモリ14に記憶させる(ステップS110)。上記例によれば、確認応答番号ACK#=1001であることから、そのACK#=1001をメモリ14に記憶させる。   Next, the data information acquisition unit 13 acquires the acknowledgment number ACK # of the ACK response transmitted to the transmission device 300 in step S109 and stores it in the memory 14 (step S110). According to the above example, since the acknowledgment number ACK # = 1001, the ACK # = 1001 is stored in the memory 14.

次に、データ情報取得部13は、メモリ14に記憶された全ての確認応答番号ACK#を取得して比較することにより最大の番号Mを算出する(ステップS111)。上記例によれば、確認応答番号としてACK#=1001のみがメモリ14に記憶されているので、その場合には比較を行うことなく、M=1001とする。   Next, the data information acquisition unit 13 calculates the maximum number M by acquiring and comparing all the acknowledgment number ACK # stored in the memory 14 (step S111). According to the above example, only ACK # = 1001 is stored in the memory 14 as an acknowledgment number, and in this case, M = 1001 without comparison.

次に、バッファサイズ推定部16が、最小の番号mと最大の番号Mとの差を計算し、送信バッファサイズの現在値Buffer1(=M−m)とする(ステップS112)。上記例によれば、m=1,M=1001と計算されているので、Buffer1=1000と計算される。   Next, the buffer size estimation unit 16 calculates the difference between the minimum number m and the maximum number M, and sets it as the current value Buffer1 (= M−m) of the transmission buffer size (step S112). According to the above example, since m = 1 and M = 1001 are calculated, Buffer1 = 1000 is calculated.

次に、バッファサイズ推定部16は、送信バッファサイズの現在値Buffer1と以前に求めた送信バッファサイズの前回計算値Buffer2とを比較し、送信バッファサイズの最大値Buffer3(=Max{Buffer1、Buffer2})を計算する(ステップS113)。Buffer2の初期値が0と設定されている場合、上記例によれば、Buffer3=1000と計算される。   Next, the buffer size estimation unit 16 compares the current value Buffer1 of the transmission buffer size with the previously calculated value Buffer2 of the transmission buffer size obtained previously, and the maximum value Buffer3 (= Max {Buffer1, Buffer2} of the transmission buffer size) ) Is calculated (step S113). When the initial value of Buffer2 is set to 0, according to the above example, Buffer3 = 1000 is calculated.

次に、バッファサイズ推定部16は、送信バッファサイズの最大値Buffer3を前回計算値Buffer2とする(ステップS114)。上記例によれば、Buffer2=1000と計算される。   Next, the buffer size estimation unit 16 sets the maximum value Buffer3 of the transmission buffer size as the previous calculated value Buffer2 (step S114). According to the above example, Buffer2 = 1000 is calculated.

次に、バッファサイズ推定部16は、メモリ14からシーケンス番号及び確認応答番号を削除するとともに、送信バッファサイズの現在値Buffer1と最大値Buffer3をクリアする(ステップS115)。   Next, the buffer size estimation unit 16 deletes the sequence number and the acknowledgment number from the memory 14, and clears the current value Buffer1 and the maximum value Buffer3 of the transmission buffer size (step S115).

以降、ステップS102の判定結果がYesになるまで、上記ステップS101〜ステップS115の推定処理を繰り返し実行する。   Thereafter, the estimation processing in steps S101 to S115 is repeatedly executed until the determination result in step S102 becomes Yes.

例えば、その推定処理が2回目において、シーケンス番号SEQ#=1001,2001のセグメント(確認応答番号ACK#=1001のACK応答を送信して次の確認応答番号ACK#=2001,3001の各ACK応答を送信するまでの間に受信した2つのセグメント)を受信した場合には、m=1001と計算され、確認応答番号ACK#=2001,3001となることからM=3001と計算され、Buffer1=3001−1001=2000、Buffer3=Max{2000,1000}=2000=Buffer2と計算される。   For example, when the estimation process is performed for the second time, the segment of sequence number SEQ # = 1001, 2001 (ACK response of acknowledgment number ACK # = 1001 is transmitted and each ACK response of next acknowledgment number ACK # = 2001, 3001 is transmitted. 2 segments received until the time of transmission is received, m = 1001 is calculated, and since acknowledgment numbers ACK # = 2001 and 3001, M = 3001 is calculated, and Buffer1 = 3001 -1001 = 2000, Buffer3 = Max {2000,1000} = 2000 = Buffer2

更に、その推定処理が3回目において、シーケンス番号SEQ#=3001,4001,5001,6001のセグメント(確認応答番号ACK#=2001,3001の各ACK応答を送信して次の確認応答番号ACK#=4001,5001,6001,7001の各ACK応答を送信するまでの間に受信した4つのセグメント)を受信した場合には、m=3001と計算され、確認応答番号ACK#=4001,5001,6001,7001となることからM=7001と計算され、Buffer1=7001−3001=4000、Buffer3=Max{4000,2000}=4000=Buffer2と計算される。   Further, in the third estimation process, segments of sequence numbers SEQ # = 3001, 4001, 5001, 6001 (acknowledgment number ACK # = 2001, 3001 ACK responses are transmitted and the next acknowledgment number ACK # = 4 segments received before transmitting each ACK response of 4001, 5001, 6001, 7001), m = 3001 is calculated, and the acknowledgment number ACK # = 4001,5001,6001, Since 7001, M = 7001 is calculated, and Buffer1 = 7001-3001 = 4000, Buffer3 = Max {4000,2000} = 4000 = Buffer2 is calculated.

その後、全セグメントの転送処理が終了し、finパケットを受信した場合には、前回計算値Buffer2を送信装置300の送信バッファサイズの推定結果とし、送信装置300とのセッションを切断する(ステップS116)。   Thereafter, when the transfer processing for all segments is completed and a fin packet is received, the previous calculation value Buffer2 is set as the estimation result of the transmission buffer size of the transmission device 300, and the session with the transmission device 300 is disconnected (step S116). .

本実施の形態によれば、送信装置300から送信されたデータパケットを受信して、その受信データを受信バッファ12に格納し、受信データが処理され受信バッファ12が空になった後に、受信データに対するACK応答を送信装置300に送信し、受信データのシーケンス番号とACK応答の確認応答番号との差から送信装置300の送信バッファサイズを計算し、以前に計算した送信バッファサイズと比較して最大値を送信装置300の送信バッファサイズとするので、送信装置300から送信されるセグメント数を常に最大にさせることから、送信装置300の送信処理性能に依ることなく、たとえ送信処理時にスロースタートアルゴリズムを用いる送信装置300であっても、その送信装置300の送信バッファサイズの最大値を推定することができる。   According to the present embodiment, the data packet transmitted from transmitting apparatus 300 is received, the received data is stored in reception buffer 12, and the received data is processed and received buffer 12 is emptied. Is transmitted to the transmitting apparatus 300, the transmission buffer size of the transmitting apparatus 300 is calculated from the difference between the sequence number of the received data and the acknowledgment number of the ACK response, and the maximum is compared with the previously calculated transmission buffer size. Since the value is set to the transmission buffer size of the transmission device 300, the number of segments transmitted from the transmission device 300 is always maximized. Even for the transmission device 300 to be used, the maximum value of the transmission buffer size of the transmission device 300 is set. It can be constant.

これにより、送信装置300の送信バッファの容量不足による通信速度低下を遠隔地で把握できることから、例えば、送信装置300の管理者により、その推定結果に応じて送信装置300の送信バッファサイズを適正値に修正・拡張等調整することや、特定相手との通信時にのみ送信バッファの制限容量を解放して通信の高速化を図ることが可能となる。後述する第2の実施の形態についても同様である。   As a result, a decrease in communication speed due to insufficient transmission buffer capacity of the transmission device 300 can be grasped at a remote location. For example, the administrator of the transmission device 300 sets the transmission buffer size of the transmission device 300 to an appropriate value according to the estimation result. It is possible to speed up communication by making adjustments such as correction / expansion and releasing the limit capacity of the transmission buffer only when communicating with a specific partner. The same applies to a second embodiment to be described later.

また、特許文献1の従来技術の場合、送信バッファサイズの推定時間は送信装置300の再送タイマーに左右されてしまう。一方、本実施の形態の場合には、その推定時間に大きく影響するACK応答の遅延は送信装置300ではなく受信装置100に依るため、他装置の影響を受けることのない推定時間を提供できる。後述する第2の実施の形態についても同様である。   Further, in the case of the conventional technique of Patent Document 1, the estimated time of the transmission buffer size depends on the retransmission timer of the transmission device 300. On the other hand, in the case of the present embodiment, the delay of the ACK response that greatly affects the estimated time depends on the receiving device 100, not the transmitting device 300, and therefore it is possible to provide an estimated time that is not affected by other devices. The same applies to a second embodiment to be described later.

尚、本実施の形態では、送信バッファサイズを計算する際にシーケンス番号と確認応答番号の差を利用したが、TCPヘッダ情報内のデータ欄に含まれるデータのサイズをそのまま送信バッファサイズとして利用してもよい。   In this embodiment, the difference between the sequence number and the acknowledgment number is used when calculating the transmission buffer size. However, the data size included in the data column in the TCP header information is used as it is as the transmission buffer size. May be.

また、本実施の形態では、スロースタートアルゴリズムを用いて送信処理を行う場合を例としたが、過去に計算した送信バッファサイズと比較して最大値を計算すれば送信装置300の送信バッファサイズを推定できることから、そのようなアルゴリズムに限定されることなく、任意のアルゴリズムを持つ送信装置300を推定対象とすることが可能である。後述する第2の実施の形態についても同様である。   In this embodiment, the case where transmission processing is performed using the slow start algorithm is taken as an example. However, if the maximum value is calculated compared to the transmission buffer size calculated in the past, the transmission buffer size of the transmission device 300 is set. Since it can be estimated, the transmission apparatus 300 having an arbitrary algorithm can be set as an estimation target without being limited to such an algorithm. The same applies to a second embodiment to be described later.

〔第2の実施の形態〕
第2の実施の形態では、例として、受信バッファのバッファ使用量から送信バッファサイズを推定する方法について説明する。本実施の形態に係る受信装置100は、第1の実施の形態と同様の機能部により構成される(図1参照)。以下、各機能部について説明する。
[Second Embodiment]
In the second embodiment, as an example, a method for estimating the transmission buffer size from the buffer usage of the reception buffer will be described. The receiving apparatus 100 according to the present embodiment is configured by the same functional units as those in the first embodiment (see FIG. 1). Hereinafter, each functional unit will be described.

データ受信部11は、通信ネットワーク500を通じて送信装置300から送信されたデータパケットを受信し、その受信データを受信バッファ12に格納する機能を有している。   The data reception unit 11 has a function of receiving a data packet transmitted from the transmission device 300 through the communication network 500 and storing the received data in the reception buffer 12.

データ情報取得部13は、受信データに使用された受信バッファ12のバッファ使用量を取得して、メモリ14に記憶させる機能を有している。   The data information acquisition unit 13 has a function of acquiring the buffer usage of the reception buffer 12 used for the reception data and storing it in the memory 14.

データ送信部15は、送信装置300から送信されるデータサイズを常に最大にするため、受信バッファ12の使用量又は使用率がゼロになった後、すなわち、受信バッファ12が空になった後に、受信データに対してACK応答を行う機能を有している。   The data transmission unit 15 always maximizes the data size transmitted from the transmission device 300, so that the usage amount or usage rate of the reception buffer 12 becomes zero, that is, after the reception buffer 12 becomes empty. It has a function to make an ACK response to received data.

バッファサイズ推定部16は、メモリ14内のバッファ使用量から送信装置300の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を送信装置300の送信バッファサイズとする機能を有している。   The buffer size estimation unit 16 calculates an estimated value of the transmission buffer size of the transmission device 300 from the buffer usage in the memory 14, and compares the estimated value with a previously calculated estimation value to the transmission buffer size of the transmission device 300. It has a function to do.

次に、図4及び図5を参照しながら、受信装置100の動作について説明する。図4は、受信装置の処理フローを示す図である。図5は、その処理フローの関連参考図である。   Next, the operation of the receiving apparatus 100 will be described with reference to FIGS. 4 and 5. FIG. 4 is a diagram illustrating a processing flow of the reception apparatus. FIG. 5 is a related reference diagram of the processing flow.

最初に、受信装置100から送信装置300へのデータ転送要求を契機に、受信装置100と送信装置300との間で3ウェイハンドシェイクが行われ、セッションが確立する。例えば、MSSは1000バイトと決定される。   First, triggered by a data transfer request from the receiving apparatus 100 to the transmitting apparatus 300, a three-way handshake is performed between the receiving apparatus 100 and the transmitting apparatus 300, and a session is established. For example, the MSS is determined to be 1000 bytes.

次に、受信装置100のデータ受信部11は、通信ネットワーク500を通じて送信装置300から送信されたパケットを受信し(ステップS201)、そのパケットの種別がfinパケットであるか(Yes)否か(No)を判定する(ステップS202)。   Next, the data receiving unit 11 of the receiving device 100 receives the packet transmitted from the transmitting device 300 through the communication network 500 (step S201), and whether the type of the packet is a fin packet (Yes) or not (No) ) Is determined (step S202).

ステップS202の判定結果がNoの場合、セッション確立後にはデータ転送処理を終了しない場合主にsynパケットを受信することから、データ受信部11は、そのsynパケット内のセグメントを受信バッファ12に格納する(ステップS203)。   When the determination result in step S202 is No, when the data transfer process is not terminated after the session is established, the syn packet is mainly received. Therefore, the data reception unit 11 stores the segment in the syn packet in the reception buffer 12. (Step S203).

続いて、データ受信部11は、synパケットの受信が継続しているか(Yes)否か(No)を判定し(ステップS204)、Yesの場合にはステップS203に戻って受信中の次セグメントを受信バッファ12に格納する。   Subsequently, the data receiving unit 11 determines whether the reception of the syn packet is continued (Yes) or not (No) (Step S204). If Yes, the process returns to Step S203 to select the next segment being received. Store in the reception buffer 12.

一方、ステップS204の判定結果がNoの場合、データ情報取得部13は、受信バッファ12に格納されたセグメントのバッファ使用量UBS(Used Buffer Size)を取得してメモリ14に記憶させる(ステップS205)。   On the other hand, if the determination result in step S204 is No, the data information acquisition unit 13 acquires the buffer usage amount UBS (Used Buffer Size) of the segment stored in the reception buffer 12 and stores it in the memory 14 (step S205). .

スロースタートアルゴリズムにより、例えば、1つのセグメントのみを当初受信して受信バッファ12に格納している場合には、MSSが1000バイトであることより受信バッファ12のバッファ使用量は1000バイトと計算し、UBS=1000のみをメモリ14に記憶させる。   For example, when only one segment is initially received and stored in the reception buffer 12 by the slow start algorithm, the buffer usage of the reception buffer 12 is calculated as 1000 bytes because the MSS is 1000 bytes. Only UBS = 1000 is stored in the memory 14.

次に、受信バッファ12内のセグメントに対して受信装置100によるデータ処理が終了した後に(ステップS206)、データ情報取得部13は、その受信バッファ12の使用量又は使用率がゼロ、すなわち、受信バッファ12が空であるか(Yes)否か(No)を判定する(ステップS207)。   Next, after the data processing by the receiving apparatus 100 is completed for the segment in the reception buffer 12 (step S206), the data information acquisition unit 13 uses the reception buffer 12 in zero or the usage rate, that is, receives data. It is determined whether the buffer 12 is empty (Yes) or not (No) (step S207).

次に、ステップS207の判定結果がYesの場合、データ情報取得部13は、送信装置300から送信されたセグメントのデータ転送が正常に終了した旨を送信装置300に応答するため、ACK応答を返信するようにデータ送信部15に命令し、データ送信部15は、確認応答番号ACK#を付与してACK応答を送信装置300に送信する(ステップS208)。尚、受信バッファ12が空になった後にACK応答することの作用効果については、第1の実施の形態を参照されたい。   Next, when the determination result in step S207 is Yes, the data information acquisition unit 13 returns an ACK response to respond to the transmission apparatus 300 that the data transfer of the segment transmitted from the transmission apparatus 300 has been normally completed. The data transmission unit 15 is instructed to do so, and the data transmission unit 15 transmits an ACK response to the transmission device 300 with an acknowledgment number ACK # (step S208). Refer to the first embodiment for the operational effect of ACK response after the reception buffer 12 becomes empty.

次に、バッファサイズ推定部16が、メモリ14からバッファ使用量を取得して送信バッファサイズの現在値Buffer1とする(ステップS209)。上記例によれば、UBS=1000なので、Buffer1=1000と計算される。   Next, the buffer size estimation unit 16 acquires the buffer usage from the memory 14 and sets it as the current value Buffer1 of the transmission buffer size (step S209). According to the above example, since UBS = 1000, Buffer 1 = 1000 is calculated.

次に、バッファサイズ推定部16は、送信バッファサイズの現在値Buffer1と以前に求めた送信バッファサイズの前回計算値Buffer2とを比較し、送信バッファサイズの最大値Buffer3(=Max{Buffer1、Buffer2})を計算する(ステップS210)。Buffer2の初期値が0と設定されている場合、上記例によれば、Buffer3=1000と計算される。   Next, the buffer size estimation unit 16 compares the current value Buffer1 of the transmission buffer size with the previously calculated value Buffer2 of the transmission buffer size obtained previously, and the maximum value Buffer3 (= Max {Buffer1, Buffer2} of the transmission buffer size) ) Is calculated (step S210). When the initial value of Buffer2 is set to 0, according to the above example, Buffer3 = 1000 is calculated.

次に、バッファサイズ推定部16は、送信バッファサイズの最大値Buffer3を前回計算値Buffer2とする(ステップS211)。上記例によれば、Buffer2=1000と計算される。   Next, the buffer size estimation unit 16 sets the maximum value Buffer3 of the transmission buffer size as the previous calculated value Buffer2 (step S211). According to the above example, Buffer2 = 1000 is calculated.

次に、バッファサイズ推定部16は、メモリ14からバッファ使用量を削除するとともに、送信バッファサイズの現在値Buffer1と最大値Buffer3をクリアする(ステップS212)。   Next, the buffer size estimation unit 16 deletes the buffer usage from the memory 14 and clears the current value Buffer1 and the maximum value Buffer3 of the transmission buffer size (step S212).

以降、ステップS202の判定結果がYesになるまで、上記ステップS201〜ステップS212の推定処理を繰り返し実行する。   Thereafter, the estimation processing in steps S201 to S212 is repeatedly executed until the determination result in step S202 becomes Yes.

例えば、その推定処理が2回目において、2つのセグメントを受信した場合には、UBS=2000と計算され、Buffer1=2000、Buffer3=Max{2000,1000}=2000=Buffer2と計算される。   For example, when the estimation process is performed for the second time and two segments are received, UBS = 2000 is calculated, and Buffer1 = 2000, Buffer3 = Max {2000,1000} = 2000 = Buffer2.

例えば、その推定処理が3回目において、4つのセグメントを受信した場合には、UBS=4000と計算され、Buffer1=4000、Buffer3=Max{4000,2000}=4000=Buffer2と計算される。   For example, when four segments are received in the third estimation process, UBS = 4000 is calculated, Buffer1 = 4000, Buffer3 = Max {4000,2000} = 4000 = Buffer2.

その後、全セグメントの転送処理が終了し、finパケットを受信した場合には、前回計算値Buffer2を送信装置300の送信バッファサイズの推定結果とし、送信装置300とのセッションを切断する(ステップS213)。   Thereafter, when the transfer processing for all segments is completed and the fin packet is received, the previous calculation value Buffer2 is set as the estimation result of the transmission buffer size of the transmission device 300, and the session with the transmission device 300 is disconnected (step S213). .

本実施の形態によれば、送信装置300から送信されたデータパケットを受信して、その受信データを受信バッファ12に格納し、受信データが処理され受信バッファ12が空になった後に、受信データに対するACK応答を送信装置300に送信し、受信バッファ12に格納されたセグメントのバッファ使用量から送信装置300の送信バッファサイズを計算し、以前に計算した送信バッファサイズと比較して最大値を送信装置300の送信バッファサイズとするので、送信装置300から送信されるセグメント数を常に最大にさせることから、送信装置300の送信処理性能に依ることなく、たとえ送信処理時にスロースタートアルゴリズムを用いる送信装置300であっても、その送信装置300の送信バッファサイズの最大値を推定することができる。   According to the present embodiment, the data packet transmitted from transmitting apparatus 300 is received, the received data is stored in reception buffer 12, and the received data is processed and received buffer 12 is emptied. Is transmitted to the transmission device 300, the transmission buffer size of the transmission device 300 is calculated from the buffer usage of the segments stored in the reception buffer 12, and the maximum value is transmitted compared with the previously calculated transmission buffer size. Since the transmission buffer size of the device 300 is used, the number of segments transmitted from the transmission device 300 is always maximized. Therefore, a transmission device that uses a slow start algorithm at the time of transmission processing without depending on the transmission processing performance of the transmission device 300 Even if it is 300, the maximum value of the transmission buffer size of the transmission device 300 is estimated. Rukoto can.

尚、本実施の形態では、受信バッファ12のバッファ使用量から送信バッファサイズを推定したが、受信装置100は自機内の受信バッファ12の最大サイズを把握していることから、バッファ使用率を用いてその使用量を計算するようにしてもよい。   In the present embodiment, the transmission buffer size is estimated from the buffer usage of the reception buffer 12, but the reception device 100 knows the maximum size of the reception buffer 12 in its own device, and therefore uses the buffer usage rate. The usage amount may be calculated.

100…受信装置
11…データ受信部
12…受信バッファ
13…データ情報取得部
14…メモリ
15…データ送信部
16…バッファサイズ推定部
300…送信装置
500…通信ネットワーク
S101〜S116、S201〜S213…ステップ
DESCRIPTION OF SYMBOLS 100 ... Reception apparatus 11 ... Data reception part 12 ... Reception buffer 13 ... Data information acquisition part 14 ... Memory 15 ... Data transmission part 16 ... Buffer size estimation part 300 ... Transmission apparatus 500 ... Communication network S101-S116, S201-S213 ... Step

Claims (6)

送信装置から送信されたデータパケットを受信して、その受信データを受信バッファに格納するデータ受信手段と、
前記受信データが処理され前記受信バッファが空になった後に、前記受信データに対する確認応答を前記送信装置に送信するデータ送信手段と、
前記受信データに関する制御データ又は前記受信バッファの使用状況に基づいて前記送信装置の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を前記送信装置の送信バッファサイズとするバッファサイズ推定手段と、
を有することを特徴とする送信バッファサイズ推定装置。
Data receiving means for receiving a data packet transmitted from a transmitting device and storing the received data in a reception buffer;
Data transmitting means for transmitting an acknowledgment for the received data to the transmitting device after the received data is processed and the receive buffer is emptied;
Calculate an estimated value of the transmission buffer size of the transmission device based on the control data related to the received data or the usage status of the reception buffer, and compare the estimated value calculated previously with the maximum value to the transmission buffer size of the transmission device Buffer size estimation means
A transmission buffer size estimation apparatus comprising:
前記バッファサイズ推定手段は、
前記受信データのシーケンス番号と前記確認応答の確認応答番号との差から前記送信バッファサイズの推定値を計算することを特徴とする請求項1記載の送信バッファサイズ推定装置。
The buffer size estimation means includes:
2. The transmission buffer size estimation apparatus according to claim 1, wherein an estimated value of the transmission buffer size is calculated from a difference between a sequence number of the received data and an acknowledgment number of the acknowledgment.
前記バッファサイズ推定手段は、
前記受信バッファに格納された前記受信データのバッファ使用量から前記送信バッファサイズの推定値を計算することを特徴とする請求項1記載の送信バッファサイズ推定装置。
The buffer size estimation means includes:
2. The transmission buffer size estimation device according to claim 1, wherein an estimated value of the transmission buffer size is calculated from a buffer usage amount of the reception data stored in the reception buffer.
前記データパケットは、
前記確認応答を送信してから次の確認応答を送信するまでの間に受信した1つ以上のセグメントであることを特徴とする請求項1乃至3のいずれかに記載の送信バッファサイズ推定装置。
The data packet is
4. The transmission buffer size estimation apparatus according to claim 1, wherein the transmission buffer size estimation apparatus is one or more segments received between the transmission of the confirmation response and the transmission of the next confirmation response.
コンピュータにより、
送信装置から送信されたデータパケットを受信して、その受信データを受信バッファに格納するデータ受信ステップと、
前記受信データが処理され前記受信バッファが空になった後に、前記受信データに対する確認応答を前記送信装置に送信するデータ送信ステップと、
前記受信データに関する制御データ又は前記受信バッファの使用状況に基づいて前記送信装置の送信バッファサイズの推定値を計算し、以前に計算した推定値と比較して最大値を前記送信装置の送信バッファサイズとするバッファサイズ推定ステップと、
を有することを特徴とする送信バッファサイズ推定方法。
By computer
A data reception step of receiving a data packet transmitted from the transmission device and storing the received data in a reception buffer;
A data transmission step of transmitting an acknowledgment to the reception data to the transmission device after the reception data is processed and the reception buffer is empty;
Calculate an estimated value of the transmission buffer size of the transmission device based on the control data related to the received data or the usage status of the reception buffer, and compare the estimated value calculated previously with the maximum value to the transmission buffer size of the transmission device A buffer size estimation step, and
A transmission buffer size estimation method characterized by comprising:
請求項5記載の送信バッファサイズ推定方法をコンピュータに実行させることを特徴とする送信バッファサイズ推定プログラム。   A transmission buffer size estimation program for causing a computer to execute the transmission buffer size estimation method according to claim 5.
JP2012165484A 2012-07-26 2012-07-26 Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program Pending JP2014027444A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012165484A JP2014027444A (en) 2012-07-26 2012-07-26 Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012165484A JP2014027444A (en) 2012-07-26 2012-07-26 Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program

Publications (1)

Publication Number Publication Date
JP2014027444A true JP2014027444A (en) 2014-02-06

Family

ID=50200721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012165484A Pending JP2014027444A (en) 2012-07-26 2012-07-26 Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program

Country Status (1)

Country Link
JP (1) JP2014027444A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309462A (en) * 2020-01-21 2020-06-19 腾讯科技(深圳)有限公司 Task processing method and device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05110627A (en) * 1991-10-15 1993-04-30 Nec Corp Timing calculation system for sending reply corresponding to transmission buffer of communication opposite party
US6038606A (en) * 1997-11-25 2000-03-14 International Business Machines Corp. Method and apparatus for scheduling packet acknowledgements
JP2003234796A (en) * 2002-02-12 2003-08-22 Seiko Epson Corp Data flow control device and method
JP2011061536A (en) * 2009-09-10 2011-03-24 Ricoh Co Ltd Communication system and apparatus for measuring capacitance of retransmission buffer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05110627A (en) * 1991-10-15 1993-04-30 Nec Corp Timing calculation system for sending reply corresponding to transmission buffer of communication opposite party
US6038606A (en) * 1997-11-25 2000-03-14 International Business Machines Corp. Method and apparatus for scheduling packet acknowledgements
JP2003234796A (en) * 2002-02-12 2003-08-22 Seiko Epson Corp Data flow control device and method
JP2011061536A (en) * 2009-09-10 2011-03-24 Ricoh Co Ltd Communication system and apparatus for measuring capacitance of retransmission buffer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309462A (en) * 2020-01-21 2020-06-19 腾讯科技(深圳)有限公司 Task processing method and device and computer readable storage medium

Similar Documents

Publication Publication Date Title
JP6705003B2 (en) Data transmission method and related device
US9641650B2 (en) TCP proxy server
CN105141542A (en) TCP communication protocol-based congestion window control algorithm and system
US8565249B2 (en) Queue management system and methods
CN108322401A (en) The control method and device of network transmission congestion
EP2922241B1 (en) Methods and apparatus to determine network delay with location independence from retransmission delay and application response time
CN104683259A (en) TCP congestion control method and device
JP6335430B2 (en) COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM
EP2523393B1 (en) Method and apparatus to estimate the sender's congestion window throughout the life of a TCP flow (socket connection)
JP5725615B2 (en) Communication quality measuring method and apparatus
US8588064B2 (en) Transport layer that warns application of potential bottleneck and methods thereof
US11153220B2 (en) Methods and apparatus to determine network delay with location independence
JP2008053888A (en) COMMUNICATION DEVICE, PROGRAM, INFORMATION STORAGE MEDIUM, AND COMMUNICATION CONTROL METHOD
JP2014027444A (en) Transmission buffer size estimation device, transmission buffer size estimation method, and transmission buffer size estimation program
US9172654B2 (en) Transfer device and transfer method
US20150222570A1 (en) Apparatus and method for aligning order of received packets
US11425040B2 (en) Network switching device and method for performing marking using the same
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
CN117834544A (en) Method and device for determining data transmission state, storage medium and electronic equipment
JP6010502B2 (en) Packet processing method and packet processing apparatus
JP2016019198A (en) Communication apparatus, control method for communication apparatus, and program
JP2016019156A (en) Communication apparatus and control method therefor
WO2018202282A1 (en) Device and method for monitoring a tcp connection
WO2024150298A1 (en) Device and method for predicting release of communication path in advance and performing same
WO2017061075A1 (en) Control system, available bandwidth estimating system, device, method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161101