JP2009071766A - Signal receiving terminal apparatus - Google Patents

Signal receiving terminal apparatus Download PDF

Info

Publication number
JP2009071766A
JP2009071766A JP2007240802A JP2007240802A JP2009071766A JP 2009071766 A JP2009071766 A JP 2009071766A JP 2007240802 A JP2007240802 A JP 2007240802A JP 2007240802 A JP2007240802 A JP 2007240802A JP 2009071766 A JP2009071766 A JP 2009071766A
Authority
JP
Japan
Prior art keywords
window size
tcp
terminal device
receiving terminal
unit
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
JP2007240802A
Other languages
Japanese (ja)
Inventor
Yoshiki Watanabe
佳樹 渡邉
Kenji Shioyama
健司 塩山
Kentaro Saito
健太郎 斎藤
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007240802A priority Critical patent/JP2009071766A/en
Publication of JP2009071766A publication Critical patent/JP2009071766A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a signal receiving terminal apparatus which does not reduce its signal transmitting efficiency without applying any excessive load to a network, by minimizing its buffers and by preventing the signal re-sending caused by the packet losses originated from the overruns generated in its buffers. <P>SOLUTION: In the signal receiving apparatus (265), the payload lengths (PLD_LEN) of data (P) are so detected and a pre-indicated maximum window size (Win_SZ(max))is so held as to calculate window sizes (X) based on the maximum (Win_SZ(max)), the payload lengths, and a flow controlling indication (Almost_Full_st) given from the external. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、所定の通信プロトコルに従ってデータを受信する端末装置に関し、詳述すればTCPプロトコルに従って受信するTCP受信端末装置に関する。   The present invention relates to a terminal device that receives data according to a predetermined communication protocol, and more particularly to a TCP receiving terminal device that receives data according to a TCP protocol.

図4に、従来より動画や音楽などのストリーミング配信に利用されているネットワークの一例を示す。ストリーミング配信ネットワークでは、ストリーミング配信サービスを行うサーバ100が、インターネット1000およびルータ1004を介して、配信サービスを受けるユーザの宅内に構成された宅内ネットワーク2000に接続されている。なお、宅内ネットワーク2000には、サーバ100から提供された配信サービスを利用するAV機器200が接続されている。図4において、点線Ldはサーバ100からAV機器200へのデータ伝送を表している。一点鎖線Liは宅内ネットワーク2000内でのデータ転送を表している。   FIG. 4 shows an example of a network conventionally used for streaming distribution of moving images and music. In the streaming distribution network, a server 100 that performs a streaming distribution service is connected via an Internet 1000 and a router 1004 to a home network 2000 configured in a user's home that receives the distribution service. Note that an AV device 200 that uses a distribution service provided from the server 100 is connected to the home network 2000. In FIG. 4, a dotted line Ld represents data transmission from the server 100 to the AV device 200. An alternate long and short dash line Li represents data transfer in the home network 2000.

サーバ100は、それぞれ異なるストリーミング配信サービスを行うサーバ100_1、100_2、および100_3が含まれる。本例においては、サーバ100_1は動画を配信し、サーバ100_2は音楽を配信し、サーバ100_3はその他を配信する。   The server 100 includes servers 100_1, 100_2, and 100_3 that perform different streaming distribution services. In this example, the server 100_1 distributes moving images, the server 100_2 distributes music, and the server 100_3 distributes others.

AV機器200には、サーバ100_1、100_2、および100_3のそれぞれから配信されるデータストリームの内容に応じて、デジタルTV200_1、デジタル・ビデオ録画機200_2、オーディオ機器200_3、およびパーソナルコンピュータ(以降、「PC」)200_4が接続されて機器連携が行われている。   The AV device 200 includes a digital TV 200_1, a digital video recorder 200_2, an audio device 200_3, and a personal computer (hereinafter “PC”) according to the contents of the data streams distributed from the servers 100_1, 100_2, and 100_3. ) 200_4 is connected and device cooperation is performed.

このようなストリーミング配信ネットワークにおける通信サービスには、通信品質の確保の観点からTCP通信プロトコルがよく利用される。また、インターネット等のネットワークの高速化が進み、従来、ソフト処理してきたTCP通信プロトコルの一部、あるいは、全てをハードウェアにて処理するTCP Offload Engine(以下、「TOE」)と呼ばれる装置も普及しつつある。   A TCP communication protocol is often used for communication services in such a streaming distribution network from the viewpoint of ensuring communication quality. In addition, as the speed of networks such as the Internet increases, a device called TCP Offload Engine (hereinafter referred to as “TOE”) that processes part or all of the TCP communication protocol that has been processed by software in hardware has also become widespread. I am doing.

TCP通信プロトコルを利用する場合の利点として、ネットワークとの高親和性、高通信品質、および送信側のフロー制御可能の3つを挙げることができる。具体的には、TCP通信プロトコルはインターネットにて普及しているので、ネットワーク特にインターネットとの親和性が高い。伝送パケットに対する受信側からの確認応答、および、再送メカニズムを実装してあることから、通信品質が高い。受信側よりウィンドウ・サイズを使用して送信側のフロー制御が可能である。   There are three advantages in using the TCP communication protocol: high affinity with the network, high communication quality, and flow control on the transmission side. Specifically, since the TCP communication protocol is widespread on the Internet, it has a high affinity with a network, particularly the Internet. The communication quality is high because the acknowledgment from the reception side for the transmission packet and the retransmission mechanism are implemented. The flow control on the transmission side can be performed using the window size from the reception side.

次に、図5を参照して、TCP通信プロトコルを用いた場合のフロー制御について説明する。なお、図5は、サーバ100におけるTCP送信端末装置260と、AV機器200におけるTCP受信端末装置265間のデータ伝送シーケンスを表している。TCP通信プロトコルにおいては、まずTCP受信端末装置265側のバッファで処理できるデータ量を表すウインドウ・サイズX1が決定される。そして、ウィンドウ・サイズX1が反映されたパケットP200(図においては、P200(X1)と表示)が生成されて、TCP送信端末装置260に送信される。   Next, flow control when the TCP communication protocol is used will be described with reference to FIG. FIG. 5 shows a data transmission sequence between the TCP transmission terminal device 260 in the server 100 and the TCP reception terminal device 265 in the AV device 200. In the TCP communication protocol, first, the window size X1 representing the amount of data that can be processed by the buffer on the TCP receiving terminal device 265 side is determined. Then, a packet P200 (indicated as P200 (X1) in the figure) reflecting the window size X1 is generated and transmitted to the TCP transmission terminal device 260.

インターネットを利用した配信サービスでは、サーバ100_1、100_2、および100_3は、図5のTCP送信端末装置260に相当する機能を有している。同様に、デジタルTV200_1、デジタル・ビデオ録画機200_2、オーディオ機器200_3、およびPC200_4はTCP受信端末装置265の機能を有している。なお、宅内では、デジタル・ビデオ録画機200_2、オーディオ機器200_3、およびPC200_4は、TCP送信端末装置260およびTCP受信端末装置265の両方に相当する機能を有し、デジタルTV200_1はTCP受信端末装置265に相当する機能を有する。   In the distribution service using the Internet, the servers 100_1, 100_2, and 100_3 have a function corresponding to the TCP transmission terminal device 260 in FIG. Similarly, the digital TV 200_1, the digital video recorder 200_2, the audio device 200_3, and the PC 200_4 have the function of the TCP receiving terminal device 265. Note that in the home, the digital video recorder 200_2, the audio device 200_3, and the PC 200_4 have functions corresponding to both the TCP transmission terminal device 260 and the TCP reception terminal device 265, and the digital TV 200_1 functions as the TCP reception terminal device 265. It has a corresponding function.

パケットP200に応答して、TCP送信端末装置260からTCP受信端末装置265に対して、パケットP210、211および212が順次送信される。TCP受信端末装置265は、パケットP212の受信後に、再度バッファで処理できるデータ量を表すウインドウ・サイズX2を決定し、同ウインドウ・サイズX2が反映された確認応答ACK250(図では、ACK250(X2)と表示)を生成する。そして、TCP受信端末装置265は確認応答ACK250をTCP送信端末装置260に対して送信する。   In response to the packet P200, packets P210, 211, and 212 are sequentially transmitted from the TCP transmission terminal apparatus 260 to the TCP reception terminal apparatus 265. After receiving the packet P212, the TCP receiving terminal device 265 again determines the window size X2 representing the amount of data that can be processed by the buffer, and an acknowledgment ACK250 (ACK250 (X2) in the figure) reflecting the window size X2. Display). Then, the TCP receiving terminal device 265 transmits an acknowledgment ACK 250 to the TCP transmitting terminal device 260.

TCP送信端末装置260は、確認応答ACK250に応答して、パケットP213およびP214を送信する。TCP受信端末装置265は、パケットP213および214の受信後に、また、バッファで処理できるデータ量を表すウインドウ・サイズX3を決定し、同ウィンドウ・サイズX3が反映された確認応答ACK251(図では、ACK251(X3)と表示)を生成する。確認応答ACK251はTCP受信端末装置265からTCP送信端末装置260に送信されて、以降同様の処理が続く。なお、ウィンドウ・サイズX1、X2、X3、・・・をウィンドウ・サイズXと総称する。   The TCP transmission terminal device 260 transmits the packets P213 and P214 in response to the confirmation response ACK250. After receiving the packets P213 and 214, the TCP receiving terminal device 265 determines a window size X3 representing the amount of data that can be processed by the buffer, and an acknowledgment ACK 251 (ACK 251 in the figure) reflecting the window size X3. (Displayed as (X3)). The confirmation response ACK 251 is transmitted from the TCP receiving terminal device 265 to the TCP transmitting terminal device 260, and thereafter the same processing continues. Note that the window sizes X1, X2, X3,... Are collectively referred to as a window size X.

図6に、TCP通信プロトコルで用いられるTCPパケットヘッダHpの構成例を示す。TCPパケットヘッダHpは、送信元TCPポート、宛先TCPポート、TCPシーケンス番号、TCPアクノーリッジ番号、およびウインドウ・サイズ等の情報が書き込まれる領域を有している。なお、本明細書においては、それぞれの領域は、書き込まれる情報名(例えば、ウインドウ・サイズ領域)で呼称されるものとする。なお、TCPパケットヘッダHpに書き込まれるウィンドウ・サイズXは16ビットであり、最大64K−1バイトの値をとることができる。   FIG. 6 shows a configuration example of a TCP packet header Hp used in the TCP communication protocol. The TCP packet header Hp has an area in which information such as a transmission source TCP port, a destination TCP port, a TCP sequence number, a TCP acknowledgment number, and a window size is written. In this specification, each area is referred to as an information name to be written (for example, a window size area). The window size X written in the TCP packet header Hp is 16 bits and can take a value of 64K-1 bytes at the maximum.

図7に、従来のTCP受信端末装置265の一例(以降、「従来例1」)の構成を示す。本例にかかるTCP受信端末装置265aは、アプリケーション部300と共に、AV機器200の一部を構成している。つまり、TCP受信端末装置265a(TCP受信端末装置265)は、AV機器200がインターネット1000および宅内ネットワーク2000を介してサーバ100から伝送されてくるストリーミングデータを受信する機能を有している。   FIG. 7 shows a configuration of an example of a conventional TCP receiving terminal device 265 (hereinafter, “conventional example 1”). The TCP receiving terminal device 265a according to this example forms part of the AV device 200 together with the application unit 300. That is, the TCP receiving terminal device 265 a (TCP receiving terminal device 265) has a function for the AV device 200 to receive streaming data transmitted from the server 100 via the Internet 1000 and the home network 2000.

アプリケーション部300は、受信したストリーミングデータに含まれるペイロードを処理して、ユーザにコンテンツとして提示できるようにする機能を有している。つまり、アプリケーション部300の機能によって、AV機器200がデジタルTV200_1、デジタル・ビデオ録画機200_2、オーディオ機器200_3、或いはPC200_4等として働く。   The application unit 300 has a function of processing a payload included in the received streaming data so that the content can be presented to the user. That is, the AV device 200 functions as a digital TV 200_1, a digital video recorder 200_2, an audio device 200_3, a PC 200_4, or the like by the function of the application unit 300.

TCP受信端末装置265aは、送受信部1、IP制御部2、TCP制御部3a、およびペイロード出力部4を含む。TCP制御部3aは、TCP受信バッファ30およびウインドウ・サイズ算出部31を含む。   The TCP receiving terminal device 265a includes a transmission / reception unit 1, an IP control unit 2, a TCP control unit 3a, and a payload output unit 4. The TCP control unit 3 a includes a TCP reception buffer 30 and a window size calculation unit 31.

送受信部1は、経路C201によって、宅内ネットワーク2000と相互に接続されている。送受信部1とIP制御部2とは、経路C202によって、相互に接続されている。
IP制御部2は、経路C208によって、ウインドウ・サイズ算出部31に接続されている。TCP受信バッファ30は、経路C203によって、IP制御部2に接続されている。ウインドウ・サイズ算出部31は、経路C206によって、TCP受信バッファ30に接続されている。
The transmission / reception unit 1 is connected to the home network 2000 by a route C201. The transmission / reception unit 1 and the IP control unit 2 are connected to each other by a path C202.
The IP control unit 2 is connected to the window size calculation unit 31 through a path C208. The TCP reception buffer 30 is connected to the IP control unit 2 by a path C203. The window size calculation unit 31 is connected to the TCP reception buffer 30 through a path C206.

ペイロード出力部4は、経路C204および経路C301によって、TCP受信バッファ30およびAlmost_Full検出部102のそれぞれに接続されている。アプリケーション部300において、アプリケーション・バッファ101は経路C205によって、ペイロード出力部4に接続されている。Almost_Full検出部102は、経路C300によって、アプリケーション・バッファ101に接続されている。   The payload output unit 4 is connected to each of the TCP reception buffer 30 and the Almost_Full detection unit 102 by a path C204 and a path C301. In the application unit 300, the application buffer 101 is connected to the payload output unit 4 through a path C205. The Almost_Full detector 102 is connected to the application buffer 101 by a path C300.

以下に、図5および図7を参照しながら、AV機器200aにおけるフロー制御について具体的に説明する。TCP受信端末装置265aにおいては、宅内ネットワーク2000から配信されるデータストリームの受信を開始する前に、TCP制御手段3内のウィンドウ・サイズ算出部31が、経路C206を介してTCP受信バッファ30の空き容量値Vf30監視して、ウィンドウ・サイズX1(図5)を算出する。ウィンドウ・サイズ算出部31は、算出したウィンドウ・サイズX1をTCPヘッダのウィンドウ・サイズ領域に反映して、パケットP200を生成する。生成されたパケットP200は、経路C208を介してIP制御部2に渡される。   The flow control in the AV device 200a will be specifically described below with reference to FIGS. In the TCP receiving terminal device 265a, before the reception of the data stream distributed from the home network 2000 is started, the window size calculating unit 31 in the TCP control unit 3 uses the free space of the TCP receiving buffer 30 via the path C206. The capacitance value Vf30 is monitored to calculate the window size X1 (FIG. 5). The window size calculation unit 31 reflects the calculated window size X1 in the window size area of the TCP header to generate a packet P200. The generated packet P200 is passed to the IP control unit 2 via the path C208.

IP制御部2では、IPプロトコルに従いパケットP200に対して送信処理を行った後に、経路C202を介して送受信部1に渡す。送受信部1は、渡されたパケットP200を宅内ネットワーク2000に送信する。   The IP control unit 2 performs transmission processing on the packet P200 according to the IP protocol, and then passes it to the transmission / reception unit 1 via the path C202. The transmission / reception unit 1 transmits the passed packet P200 to the home network 2000.

TCP送信端末装置260(図5)は、宅内ネットワーク2000よりパケットP200を受け取る。TCP送信端末装置260は、P200のTCPパケットヘッダHpに書き込まれているウィンドウ・サイズX1に基づいて送信データのバイト数を決定する。そして、TCP送信端末装置260は、配信するデータストリームを1つのあるいは複数パケット分割して、パケットP210、P211,P212として順次送信する。   The TCP transmission terminal device 260 (FIG. 5) receives the packet P200 from the home network 2000. The TCP transmission terminal device 260 determines the number of bytes of transmission data based on the window size X1 written in the TCP packet header Hp of P200. Then, the TCP transmission terminal device 260 divides the data stream to be distributed into one or a plurality of packets and sequentially transmits them as packets P210, P211 and P212.

TCP送信端末装置260から順次送信されたパケットP210、P211、およびP212は、インターネット1000、宅内ネットワーク2000、および経路C201を介して、送受信部1によって受信される。受信されたパケットP210、P211、およびP212は、経路C202を介して、IP制御部2に渡される。   Packets P210, P211, and P212 sequentially transmitted from the TCP transmission terminal device 260 are received by the transmission / reception unit 1 via the Internet 1000, the home network 2000, and the route C201. The received packets P210, P211 and P212 are passed to the IP control unit 2 via the path C202.

IP制御部2は、パケットP210、P211、およびP212に対してIPプロトコルに従った受信処理を施した後に、経路C203を介してTCP制御部3aのTCP受信バッファ30に渡す。   The IP control unit 2 performs reception processing according to the IP protocol on the packets P210, P211, and P212, and then passes them to the TCP reception buffer 30 of the TCP control unit 3a via the path C203.

TCP制御部3aでは、TCPの受信処理に従った処理が行われ、TCPパケットヘッダーHp(図5)に記載されているTCPシーケンス番号、およびTCPチェックサムに基づいて、受信パケット(P210、P211、およびP212)の正当性が判断される。そして、正当と判断された受信パケット(P210、P211、およびP212)からペイロード・データDpのみが抽出されて、経路C204を介してペイロード出力部4に渡される。さらに、ペイロード・データDpは、経路C205を介してペイロード出力部4からアプリケーション部100のアプリケーション・バッファ101に渡される。   In the TCP control unit 3a, processing according to the TCP reception processing is performed, and based on the TCP sequence number and the TCP checksum described in the TCP packet header Hp (FIG. 5), the received packets (P210, P211, And the validity of P212) is determined. Then, only the payload data Dp is extracted from the received packets (P210, P211, and P212) determined to be valid and passed to the payload output unit 4 via the path C204. Further, the payload data Dp is passed from the payload output unit 4 to the application buffer 101 of the application unit 100 via the path C205.

また、TCP制御部3aにおいて、ウィンドウ・サイズ算出部31は、経路C206を介してTCP受信バッファ30の空き容量値Vf30を監視して、ウィンドウ・サイズX2を算出する。ウィンドウ・サイズ算出部31において、算出されたウィンドウ・サイズX2は送信元に返信される確認応答ACK250に参照される。ACK250は経路C208を介してIP制御部2に渡される。   In the TCP control unit 3a, the window size calculation unit 31 monitors the free capacity value Vf30 of the TCP reception buffer 30 via the path C206 and calculates the window size X2. In the window size calculation unit 31, the calculated window size X2 is referred to by the confirmation response ACK 250 returned to the transmission source. The ACK 250 is passed to the IP control unit 2 via the route C208.

IP制御部2では、IPプロトコルに従い確認応答ACK250に対して送信処理を施した後に、経路C202を介して送受信部1に渡す。送受信部1は、確認応答ACK250を経路C201を介して宅内ネットワーク2000に送信する。以降同様に、TCP送信端末装置260からTCP受信端末装置265に対してパケットP213およびP214が送信される。   The IP control unit 2 performs transmission processing on the confirmation response ACK 250 according to the IP protocol, and then passes it to the transmission / reception unit 1 via the path C202. The transmission / reception unit 1 transmits an acknowledgment ACK 250 to the home network 2000 via the path C201. Thereafter, similarly, packets P213 and P214 are transmitted from the TCP transmission terminal apparatus 260 to the TCP reception terminal apparatus 265.

そして、ウィンドウ・サイズX3が算出され、確認応答ACK251がTCP送信端末装置260に対して送信される。なお、紙面の都合上、図7には、確認応答ACK250およびACK251と、パケットP213およびP214は表示されていない。   Then, the window size X3 is calculated, and the confirmation response ACK 251 is transmitted to the TCP transmission terminal device 260. Note that the confirmation responses ACK 250 and ACK 251 and packets P 213 and P 214 are not displayed in FIG. 7 due to space limitations.

図8に、従来のTCP受信端末装置265の更なる例として、特開2006−211015号公報(特許文献1)に提案されている無線通信端末装置(以降、「従来例2)の構成を、上述のTCP受信端末装置265aと対比して示す。本例におけるTCP受信端末装置265bも、アプリケーション部300と共に、AV機器200の一部を構成している。   In FIG. 8, as a further example of the conventional TCP receiving terminal device 265, the configuration of a wireless communication terminal device (hereinafter, “conventional example 2”) proposed in Japanese Patent Application Laid-Open No. 2006-2111015 (Patent Document 1) The comparison is made with the above-described TCP receiving terminal device 265a, and the TCP receiving terminal device 265b in this example also constitutes a part of the AV device 200 together with the application unit 300.

TCP受信端末装置265bは、TCP受信端末装置265aにおいて、送受信部1およびTCP制御部3aがそれぞれ送受信部1bおよびTCP制御部3bに置き換えられている。さらに、TCP制御部3bと送受信部1bの間に、バッファ量推定部401およびRWIN制御部402が追加されている。なお、バッファ量推定部401は、経路C451および経路C452によって、それぞれ送受信部1およびRWIN制御部402と双方向に接続されている。RWIN制御部402は、経路C453によって、TCP制御部3bと双方向に接続されている。   In the TCP reception terminal device 265b, the transmission / reception unit 1 and the TCP control unit 3a are replaced with a transmission / reception unit 1b and a TCP control unit 3b, respectively, in the TCP reception terminal device 265a. Further, a buffer amount estimation unit 401 and an RWIN control unit 402 are added between the TCP control unit 3b and the transmission / reception unit 1b. Note that the buffer amount estimation unit 401 is bidirectionally connected to the transmission / reception unit 1 and the RWIN control unit 402 via a path C451 and a path C452, respectively. The RWIN control unit 402 is bidirectionally connected to the TCP control unit 3b through a path C453.

送受信部1bは、送受信部1と異なり、受信バッファ10を内蔵している。一方、TCP制御部3bは、TCP制御部3aと異なり、TCP受信バッファ30およびウインドウ・サイズ算出部31を内蔵していない。   Unlike the transmission / reception unit 1, the transmission / reception unit 1 b includes a reception buffer 10. On the other hand, unlike the TCP control unit 3a, the TCP control unit 3b does not include the TCP reception buffer 30 and the window size calculation unit 31.

受信を開始する前に、バッファ量推定部401は、経路C451を介して送受信部1b内の受信バッファ10の空き容量値Vf10を推定し、経路C452を介してRWIN制御部402に空容量値Vf10を通知する。RWIN制御部402は、経路C452より通知された空容量値Vf10に基づいて、受信可能なバイト数のウィンドウ・サイズX1を決定して、経路C453を介してTCP制御部400に決定されたウィンドウ・サイズX1を通知する。   Before starting the reception, the buffer amount estimation unit 401 estimates the free capacity value Vf10 of the reception buffer 10 in the transmission / reception unit 1b via the path C451, and sends the free capacity value Vf10 to the RWIN control unit 402 via the path C452. To be notified. The RWIN control unit 402 determines the window size X1 of the number of receivable bytes based on the empty capacity value Vf10 notified from the path C452, and determines the window size determined by the TCP control unit 400 via the path C453. The size X1 is notified.

以降、上述のAV機器200aにおけるのと同様の処理の結果、TCP送信端末装置260からTCP受信端末装置265bに対してPパケット210〜P212が順次送信され、Pパケット210〜P212からペイロード・データDpが抽出されて、アプリケーション・バッファ101に渡される。   Thereafter, as a result of the same processing as in the AV device 200a described above, P packets 210 to P212 are sequentially transmitted from the TCP transmission terminal device 260 to the TCP reception terminal device 265b, and the payload data Dp is transmitted from the P packets 210 to P212. Are extracted and passed to the application buffer 101.

なお、バッファ量推定部401は、定期的に受信バッファ10の空き容量値Vf10を推定して、RWIN制御部402に通知する。RWIN制御部402は、空き容量値Vf10に基づいて、受信可能なバイト数を表すウィンドウ・サイズX2を決定してTCP制御部3bに通知する。以降の処理は、上述のAV機器200aにおけるのと同様であるので、説明を省く。   The buffer amount estimation unit 401 periodically estimates the free capacity value Vf10 of the reception buffer 10 and notifies the RWIN control unit 402 of it. The RWIN control unit 402 determines a window size X2 representing the number of receivable bytes based on the free capacity value Vf10 and notifies the TCP control unit 3b of the window size X2. Since the subsequent processing is the same as that in the above-described AV device 200a, description thereof will be omitted.

上述のように、TCP通信プロトコルでは、受信側(TCP受信端末装置265)からTCP送信端末装置260に対して、ウィンドウ・サイズを制御することにより、受信するデータ量を調整するフロー制御が行われる。つまり、TCP通信プロトコルでは送信側(TCP送信端末装置260)は、受信側(TCP受信端末装置265)で受信可能なバイト数以上のパケットを送信することはないため、受信側(TCP受信端末装置265)で送信されたパケットを取りこぼすことはない。   As described above, in the TCP communication protocol, flow control for adjusting the amount of data to be received is performed by controlling the window size from the reception side (TCP reception terminal device 265) to the TCP transmission terminal device 260. . In other words, in the TCP communication protocol, the transmission side (TCP transmission terminal device 260) does not transmit a packet larger than the number of bytes that can be received by the reception side (TCP reception terminal device 265). The packet transmitted in (265) is not missed.

次に、図9を参照して、TCP通信プロトコルのデータ伝送性能について説明する。図9において、ウィンドウ・サイズX1とパケット210、P211、およびP212との関係、確認応答ACK250(ウィンドウ・サイズX2)とパケットP213およびP214の関係が示されている。なお、RTTは、データ転送の開始から、次のデータ転送が開始するまでのラウンド・トリップ・タイムを表している。本例においては、パケットP200(ウィンドウ・サイズX1)に応答してパケットP210の送信が開始されてから、確認応答ACK250(ウインドウ・サイズX2)に応答してパケットP213の送信が開始されるまでの時間である。   Next, the data transmission performance of the TCP communication protocol will be described with reference to FIG. FIG. 9 shows the relationship between the window size X1 and the packets 210, P211, and P212, and the relationship between the acknowledgment ACK 250 (window size X2) and the packets P213 and P214. Note that RTT represents the round trip time from the start of data transfer to the start of the next data transfer. In this example, transmission of the packet P210 is started in response to the packet P200 (window size X1) until transmission of the packet P213 is started in response to the acknowledgment ACK 250 (window size X2). It's time.

ラウンド・トリップ・タイムRTTとウィンドウ・サイズX(バイト)により、伝送性能は次式(1)によって表現できる。
伝送性能 = X/ RTT ・・・・式(1)
With the round trip time RTT and the window size X (bytes), the transmission performance can be expressed by the following equation (1).
Transmission performance = X / RTT ... Formula (1)

上式(1)より、例えば、ラウンド・トリップ・タイムRTTは同程度の値であり、ウィンドウ・サイズXが異なる2つの受信端末装置の間には、ウィンドウ・サイズXに起因して伝送性能に差が生じることが分かる。つまり、TOEとして1チップに実現されたTCP受信端末装置265では、装置内のバッファの空き容量値Vfがウィンドウ・サイズXとして送信元に通知されるため、ウィンドウ・サイズXの最大値は搭載したバッファの容量となる。それゆえに、伝送性能を上げるためには、大容量のバッファを持つ必要があり、コスト高を招く。   From the above equation (1), for example, the round trip time RTT has the same value, and the transmission performance between the two receiving terminal devices having different window sizes X depends on the window size X. It can be seen that there is a difference. In other words, in the TCP receiving terminal device 265 implemented as a single chip as the TOE, the free space value Vf of the buffer in the device is notified to the transmission source as the window size X, so the maximum value of the window size X is mounted. It becomes the capacity of the buffer. Therefore, in order to improve the transmission performance, it is necessary to have a large-capacity buffer, resulting in high cost.

また、伝送性能を上げる別の方法として、TCP制御部内のバッファのサイズ以上のウィンドウ・サイズXを通知することも可能である。しかし、アプリケーション部100においてアプリケーション・バッファ101の枯渇が近いことが経路C301を介してTCP受信端末装置265に通知された場合には、ペイロード抽出部4によるバッファからのペイロード抽出が停止する。この場合、TCP受信端末装置内のバッファは、受信可能以上のパケットを受信することになる。結果、受信パケットのオーバー・ランが発生して、パケット損失が生じる。そして、損失したパケットの再送が頻発し、ネットワーク負荷の増大と伝送効率が低下する。
特開2006−211015号公報
As another method for improving the transmission performance, it is also possible to notify a window size X that is equal to or larger than the size of the buffer in the TCP control unit. However, when the application unit 100 is notified that the application buffer 101 is almost exhausted via the path C301 to the TCP receiving terminal device 265, the payload extraction unit 4 stops the payload extraction from the buffer. In this case, the buffer in the TCP receiving terminal apparatus receives more packets than can be received. As a result, an overrun of the received packet occurs and packet loss occurs. Then, retransmission of lost packets occurs frequently, increasing network load and reducing transmission efficiency.
JP 2006-2111015 A

本発明は、上記の問題点に鑑みて、バッファを最小にし、かつ、バッファ内でのオーバー・ランによるパケット損失による再送を防ぐことにより、必要以上の負荷をネットワークに掛けることなく、伝送効率を低下させない受信端末装置を提供することを目的とする。   In view of the above problems, the present invention minimizes the buffer and prevents retransmission due to packet loss due to overrun in the buffer, thereby reducing transmission efficiency without imposing an unnecessary load on the network. An object of the present invention is to provide a receiving terminal device that does not decrease.

上記目的を達成するために、本発明にかかる受信端末装置は、
受信可能なデータサイズを表すウィンドウ・サイズを通知して、送信端末装置に対するデータ送信のフロー制御を行う通信プロトコルを使用するデータ伝送に用いられる受信端末装置であって、
前記データのペイロード長を検出するペイロード長検出手段と、
予め指示された最大ウィンドウ・サイズを保持する最大ウィンドウ・サイズ保持手段と、
前記最大ウィンドウ・サイズと前記ペイロード長と外部より与えられるフロー制御指示に基づいて前記ウィンドウ・サイズを算出するウィンドウ・サイズ算出手段とを備えている。
In order to achieve the above object, a receiving terminal device according to the present invention provides:
A receiving terminal device used for data transmission using a communication protocol that notifies a window size representing a receivable data size and performs flow control of data transmission to the transmitting terminal device,
Payload length detecting means for detecting the payload length of the data;
Maximum window size holding means for holding a pre-specified maximum window size;
Window size calculating means for calculating the window size based on the maximum window size, the payload length, and a flow control instruction given from the outside.

ここで、前記通信プロトコルはTCPプロトコルであることが好ましい。また前記ウィンドウ・サイズ算出手段は、前記フロー制御指示の開始時点から前記ペイロード長を減算した値を前記ウィンドウ・サイズとして算出することが好ましい。もしくは前記ウィンドウ・サイズ算出手段は、前記フロー制御指示が与えられない場合は、前記最大ウィンドウ・サイズを前記ウィンドウ・サイズとして算出することが好ましい。   Here, the communication protocol is preferably a TCP protocol. Further, it is preferable that the window size calculating means calculates a value obtained by subtracting the payload length from the start time of the flow control instruction as the window size. Alternatively, it is preferable that the window size calculation means calculates the maximum window size as the window size when the flow control instruction is not given.

前記最大ウィンドウ・サイズの値は、外部のアプリケーション処理部において受信可能なデータバッファ容量が64KB−1以上であれば、64KB−1の値が設定される。これに対し、前記最大ウィンドウ・サイズの値は、外部のアプリケーション処理部において受信可能なデータバッファ容量が64KB−1未満であれば、外部のアプリケーション処理部の受信可能なデータバッファ容量が設定される。   The value of the maximum window size is set to 64 KB-1 if the data buffer capacity that can be received by the external application processing unit is 64 KB-1 or more. On the other hand, if the data buffer capacity receivable by the external application processing unit is less than 64 KB-1, the maximum window size value is set to the data buffer capacity receivable by the external application processing unit. .

本発明においては、ペイロードを蓄積するバッファの容量に基づいて受信可能なウィンドウ・サイズを決定できる。   In the present invention, the receivable window size can be determined based on the capacity of the buffer for storing the payload.

(第1の実施の形態)
以下に、図1、および図2を参照して、本発明の第1の実施の形態にかかるTCP受信端末装置について説明する。図1に示すように、TCP受信端末装置265_1は、アプリケーション部300およびCPU710aと共にAV機器200の一部を構成している。TCP受信端末装置265_1は、TCP受信端末装置265a(図7)において、TCP制御部3aがTCP制御部3に交換されると共に、最大ウインドウ・サイズ保持部700およびウインドウサイズ算出部701が新たに追加されている。
(First embodiment)
A TCP receiving terminal device according to the first embodiment of the present invention will be described below with reference to FIGS. 1 and 2. As shown in FIG. 1, the TCP receiving terminal device 265_1 constitutes a part of the AV device 200 together with the application unit 300 and the CPU 710a. In the TCP receiving terminal device 265_1, in the TCP receiving terminal device 265a (FIG. 7), the TCP control unit 3a is replaced with the TCP control unit 3, and a maximum window size holding unit 700 and a window size calculating unit 701 are newly added. Has been.

最大ウインドウ・サイズ保持部700は経路C760によって、CPU710aに接続されている。CPU710aは経路C761によってアプリケーション部300のAlmost_Full検出部102と双方向に接続されている。ウインドウ・サイズ算出部701は、経路C752および経路C301によって、最大ウインドウ・サイズ保持部700およびAlmost_Full検出部102にそれぞれ接続されている。   The maximum window size holding unit 700 is connected to the CPU 710a through a path C760. The CPU 710a is bidirectionally connected to the Almost_Full detection unit 102 of the application unit 300 through a path C761. The window size calculation unit 701 is connected to the maximum window size holding unit 700 and the Almost_Full detection unit 102 through a route C752 and a route C301, respectively.

ウインドウ・サイズ算出部701はさらに、経路C751によってTCP制御部3と双方向に接続されている。TCP制御部3は、基本的に上述のTCP制御部3a(図7)からTCP受信バッファ30およびウインドウ・サイズ算出部31が除かれて構成されていると共に、TCP制御部3aが有していない機能(後述)を有している。   The window size calculation unit 701 is further bidirectionally connected to the TCP control unit 3 through a path C751. The TCP control unit 3 is basically configured by removing the TCP reception buffer 30 and the window size calculation unit 31 from the above-described TCP control unit 3a (FIG. 7), and is not included in the TCP control unit 3a. It has a function (described later).

Almost_Full検出部102は、経路300を介して、アプリケーション・バッファ101がバッファリングしたデータ量がAlmost_Fullの閾値Thに達しているか否かを監視している。つまり、Almost_Full検出部102は、
アプリケーション・バッファ101の使用量Vbに基づいて、バファリングデータ量が閾値Thに達しているか否かの状態を表す信号 (以降、「Almost_Full_st」)をフロー制御指示として、経路301を介して、ウィンドウ・サイズ算出手段701に通知する。
The Almost_Full detector 102 monitors whether or not the amount of data buffered by the application buffer 101 has reached the threshold Th of Almost_Full via the path 300. That is, the Almost_Full detection unit 102
Based on the usage amount Vb of the application buffer 101, a signal indicating the state of whether or not the buffering data amount has reached the threshold value Th (hereinafter, “Almost_Full_st”) is used as a flow control instruction, and the window 301 is passed through the path 301. Notify the size calculation means 701.

CPU710aは、Almost_Full検出部102によるAlmost_Full検出用閾値Thに基づいて、アプリケーション部300にて受信可能なデータサイズを求める。求められたデータサイズに基づいて、CPU710aは最大ウィンドウ・サイズWin_SZ(max)を決定する。CPU710aは経路C760を介して最大ウインドウ・サイズ保持部700に最大ウィンドウ・サイズWin_SZ(max)を設定する。   The CPU 710 a obtains a data size receivable by the application unit 300 based on the Almost_Full detection threshold Th by the Almost_Full detection unit 102. Based on the obtained data size, the CPU 710a determines the maximum window size Win_SZ (max). The CPU 710a sets the maximum window size Win_SZ (max) in the maximum window size holding unit 700 via the path C760.

最大ウィンドウ・サイズ保持部6は、ウィンドウ・サイズ算出部701に常時、経路C752を介して設定された最大ウィンドウ・サイズWin_SZ(max)を通知する。ウインドウ・サイズ算出部701は、通知されたWin_SZ(max)に基づいて、ウインドウ・サイズXを算出する。   The maximum window size holding unit 6 constantly notifies the window size calculation unit 701 of the maximum window size Win_SZ (max) set via the path C752. The window size calculation unit 701 calculates the window size X based on the notified Win_SZ (max).

最大ウィンドウ・サイズWin_SZ(max)、つまりアプリケーション・バッファ101にて受信可能なデータバッファ容量が64KB−1以上であれば、ウィンドウ・サイズXとして64KB−1の値が設定される。また、最大ウィンドウ・サイズWin_SZ(max)が64KB未満であれば、アプリケーション・バッファ101のデータバッファ容量がウィンドウ・サイズXとして設定される。   If the maximum window size Win_SZ (max), that is, the data buffer capacity that can be received by the application buffer 101 is 64 KB-1 or more, a value of 64 KB-1 is set as the window size X. If the maximum window size Win_SZ (max) is less than 64 KB, the data buffer capacity of the application buffer 101 is set as the window size X.

次に、AV機器200におけるTCPパケット受信について説明する。TCPパケットの受信開始前に、ウィンドウ・サイズ算出部701は、経路C301を介して入力されるAlmost_Full_Stを参照して、ウィンドウ・サイズX1を決定する。決定されたウィンドウ・サイズX1は、経路C751を介してTCP制御部3に通知される。   Next, TCP packet reception in the AV device 200 will be described. Before starting the reception of the TCP packet, the window size calculation unit 701 refers to Almost_Full_St input via the path C301 to determine the window size X1. The determined window size X1 is notified to the TCP control unit 3 via the path C751.

TCP制御部3は、ウィンドウ・サイズX1をTCPパケットヘッダHpのウィンドウ・サイズ領域に反映させて、パケットP200を生成する。パケットP200は、経路C750を介してIP制御部2に渡される。上述のごとく、パケットP200は、IP制御部2によってIPプロトコルに従う送信処理が施された後に、経路C202、送受信部1、および経路C201を介して宅内ネットワーク2000に送信される。   The TCP control unit 3 reflects the window size X1 in the window size area of the TCP packet header Hp to generate a packet P200. The packet P200 is passed to the IP control unit 2 via the route C750. As described above, the packet P200 is transmitted to the home network 2000 via the route C202, the transmission / reception unit 1, and the route C201 after being subjected to transmission processing according to the IP protocol by the IP control unit 2.

以降、TCP送信端末装置260が宅内ネットワーク2000を介してパケットP200を受け取ってから、パケットP210,211,212がTCP制御部3に渡され、TCP制御部3からペイロード・データDpがアプリケーション・バッファ101に渡されるまでの処理は上述の通りである。なお、TCP制御部3は、さらに、正当と判断されたパケットのペイロード・データ長を算出する。そしてTCP制御部3は、算出されたペイロード・データ長PLD_LENを経路C751を介して、ウィンドウ・サイズ算出部701に渡す。   Thereafter, after the TCP transmission terminal device 260 receives the packet P200 via the home network 2000, the packets P210, 211, and 212 are transferred to the TCP control unit 3, and the payload data Dp is transferred from the TCP control unit 3 to the application buffer 101. The process up to being passed to is as described above. The TCP control unit 3 further calculates the payload / data length of a packet that is determined to be valid. The TCP control unit 3 passes the calculated payload data length PLD_LEN to the window size calculation unit 701 via the path C751.

アプリケーション部300において、アプリケーション・バッファ101は経路C205より受け取ったペイロード・データDpをバッファリングする。Almost_Full検出部102は、経路C300を介して、アプリケーション・バッファ101がバッファリングしているデータ量(使用量Vb)に基づいて、Almost_Full_stを生成して、ウィンドウ・サイズ算出部701にフロー制御指示として通知することは上述の通りである。   In the application unit 300, the application buffer 101 buffers the payload data Dp received from the path C205. The Almost_Full detection unit 102 generates Almost_Full_st based on the data amount (usage amount Vb) buffered by the application buffer 101 via the path C300, and sends it to the window size calculation unit 701 as a flow control instruction. The notification is as described above.

ウィンドウ・サイズ算出部701では、フロー制御指示(Almost_Full_st)を参照して、受信可能である適切なウィンドウ・サイズXを決定する。そして、決定されたウィンドウ・サイズXが上述のウィンドウ・サイズX1、X2、およびX3として、パケットの送信元であるTCP送信端末装置260に通知されることにより、TCPパケット伝送のフロー制御が行われる。   The window size calculation unit 701 determines an appropriate window size X that can be received with reference to the flow control instruction (Almost_Full_st). Then, the determined window size X is notified as the above-described window sizes X1, X2, and X3 to the TCP transmission terminal device 260 that is a packet transmission source, thereby performing flow control of TCP packet transmission. .

以下に、ウインドウ・サイズ算出部701によるウィンドウ・サイズXの算出方法について説明する。TCP制御部3よりPLD_LENを受け取ると、ウインドウ・サイズ算出部701は最大ウィンドウ・サイズ保持部700より通知されたWin_SZ(max)とアプリケーション部300より通知されたAlmost_Full_stとを参照し、Almost_Full_stの状態に応じて、以下に述べるルールに従ってウィンドウ・サイズCur_Win_SZを算出する。   A method for calculating the window size X by the window size calculation unit 701 will be described below. Upon receiving PLD_LEN from the TCP control unit 3, the window size calculation unit 701 refers to Win_SZ (max) notified from the maximum window size holding unit 700 and Almost_Full_st notified from the application unit 300, and enters the state of Almost_Full_st. In response, the window size Cur_Win_SZ is calculated according to the rules described below.

<ルール1>
Almost_Full_Stが0、つまりアプリケーション部300の使用量Vbは閾値Th未満である場合、アプリケーション部300(アプリケーション・バッファ101)では、最大ウィンドウ・サイズWin_Sz(Max)以上にペイロード・データDpを受入可能である。この場合、ウィンドウ・サイズCur_Win_SZは次式(2)で表すように設定される。
Cur_Win_SZ = Win_SZ(max)・・・・(2)
<Rule 1>
When Almost_Full_St is 0, that is, when the usage amount Vb of the application unit 300 is less than the threshold Th, the application unit 300 (application buffer 101) can accept payload data Dp larger than the maximum window size Win_Sz (Max). . In this case, the window size Cur_Win_SZ is set as represented by the following equation (2).
Cur_Win_SZ = Win_SZ (max) (2)

<ルール2>
Almost_Full_Stが1、つまりアプリケーション部300の使用量Vbが閾値Th以上である場合、アプリケーション部300(アプリケーション・バッファ101)では、最大ウィンドウ・サイズWin_Sz(Max)を上限としてペイロード・データDpを受入可能である。ただし、ペイロード・データDpを受け取る度に、アプリケーション部300が受け入れることができるペイロード・データDpの数は小さくなる。この場合、ウィンドウ・サイズCur_Win_SZは次式(3)で表すように設定される。
Cur_Win_SZ = Win_SZ(max)−PLD_LEN(sum)
・・・・ (3)
なお、PLD_LEN(sum)は、Almost_Full_Stにより、アプリケーション・バッファ101の使用量Vbが閾値Th以上である場合のPLD_LENを累計した値である。
<Rule 2>
When Almost_Full_St is 1, that is, when the usage amount Vb of the application unit 300 is equal to or greater than the threshold Th, the application unit 300 (application buffer 101) can receive payload data Dp with the maximum window size Win_Sz (Max) as an upper limit. is there. However, each time payload data Dp is received, the number of payload data Dp that can be accepted by the application unit 300 decreases. In this case, the window size Cur_Win_SZ is set as represented by the following equation (3).
Cur_Win_SZ = Win_SZ (max) −PLD_LEN (sum)
(3)
Note that PLD_LEN (sum) is a value obtained by accumulating PLD_LEN when the usage Vb of the application buffer 101 is equal to or greater than the threshold Th by Almost_Full_St.

あるいは、次式(4)で表すように設定される。
Cur_Win_SZ =Old_Win_SZ−PLD_LEN
・・・・ (4)
なお、Old_Win_SZは、前の回設定されたCur_Win_SZの値である。
Or it sets so that it may represent with following Formula (4).
Cur_Win_SZ = Old_Win_SZ-PLD_LEN
(4)
Note that Old_Win_SZ is the value of Cur_Win_SZ set in the previous round.

このようにして、ウインドウ・サイズ算出部701によって求められたCur_Win_SZは、TCP制御部3によってウィンドウ・サイズX2として参照されて、確認応答ACK250が生成される。以降、同様にして、確認応答ACK251が生成されてデータの送受信処理が行われる。   In this manner, Cur_Win_SZ obtained by the window size calculation unit 701 is referred to as the window size X2 by the TCP control unit 3, and the confirmation response ACK 250 is generated. Thereafter, similarly, an acknowledgment ACK 251 is generated and data transmission / reception processing is performed.

次に、図2を参照して、ウィンドウ・サイズ算出部701による、ウィンドウ・サイズの算出方法について説明する。図2において、横軸は時刻tを示し、各実線は、上段からアプリケーション・バッファ101の使用量Vb、Almost_Full検出部102のAlmost_full_st、およびウインドウ・サイズ算出部701が設定するウィンドウ・サイズXの時刻tに対する遷移状態を表している。なお、Almost_Full_stの値が0の場合はアプリケーション・バッファ101の使用量Vbは閾値Th未満であり、1である場合はアプリケーション・バッファ101の使用量Vbは閾値Th以上である。   Next, a window size calculation method by the window size calculation unit 701 will be described with reference to FIG. In FIG. 2, the horizontal axis indicates time t, and each solid line indicates, from the top, the usage amount Vb of the application buffer 101, Almost_full_st of the Almost_Full detection unit 102, and the time of window size X set by the window size calculation unit 701. It represents the transition state for t. When the value of Almost_Full_st is 0, the usage amount Vb of the application buffer 101 is less than the threshold Th, and when it is 1, the usage amount Vb of the application buffer 101 is greater than or equal to the threshold Th.

Almost_Full_stの値は、時刻t0から0を維持して、時刻t1において1になる。時刻t0から時刻t1迄のAlmost_Full_stの値が0である期間をF1とする。時刻t1以降は、Almost_Full_stの値は1を維持して、時刻t3で再び0になる。このAlmost_Full_stの値が1である期間のうち時刻t1からアプリケーション・バッファ101の使用量Vbが最大になる時刻t2までの期間をF2、時刻t2からAlmost_Full_stの値が再び0になる時刻t3までの期間をF3とする。   The value of Almost_Full_st maintains 0 from time t0 and becomes 1 at time t1. A period in which the value of Almost_Full_st from time t0 to time t1 is 0 is defined as F1. After time t1, the value of Almost_Full_st maintains 1 and becomes 0 again at time t3. Of the period in which the value of Almost_Full_st is 1, the period from time t1 to time t2 when the usage amount Vb of the application buffer 101 becomes maximum is F2, and the period from time t2 to time t3 when the value of Almost_Full_st becomes 0 again Is F3.

Almost_Full_stが0となる期間F1においては、アプリケーション・バッファ101の使用量Vbは増加傾向にあるが閾値Thに達していない。よって、ウィンドウ・サイズXは最大ウィンドウ・サイズWin_Sz(Max)である。   In the period F1 in which Almost_Full_st is 0, the usage amount Vb of the application buffer 101 tends to increase but does not reach the threshold Th. Therefore, the window size X is the maximum window size Win_Sz (Max).

期間F2においては、アプリケーション・バッファ101の使用量Vbは閾値Thを超えることから、のAlmost_Full_stの値は1となり、ウィンドウ・サイズXは減少する。アプリケーション・バッファ101の使用量Vbが増加すれば、ウィンドウ・サイズXは最終的に、時刻t2に0になる。この時点でアプリケーション・バッファ101の使用量Vbは減少に転じる。   In the period F2, since the usage amount Vb of the application buffer 101 exceeds the threshold Th, the value of Almost_Full_st becomes 1, and the window size X decreases. If the use amount Vb of the application buffer 101 increases, the window size X finally becomes 0 at time t2. At this time, the usage amount Vb of the application buffer 101 starts to decrease.

期間F3においては、アプリケーション・バッファ101には新たなデータが蓄積されることなく、アプリケーション・バッファ101からは既に蓄積されているデータが読み出されて処理されていくだけである。よって、のアプリケーション・バッファの使用量Vbは時刻t2より減少していき、時刻t3に閾値Thに達する。それに伴い、Almost_Full_stが0になり、ウィンドウ・サイズXは最大ウィンドウ・サイズWin_Sz(Max)に設定される。   In the period F3, new data is not accumulated in the application buffer 101, but the data already accumulated is read from the application buffer 101 and processed. Therefore, the application buffer usage Vb decreases from time t2 and reaches the threshold Th at time t3. Accordingly, Almost_Full_st becomes 0, and the window size X is set to the maximum window size Win_Sz (Max).

そして、時刻t3に設定されたウィンドウ・サイズX(Win_Sz(max))に応答して、アプリケーション・バッファ101のバファリングが再開して、使用量Vbが再び閾値Thを超える。そして、Almost_full_stも1に設定される。結果、期間F2におけるのと同様に、ウィンドウ・サイズXは減少していく。   Then, in response to the window size X (Win_Sz (max)) set at time t3, the buffering of the application buffer 101 is resumed, and the usage amount Vb again exceeds the threshold Th. Almost_full_st is also set to 1. As a result, the window size X decreases as in the period F2.

上述のように、アプリケーション・バッファ101の使用量Vbに基づいて、送信元のサーバ100に返信する確認応答ACKのウィンドウ・サイズXが制御されて、送信元のサーバ100に対するフロー制御が行われる。結果、TCP受信端末265でのバッファのオーバー・ランが防止されて、効率の良いデータ伝送が可能となる。   As described above, the window size X of the acknowledgment ACK returned to the transmission source server 100 is controlled based on the usage amount Vb of the application buffer 101, and the flow control for the transmission source server 100 is performed. As a result, buffer overrun at the TCP receiving terminal 265 is prevented, and efficient data transmission becomes possible.

さらに、従来のTCP受信端末装置においては、ウィンドウ・サイズXはパケット単位でバッファリングする受信バッファのサイズに基づいて決定されている。そのために、ウィンドウ・サイズXを大きくするためには、用いる受信バッファの容量も大きくする必要がある。しかしながら、本発明においては、ウィンドウ・サイズXはペイロード・データ単位でバッファリングするアプリケーション・バッファのサイズに基づいて決定される。つまり、ウィンドウ・サイズXによるフロー制御のために必要とされて受信バッファは不要である。また、アプリケーション・バッファに要求される容量は、受信バッファに要求される容量よりも小さくので、TCP受信端末装置におけるバッファ容量を最小にすることができる。   Further, in the conventional TCP receiving terminal device, the window size X is determined based on the size of the receiving buffer buffered in units of packets. Therefore, in order to increase the window size X, it is necessary to increase the capacity of the reception buffer to be used. However, in the present invention, the window size X is determined based on the size of the application buffer that is buffered in units of payload data. In other words, it is required for flow control by the window size X and no reception buffer is required. Further, since the capacity required for the application buffer is smaller than the capacity required for the reception buffer, the buffer capacity in the TCP receiving terminal device can be minimized.

(第2の実施の形態)
図3を参照して、本発明の第2の実施の形態にかかるTCP受信端末装置について説明する。本例におけるTCP受信端末装置265_2は、図1に示したTCP受信端末装置265_1において、CPU710aがCPU710bに交換されている。それに伴い、ウインドウ・サイズ算出部701をAlmost_Full検出部102に接続していた経路C301が取り除かれて、ウインドウ・サイズ算出部701をCPU710bに接続する経路C762が設けられている。
(Second Embodiment)
A TCP receiving terminal apparatus according to the second embodiment of the present invention will be described with reference to FIG. In the TCP receiving terminal device 265_2 in this example, the CPU 710a is replaced with a CPU 710b in the TCP receiving terminal device 265_1 shown in FIG. Accordingly, a path C301 that connects the window size calculation unit 701 to the Almost_Full detection unit 102 is removed, and a path C762 that connects the window size calculation unit 701 to the CPU 710b is provided.

結果、Almost_Full検出部102で生成されたAlmost_Full_stは経路C761を介して、ウインドウ・サイズ算出部701ではなく、CPU710bに渡される。CPU710bは、Almost_Full_stに基づいて、TCP送信端末装置260に対するフロー制御信号Scを生成する。フロー制御信号Scは、経路C762を介して、ウインドウ・サイズ算出部701に渡される。このように構成することによって、本実施の形態においては、アプリケーション・バッファ101の使用量Vbに応じてダイレクトに変化するAlmost_Full_Stに対して処理を加えることにより、さらに細やかなフロー制御が可能である。   As a result, Almost_Full_st generated by the Almost_Full detection unit 102 is passed to the CPU 710b via the path C761, not the window size calculation unit 701. The CPU 710b generates a flow control signal Sc for the TCP transmission terminal device 260 based on Almost_Full_st. The flow control signal Sc is passed to the window size calculation unit 701 via the path C762. With this configuration, in the present embodiment, more precise flow control is possible by adding processing to Almost_Full_St that changes directly according to the usage amount Vb of the application buffer 101.

つまり、本発明によれば、TCP受信端末装置内に大容量のTCPバッファを必要とせず、バッファを最小容量にでき、コストを安くできる。さらに、ウィンドウ・サイズをシステム要件、ネットワーク環境に合わせ、柔軟対応可能となり、かつ、TCP受信端末装置内のバッファにてパケットの損失は発生せず、ネットワーク負荷をかけずに効率よく伝送できる。   That is, according to the present invention, the TCP receiving terminal device does not require a large-capacity TCP buffer, the buffer can be minimized, and the cost can be reduced. Furthermore, the window size can be flexibly adapted to the system requirements and the network environment, and no packet loss occurs in the buffer in the TCP receiving terminal device, so that it can be efficiently transmitted without applying a network load.

以上、TCP通信プロトコルを用いるTCP受信端末装置を例に、本発明にかかる実施の形態について具体的に説明した。しかしながらこれらの記述は本発明の適用の範囲を限定するものでは無く、その他フロー制御を行う同様のプロトコルにおいても適用可能である。   The embodiment according to the present invention has been specifically described above by taking the TCP receiving terminal device using the TCP communication protocol as an example. However, these descriptions do not limit the scope of application of the present invention, and can be applied to other similar protocols that perform flow control.

本発明は、TCP通信プロトコルおよびTCP通信プロトコルと同様のフロー制御をおこなう通信プロトコルを使用するネットワーク伝送に柔軟に対応できる。具体的には、そのようなネットワークに接続される家電製品やモバイル端末等の用途に有用である。   The present invention can flexibly deal with network transmission using a TCP communication protocol and a communication protocol that performs flow control similar to the TCP communication protocol. Specifically, it is useful for applications such as home appliances and mobile terminals connected to such networks.

本発明の第1の実施の形態にかかるTCP受信端末装置の構成を表すブロック図The block diagram showing the structure of the TCP receiving terminal device concerning the 1st Embodiment of this invention 図1に示すウィンドウ・サイズ算出部による、ウィンドウ・サイズの算出方法の説明図Explanatory drawing of the calculation method of window size by the window size calculation part shown in FIG. 本発明の第2の実施の形態にかかるTCP受信端末装置の構成を表すブロック図The block diagram showing the structure of the TCP receiving terminal device concerning the 2nd Embodiment of this invention ストリーミング配信ネットワークの構成図Streaming distribution network configuration diagram TCP通信プロトコルによるデータ伝送シーケンス図Data transmission sequence diagram using TCP communication protocol TCP通信プロトコルに用いられるパケットヘッダの説明図Explanatory drawing of packet header used for TCP communication protocol 従来のTCP受信端末装置の構成の一例を示すブロック図Block diagram showing an example of a configuration of a conventional TCP receiving terminal device 従来のTCP受信端末装置の構成の更なる例を示すブロック図A block diagram showing a further example of the configuration of a conventional TCP receiving terminal device TCP通信プロトコルによるデータ伝送の伝送性能の説明図Illustration of transmission performance of data transmission by TCP communication protocol

符号の説明Explanation of symbols

NW ストリーミング配信ネットワーク
100、100_1、100_2、100_3 サーバ
1000 インターネット
1004 ルータ
2000 宅内ネットワーク
200 AV機器
200_1 デジタルTV
200_2 デジタル・ビデオ録画機
200_3 オーディオ機器
200_4 PC
260 TCP送信端末装置
265a、265b、265_1、265_2 TCP受信端末装置
300 アプリケーション部
1 送受信部
2 IP制御部
3、3a、3b TCP制御部
4 ペイロード出力部
30 TCP受信バッファ
31 ウィンドウ・サイズ算出部
101 アプリケーション・バッファ
102 Almost_Full検出部
401 バッファ量推定部
402 RWIN制御部
700 最大ウィンドウ・サイズ保持部
701 ウィンドウ・サイズ算出部
NW streaming distribution network 100, 100_1, 100_2, 100_3 Server 1000 Internet 1004 Router 2000 Home network 200 AV equipment 200_1 Digital TV
200_2 Digital video recorder 200_3 Audio equipment 200_4 PC
260 TCP transmission terminal device 265a, 265b, 265_1, 265_2 TCP reception terminal device 300 Application unit 1 Transmission / reception unit 2 IP control unit 3, 3a, 3b TCP control unit 4 Payload output unit 30 TCP reception buffer 31 Window size calculation unit 101 Application Buffer 102 Almost_Full detection unit 401 Buffer amount estimation unit 402 RWIN control unit 700 Maximum window size holding unit 701 Window size calculation unit

Claims (6)

受信可能なデータサイズを表すウィンドウ・サイズを通知して、送信端末装置に対するデータ送信のフロー制御を行う通信プロトコルを使用するデータ伝送に用いられる受信端末装置であって、
前記データのペイロード長を検出するペイロード長検出手段と、
予め指示された最大ウィンドウ・サイズを保持する最大ウィンドウ・サイズ保持手段と、
前記最大ウィンドウ・サイズと前記ペイロード長と外部より与えられるフロー制御指示に基づいて前記ウィンドウ・サイズを算出するウィンドウ・サイズ算出手段とを備える受信端末装置。
A receiving terminal device used for data transmission using a communication protocol that notifies a window size representing a receivable data size and performs flow control of data transmission to the transmitting terminal device,
Payload length detecting means for detecting the payload length of the data;
Maximum window size holding means for holding a pre-specified maximum window size;
A receiving terminal device comprising: a window size calculating unit that calculates the window size based on the maximum window size, the payload length, and a flow control instruction given from outside.
前記通信プロトコルはTCPプロトコルであることを特徴とする請求項1に記載の受信端末装置。   The receiving terminal device according to claim 1, wherein the communication protocol is a TCP protocol. 前記ウィンドウ・サイズ算出手段は、前記フロー制御指示の開始時点から前記ペイロード長を減算した値を前記ウィンドウ・サイズとして算出することを特徴とする請求項1に記載の受信端末装置。   2. The receiving terminal device according to claim 1, wherein the window size calculating unit calculates a value obtained by subtracting the payload length from a start time of the flow control instruction as the window size. 前記ウィンドウ・サイズ算出手段は、前記フロー制御指示が与えられない場合は、前記最大ウィンドウ・サイズを前記ウィンドウ・サイズとして算出することを特徴とする請求項3に記載の受信端末装置。   4. The receiving terminal apparatus according to claim 3, wherein the window size calculating unit calculates the maximum window size as the window size when the flow control instruction is not given. 前記最大ウィンドウ・サイズの値は、外部のアプリケーション処理部において受信可能なデータバッファ容量が64KB−1以上であれば、64KB−1の値が設定されることを特徴とする請求項1に記載の受信端末装置。   The value of the maximum window size is set to a value of 64 KB-1 if a data buffer capacity receivable by an external application processing unit is 64 KB-1 or more. Receiving terminal device. 前記最大ウィンドウ・サイズの値は、外部のアプリケーション処理部において受信可能なデータバッファ容量が64KB−1未満であれば、外部のアプリケーション処理部の受信可能なデータバッファ容量を設定することを特徴とする請求項1に記載の受信端末装置。   The maximum window size value sets the data buffer capacity that can be received by the external application processing unit if the data buffer capacity that can be received by the external application processing unit is less than 64 KB-1. The receiving terminal device according to claim 1.
JP2007240802A 2007-09-18 2007-09-18 Signal receiving terminal apparatus Pending JP2009071766A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007240802A JP2009071766A (en) 2007-09-18 2007-09-18 Signal receiving terminal apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007240802A JP2009071766A (en) 2007-09-18 2007-09-18 Signal receiving terminal apparatus

Publications (1)

Publication Number Publication Date
JP2009071766A true JP2009071766A (en) 2009-04-02

Family

ID=40607534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007240802A Pending JP2009071766A (en) 2007-09-18 2007-09-18 Signal receiving terminal apparatus

Country Status (1)

Country Link
JP (1) JP2009071766A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9234010B2 (en) 2011-06-08 2016-01-12 Emd Millipore Corporation Chromatography matrices including novel Staphylococcus aureus protein A based ligands
WO2016185654A1 (en) 2015-05-20 2016-11-24 Canon Kabushiki Kaisha Communication apparatus, communication method, and storage medium
US11084851B2 (en) 2008-12-24 2021-08-10 Emd Millipore Corporation Caustic stable chromatography ligands

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11084851B2 (en) 2008-12-24 2021-08-10 Emd Millipore Corporation Caustic stable chromatography ligands
US9234010B2 (en) 2011-06-08 2016-01-12 Emd Millipore Corporation Chromatography matrices including novel Staphylococcus aureus protein A based ligands
US9376474B1 (en) 2011-06-08 2016-06-28 Emd Millipore Corporation Chromatography matrices including novel Staphylococcus aureus protein a based ligands
WO2016185654A1 (en) 2015-05-20 2016-11-24 Canon Kabushiki Kaisha Communication apparatus, communication method, and storage medium
US10917446B2 (en) 2015-05-20 2021-02-09 Canon Kabushiki Kaisha Communication apparatus, communication method, and storage medium

Similar Documents

Publication Publication Date Title
US8943206B2 (en) Network bandwidth detection and distribution
US8170023B2 (en) System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks
JP5258938B2 (en) Communication device
US8996718B2 (en) TCP-aware receive side coalescing
US8102852B2 (en) Method and system for time-stamping data packets from a network
JP4491257B2 (en) Controlling the admission of data streams to the network based on end-to-end measurements
US8750109B2 (en) Inferring TCP initial congestion window
EP2903192A1 (en) Packet handling method, forwarding device and system
US20140269293A1 (en) Cable modem termination system control of cable modem queue length
CN110830460A (en) Connection establishing method and device, electronic equipment and storage medium
US20100014860A1 (en) Communication apparatus and communication method
CN109862400B (en) Streaming media transmission method, device and system
US20120155268A1 (en) Packet relay device
US20030152080A1 (en) System and method for fault tolerant multimedia communication
JP6512282B2 (en) Communication apparatus, available band calculation system, available band calculation method and program
JP2009071766A (en) Signal receiving terminal apparatus
US20160316022A1 (en) Communication device, communication processing method, and storage medium
US8953469B2 (en) Communication device and computer program product
JP6083964B2 (en) Transmission device, transmission method, and program
JP5643242B2 (en) Media player parameter estimation apparatus, method, and program
CN107302504B (en) Multipath transmission scheduling method and system based on virtual sending queue
JP4692406B2 (en) RELAY COMMUNICATION SYSTEM, RELAY APPARATUS, SESSION BAND CONTROL METHOD USED FOR THEM AND PROGRAM
JP2009060553A (en) Method of transceiving mpeg data
JP2005123985A (en) Communication apparatus and communication method
CN115086285A (en) Data processing method and device, storage medium and electronic equipment