JP4503408B2 - Data communication device - Google Patents
Data communication device Download PDFInfo
- Publication number
- JP4503408B2 JP4503408B2 JP2004286767A JP2004286767A JP4503408B2 JP 4503408 B2 JP4503408 B2 JP 4503408B2 JP 2004286767 A JP2004286767 A JP 2004286767A JP 2004286767 A JP2004286767 A JP 2004286767A JP 4503408 B2 JP4503408 B2 JP 4503408B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- received
- retransmission
- congestion
- error
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、自動再送要求方式の再送制御を行うデータリンクを形成するデータ通信装置に関し、特に、スループットの改善を図ったデータ通信装置に関する。 The present invention relates to a data communication apparatus that forms a data link that performs retransmission control using an automatic retransmission request method, and more particularly to a data communication apparatus that improves throughput.
従来、携帯電話などの無線端末を利用し、伝送速度が平均600kbps、最大2.4Mbpsである無線データ通信手段が普及しつつある。無線通信路においては、基地局と無線端末との間で、自動再送要求を利用した再送制御を行うことによって、信頼性の高い通信が行われている。一方、再送要求を行ってからデータが再送されるまでの時間は遅延時間となり、無線端末の受信装置においては、誤りの無かったデータが次々に到着してメモリーに記憶されていく。伝送速度が高速になるほど、こうした一時的に遅延させられるデータの量は増加する。例えば、600kbpsの伝送速度の通信が500ms遅延させられた場合、37500バイトのデータが一時的に記憶されることになる。 Conventionally, wireless data communication means using a wireless terminal such as a mobile phone and having an average transmission speed of 600 kbps and a maximum of 2.4 Mbps are becoming widespread. In a wireless communication path, highly reliable communication is performed by performing retransmission control using an automatic retransmission request between a base station and a wireless terminal. On the other hand, the time from when the retransmission request is made until the data is retransmitted is a delay time, and in the receiving device of the wireless terminal, data without error arrives one after another and is stored in the memory. As the transmission rate increases, the amount of data that is temporarily delayed increases. For example, when communication at a transmission rate of 600 kbps is delayed by 500 ms, 37500 bytes of data are temporarily stored.
このように誤りなく受信しているのに再送データの到着を待つのは、データ通信の伝送制御プロトコルがTCP(Transmission Control Protocol)であるためと考えられる。TCPにおいては、データをセグメントに分割し、各セグメントにシーケンス番号を付けて送信する。受信側でシーケンス番号が入れ替わって受信された場合には、入れ替え(reordering)を行うこともできるが、その許容量は通常3セグメントであるか、もしくはTCPの実装によっては入れ替えの能力を持っていないものもある。 The reason for waiting for the arrival of retransmitted data even though it is received without error is considered to be because the transmission control protocol for data communication is TCP (Transmission Control Protocol). In TCP, data is divided into segments, and each segment is given a sequence number for transmission. If the receiving side receives the signal with the sequence number replaced, it can be replaced (reordering), but the allowable amount is usually 3 segments, or depending on the TCP implementation, it does not have the replacement capability. There are also things.
TCPの誤り制御においては、ACK(ACKnowledgement:肯定応答、確認応答)が用いられ、データを受信した受信側から送信側へACKが送信され、送信側は、ACKが返送されない場合にデータを再送する。受信側において、シーケンス番号が入れ替わって受信されたデータの容量が入れ替えの許容量を越えた場合には、受信側はセグメントロスと判断して、ACKのシーケンス番号を増加させずにACKを返送する。送信側は、受信側から3個の重複ACK(ACK番号の重複するACK)を受信した場合に、データの高速再転送を開始する。 In TCP error control, ACK (ACK acknowledgment: acknowledgment, confirmation response) is used, ACK is transmitted from the receiving side that received data to the transmitting side, and the transmitting side retransmits data when ACK is not returned . On the receiving side, when the capacity of the received data exceeds the permissible amount of exchange with the exchange of the sequence number, the receiving side judges that it is a segment loss and returns an ACK without increasing the ACK sequence number. . When the transmitting side receives three duplicate ACKs (ACKs with overlapping ACK numbers) from the receiving side, it starts high-speed retransmission of data.
このように、TCPの受信側での入れ替えの許容量が小さいことの理由は、IEEE802.3などの有線のデータリンクにおいては、誤り率が低く、かつ受信されるパケットの順序が入れ替わることがほとんどなく、データのセグメントのシーケンス番号が抜けている場合には、ほぼ全てセグメントロスとなるためであると考えられる。ここで、無線通信路を含むネットワークを介して外部装置と通信を行うと共に、外部装置から受信したデータを下流の他の装置へ出力するデータ通信装置を想定する。上述したようなTCPに基づいて、データ通信装置が、受信したセグメントのシーケンス番号を保たずにデータを下流に出力すると、TCPに基づいたデータの再送が行われ、スループットの低下を引き起こす。このため、無線通信路の受信側のデータ通信装置において、セグメントのシーケンス番号の順序を保存するように、再送を要求したデータの到着を待つ間、正常に受信したデータを一時的に遅延させておく方がTCPのスループットは向上するのである。 As described above, the reason that the permissible amount of replacement on the receiving side of TCP is small is that, in a wired data link such as IEEE 802.3, the error rate is low and the order of received packets is mostly changed. If the sequence number of the data segment is missing, almost all segment losses are assumed. Here, it is assumed that the data communication device performs communication with an external device via a network including a wireless communication path and outputs data received from the external device to other downstream devices. If the data communication apparatus outputs data downstream without maintaining the sequence number of the received segment based on the TCP as described above, the retransmission of the data based on the TCP is performed, resulting in a decrease in throughput. For this reason, in the data communication apparatus on the receiving side of the wireless communication path, while waiting for the arrival of the data requested to be retransmitted, the normally received data is temporarily delayed so as to preserve the sequence number order of the segments. This will improve the TCP throughput.
しかしながら、再送要求を行っても要求したデータが到着せずに、再送がタイムアウトする場合もある。このとき、受信側のデータ通信装置において一時的に記憶されていた、誤りのなかったデータが他の装置に一度に出力され、ディレイスパイクという現象を引き起こす。ディレイスパイク現象はTCPのスプリアスタイムアウト(spurious timeouts)を引き起こす。スプリアスタイムアウトとは、無線通信路などの途中に存在するデータリンクが長い遅延を発生させた際に、TCPの送信側が再送タイムアウト(RTO)を起こし、多くのデータセグメントが下流の装置にスパイク状に到着するため、多くのACKが発生し、このACKに対して送信側が多くの不要なデータ再転送を行うという現象である。スプリアスタイムアウト時の不用な再転送を抑止するには、Eifelアルゴリズムを用いるとよいことが知られている。 However, even if a retransmission request is made, the requested data may not arrive and retransmission may time out. At this time, error-free data temporarily stored in the data communication device on the receiving side is output to other devices at once, causing a phenomenon called delay spike. The delay spike phenomenon causes TCP spurious timeouts. The spurious timeout means that when a data link existing in the middle of a wireless communication path causes a long delay, the TCP transmission side causes a retransmission timeout (RTO), and many data segments spike into downstream devices. This is a phenomenon in which many ACKs occur due to arrival, and the sender performs many unnecessary data retransmissions for the ACKs. It is known that the Eifel algorithm should be used to suppress unnecessary retransmission at the time of a spurious timeout.
ディレイスパイク現象が発生した場合には、これにより、データ通信装置よりも下流へ流れるデータの速度が増加し、スループットの低下を回避する効果を期待することができるが、データ通信装置よりも下流のダウンリンクで輻輳(ネットワークのトラヒックが増加することにより、有効な通信を行うことができなくなる状態)を引き起こす場合がある。以下、図5を用いてこれを説明する。図5は従来のデータ通信装置を用いた場合のディレイスパイク時のデータ受信状況を示すタイムシーケンスグラフである。通常、タイムシーケンスグラフはTCPの送信側での状況を示すものであるが、図5は受信側での状況を示している。 When the delay spike phenomenon occurs, the speed of data flowing downstream from the data communication device can be increased thereby, and an effect of avoiding a decrease in throughput can be expected, but the downstream of the data communication device can be expected. There are cases where congestion occurs in the downlink (a state in which effective communication cannot be performed due to an increase in network traffic). Hereinafter, this will be described with reference to FIG. FIG. 5 is a time sequence graph showing a data reception situation at the time of a delay spike when a conventional data communication apparatus is used. Normally, the time sequence graph shows the situation on the TCP transmission side, but FIG. 5 shows the situation on the reception side.
図5において、横軸は時間を表しており、縦軸はセグメントのシーケンス番号を表している。丸印はデータ通信装置の下流の装置に到着したセグメントを表し、縦長の四角形は送信側へ送信されるACKの発生を表し、×印はセグメントの喪失を表している。セグメント40までは順調に受信が進んでおり、データの到着とほぼ同時にACKが送信されている。セグメント40に対応するACKはACK41である。無線通信路における再送要求の発生により、セグメント40の次のセグメントは到着が遅れ、以後、再送要求がタイムアウトするまでの500msの間、受信が途絶えている。
In FIG. 5, the horizontal axis represents time, and the vertical axis represents segment sequence numbers. A circle indicates a segment that has arrived at a device downstream of the data communication device, a vertically long rectangle indicates the occurrence of an ACK transmitted to the transmission side, and a cross indicates a loss of the segment. Reception is proceeding smoothly up to the
従来のデータ通信装置は、再送要求がタイムアウトした後、RAM(Random Access Memory)に一時的に記憶して遅延させていたデータを一度に下流側へ出力する。これにより、ディレイスパイクが発生する。図5のセグメント42以後の鋭い上昇がディレイスパイクである。これらのセグメントを受信した下流の装置は、TCPに基づいて多数のACK(ACK43以後のACK)を発生し、セグメントの送信側に送信する。ただし、1個のセグメントが喪失しているため、TCPにおいてはACKのシーケンス番号は増加せず、重複ACKとなる。
The conventional data communication apparatus outputs the data temporarily stored in a RAM (Random Access Memory) and delayed to the downstream side at once after the retransmission request times out. As a result, a delay spike occurs. A sharp rise after
ディレイスパイクの後尾の方では、従来のデータ通信装置の下流のダウンリンクにおいて輻輳が生じ、セグメント喪失44とそれ以降の×印によってそれが示されている。送信側においては、TCPに基づいて、再送がタイムアウトするか、重複ACKによって喪失が通知されたセグメントが再送される。図5においては、再送されたセグメントは輻輳の影響を受けずにデータ通信装置によって受信され、下流の装置へ出力される。下流の装置で受信されたセグメントはセグメント46で示されている。
Toward the tail of the delay spike, congestion occurs in the downlink downstream of the conventional data communication device, which is indicated by the
セグメント46に対して、ACK47が送信される。このACK47は、輻輳によって到着していないセグメントを指定している。ACKによって指定されたセグメントを送信する動作は、NewRenoもしくはSACK(Selective ACK)と呼ばれるTCPにおいて可能である。輻輳により喪失したセグメントがACK47のシーケンス番号によって送信側に通知され、送信側はセグメントを再送する。それ以降は通常の送信モードに回復する。
An ACK 47 is transmitted for the
また、下流のダウンリンクで輻輳が発生しなかったとしても、受信側がTCPに基づいてバースト状にACKを発生することにより、アップリンクで輻輳を起こす場合がある。以下、図6を用いてこれを説明する。セグメント50がデータ通信装置の下流の装置によって受信され、これに対するACK51が送信側に送信されるまでは通信が順調に推移する。セグメント52が無線通信路において遅延を受けた後、図5と同様に、多くのセグメントが下流側の装置に出力されてディレイスパイク現象が発生している。
Even if congestion does not occur in the downstream downlink, congestion may occur in the uplink when the receiving side generates ACKs in bursts based on TCP. Hereinafter, this will be described with reference to FIG. The communication proceeds smoothly until the
セグメント52が喪失しなかったことによって、ACKのシーケンス番号が急激に上昇し、バースト状にACKが送信される。なお、この状況はスプリアスタイムアウト現象に似た状況であるが、ここでは送信側のTCPはタイムアウトしていないものとしている。セグメント54に対するACKは、アップリンクの輻輳により喪失している。このため、送信側において、TCPに基づいて再送タイムアウトが発生した後、セグメント56が送信される。ただし、再送タイムアウトが発生するまでには長い時間を必要とし、かつその後スロースタートが実行されるため、スループットは大幅に低下する。
Since the
スロースタートとは、送信側が、一度に送信することができるデータ量(輻輳ウインドウ(cwnd:Congestion window))を小さな値に設定して送信を行うことである。また、図6のようなアップリンクの輻輳を起こさなかったとしても、バースト状のACKが送信側に到達し、続いてバースト状の送信を引きおこし、データ通信装置よりも上流のダウンリンクで輻輳を引き起こす可能性もある。 The slow start means that the transmission side performs transmission with a data amount (congestion window (cwnd)) that can be transmitted at a time set to a small value. Further, even if uplink congestion as shown in FIG. 6 does not occur, burst-like ACK arrives at the transmission side, subsequently causes burst-like transmission, and congestion occurs in the downlink upstream from the data communication apparatus. May also cause.
なお、特許文献1には、TCP/IPによる回線インターフェース装置が記載されている。
上述したようなダウンリンクでの輻輳が発生すると、TCPに基づいたセグメント再送と輻輳ウインドウの縮小とによって、スループットが低下するという問題があった。また、アップリンクでの輻輳が発生すると、ACKパケットが失われることによって、送信側のTCPでの再送タイムアウトと、輻輳ウインドウ(cwnd)の縮小と、スロースタートによるスループットの大幅な低下とが発生するという問題があった。なお、前述したEifelアルゴリズムによれば、スプリアスタイムアウトの発生時におけるTCPによる不要なセグメント再転送は抑止されるが、ディレイスパイク現象自体が引き起こすスループットの低下の問題は解決されない。 When downlink congestion as described above occurs, there is a problem that throughput is reduced due to segment retransmission based on TCP and reduction of the congestion window. In addition, when uplink congestion occurs, ACK packets are lost, which causes a retransmission timeout in TCP on the transmission side, a reduction in the congestion window (cwnd), and a significant decrease in throughput due to slow start. There was a problem. Note that according to the Eifel algorithm described above, unnecessary segment retransmission by TCP when spurious timeout occurs is suppressed, but the problem of throughput reduction caused by the delay spike phenomenon itself is not solved.
本発明は、上述した問題点に鑑みてなされたものであって、ディレイスパイク現象が発生した場合でも、輻輳の発生を抑止し、スループットの低下を回避することができるデータ通信装置を提供することを目的とする。 The present invention has been made in view of the above-described problems, and provides a data communication apparatus that can suppress the occurrence of congestion and avoid a decrease in throughput even when a delay spike phenomenon occurs. With the goal.
本発明は、上記の課題を解決するためになされたもので、以下の手段を採用した。
本発明に係るデータ通信装置は、データ送受信を行う送受信手段と、該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを、速度が予め設定された最大値を超えないように出力する制御手段とを備えたことを特徴とする。
The present invention has been made to solve the above-described problems, and has adopted the following means.
A data communication apparatus according to the present invention includes a transmission / reception unit that performs data transmission / reception, and a retransmission request unit that performs a check on an error in received data received by the transmission / reception unit and requests retransmission of the data when an error is detected. And storage means for storing received data received without error until the data requested for retransmission is received, and if the data requested for retransmission is not received within a predetermined time, the data is stored in the storage means. And a control means for outputting the data so that the speed does not exceed a preset maximum value .
本発明に係るデータ通信装置は、データ送受信を行う送受信手段と、該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを所定の速度で出力する制御手段と、前記送受信手段によって受信された受信データに基づいて輻輳を検出する輻輳検出手段を備え、前記制御手段は、前記輻輳検出手段が輻輳を検出した場合に、前記所定の速度を減少させることを特徴とする。 A data communication apparatus according to the present invention includes a transmission / reception unit that performs data transmission / reception, and a retransmission request unit that performs a check on an error in received data received by the transmission / reception unit and requests retransmission of the data when an error is detected. And storage means for storing received data received without error until the data requested for retransmission is received, and if the data requested for retransmission is not received within a predetermined time, the data is stored in the storage means. Control means for outputting the received data at a predetermined speed and congestion detection means for detecting congestion based on the received data received by the transmission / reception means , the control means detecting the congestion by the congestion detection means In this case, the predetermined speed is reduced.
本発明に係るデータ通信装置は、データ送受信を行う送受信手段と、該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを所定の速度で出力する制御手段と、前記送受信手段によって送信されるデータに基づいて輻輳を検出する輻輳検出手段を備え、前記制御手段は、前記輻輳検出手段が輻輳を検出した場合に、前記所定の速度を減少させることを特徴とする。
A data communication apparatus according to the present invention includes a transmission / reception unit that performs data transmission / reception, and a retransmission request unit that performs a check on an error in received data received by the transmission / reception unit and requests retransmission of the data when an error is detected. And storage means for storing received data received without error until the data requested for retransmission is received, and if the data requested for retransmission is not received within a predetermined time, the data is stored in the storage means. Control means for outputting the processed data at a predetermined speed and congestion detection means for detecting congestion based on the data transmitted by the transmission / reception means , wherein the control means detects the congestion by the congestion detection means In this case, the predetermined speed is reduced.
本発明によれば、ディレイスパイク現象が発生した場合でも、輻輳の発生を抑止し、スループットの低下を回避することができるという効果が得られる。 According to the present invention, even when a delay spike phenomenon occurs, it is possible to suppress the occurrence of congestion and to avoid a decrease in throughput.
以下、図面を参照し、本発明を実施するための最良の形態について説明する。図1は、本発明の第1の実施形態によるデータ通信装置の構成を示すブロック図である。このデータ通信装置は、無線データ送受信手段1と再送制御手段2により、基地局(図示せず)である第1の装置と無線通信を行う。この通信におけるフォワードリンク(受信)にはTDMA(時分割多重アクセス)技術が用いられ、伝送速度は最大2.4Mbps、平均600kbpsである。また、アップリンク(送信)にはCDMA(符号分割多重アクセス)技術が用いられ、伝送速度は最大153.6kbpsである。また、このデータ通信装置は、データインターフェースとしてUSB(Universal Serial Bus)規格のシリアルインターフェース手段11により、他の装置とのデータの入出力を行う。この外部装置はパーソナルコンピュータやブリッジ、ルータ等である。
The best mode for carrying out the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a data communication apparatus according to the first embodiment of the present invention. This data communication apparatus performs wireless communication with a first apparatus which is a base station (not shown) by means of wireless data transmission / reception means 1 and retransmission control means 2. A TDMA (time division multiple access) technique is used for the forward link (reception) in this communication, and the transmission speed is 2.4 Mbps at maximum and 600 kbps on average. Further, CDMA (Code Division Multiple Access) technology is used for uplink (transmission), and the maximum transmission rate is 153.6 kbps. In addition, this data communication apparatus inputs and outputs data to and from other apparatuses by using a
以下、図中の各構成について説明する。無線データ送受信手段1は、物理的な通信路との間で送受信される情報信号を、変調および復調を介することにより、電磁的エネルギーとして送受信する手段であり、物理層およびデータリンク層の一部を含む。無線データ送受信手段1は、基地局からの電波を受信し、変調された信号を復調し、受信データを作成して再送制御手段2へ出力する。また、無線データ送受信手段1は、再送制御手段2から出力された送信データを変調し、CDMA技術によって符号拡散を施し、この送信データに基づいた電波を送信する。
Hereinafter, each component in the figure will be described. The wireless data transmission / reception means 1 is means for transmitting / receiving information signals transmitted / received to / from a physical communication path as electromagnetic energy through modulation and demodulation, and a part of the physical layer and the data link layer. including. The wireless data transmission / reception means 1 receives radio waves from the base station, demodulates the modulated signal, creates reception data, and outputs it to the retransmission control means 2. Further, the wireless data transmitting / receiving unit 1 modulates the transmission data output from the
基地局から送信されるデータは小さなサイズのフレームに分割され、各フレームに誤り検査符号が添付されている。データ通信路に関しては有線か無線かを問わないが、比較的誤り率が高く、再送要求時に再送が完了するまでの時間、あるいは再送がタイムアウトして送信側が再送をあきらめるまでの時間が大きい通信路に本実施形態のデータ通信装置を適用するのが好適である。本実施形態においては、このような通信路として、携帯電話等を利用した無線通信路を想定している。 Data transmitted from the base station is divided into small frames, and an error check code is attached to each frame. Whether the data communication path is wired or wireless, the communication path has a relatively high error rate, and it takes a long time to complete retransmission at the time of a retransmission request, or a long time for retransmission to timeout and the sender to give up retransmission. It is preferable to apply the data communication apparatus of this embodiment to the above. In the present embodiment, a wireless communication path using a mobile phone or the like is assumed as such a communication path.
再送制御手段2は、データの送受信に関して、誤り制御や再送制御等を行う。RAM3は、受信されて誤りのなかったデータフレームを一時的に記憶するための、情報の書き込みと読み出しとが可能な情報記憶手段である。再送制御手段2は、以下のようにデータリンク層における自動再送要求プロトコルに従って、信頼性の高いデータ通信を実現する。無線データ送受信手段1から受信データが出力された場合、再送制御手段2は、受信データの誤りを検査し、誤りがあれば送信側の基地局にデータの再送要求を行う。
The retransmission control means 2 performs error control, retransmission control, etc. regarding data transmission / reception. The
また、受信データに誤りがなければ、再送制御手段2は、RAM3におけるデータの格納状況に応じて、受信データをシリアルインターフェース手段11へ直接出力するか、受信データをRAM3に一時的に格納し、所定のタイミングで受信データをRAM3から読み出して、最大速度制限手段4へ出力する。また、再送制御手段2へシリアルインターフェース手段11から送信データが入力された場合に、再送制御手段2はその送信データを無線データ送受信手段1へ出力する。
If there is no error in the received data, the retransmission control means 2 outputs the received data directly to the serial interface means 11 or temporarily stores the received data in the
再送制御手段2は、RAM3が記憶するデータの管理に待ち行列を使用する。RAM3に受信データを格納した場合には、再送制御手段2は待ち行列にその受信データの情報を追加し、RAM3から受信データを読み出して最大速度制限手段4へ出力した場合には、待ち行列からその受信データの情報を削除する。
The retransmission control means 2 uses a queue for managing data stored in the
最大速度制限手段4は、再送制御手段2からシリアルインターフェース手段11へ出力されるデータフレームの出力速度が、予め設定された最大値を超えないように制限する。この最大速度制限手段4は、設定によりタイムアウトまでの間隔を可変にすることができるタイマーと、タイマーイベントに基づいてシリアルインターフェース手段11へのデータフレームの出力が実行されるFIFO(First In First Out)バッファとで構成された一種のスケジューラーである。
The maximum
タイマー間隔を短くすれば最大速度は増加し、タイマー間隔を長くすれば最大速度は減少する。最大速度制限手段4に設定される出力速度の最大値には、図示せぬ不揮発メモリに記憶されている値が電源投入時やリセット操作時に設定される。データ通信装置が設置される通信経路が輻輳を起こし易いものであるかどうかに応じて、ユーザーは、不揮発メモリに設定される出力速度の最大値を調節することができる。なお、最大速度制限手段4は、一定のタイマーイベントで出力を実行しつつ、1回のイベントで出力するデータの長さを可変にする手段であってもよい。
If the timer interval is shortened, the maximum speed increases, and if the timer interval is lengthened, the maximum speed decreases. As the maximum value of the output speed set in the maximum
シリアルインターフェース手段11はUSB規格の通信手段であって、下流の装置とのデータの入出力を行う。シリアルインターフェース手段11は、再送制御手段2または最大速度制限手段4から出力された受信データを下流の装置へ出力すると共に、下流の装置から出力された送信データを受け取って、再送制御手段2へ出力する。
The
次に、上述した構成のデータ通信装置による通信制御動作について説明する。無線データ送受信手段1は、基地局から受信した信号を復調し、受信データを作成して再送制御手段2へ出力する。再送要求が発生していない場合、再送制御手段2は、受信データに誤りがないかどうか検査し、誤りがなく、かつRAM3に受信データが記憶されていない場合には、受信データをシリアルインターフェース手段11へ出力する。受信されたデータフレームについては、無線データリンクプロトコルにおいて使用していたヘッダが除去されて、中身のデータがシリアルインターフェース手段11へ出力される。
Next, a communication control operation by the data communication apparatus having the above-described configuration will be described. The wireless data transmission / reception means 1 demodulates the signal received from the base station, creates reception data, and outputs it to the retransmission control means 2. When a retransmission request has not occurred, the retransmission control means 2 checks whether there is an error in the received data. If there is no error and no received data is stored in the
受信データに誤りがあった場合、再送制御手段2は、送信側へデータの再送を要求するための再送要求情報を生成し、送信側へ送信しようとするデータと再送要求情報などのヘッダとを格納したデータフレームを作成し、誤り検査符号を添付して、無線データ送受信手段1へ出力する。無線データ送受信手段1は、このデータフレームに対して変調や符号拡散等の処理を行ってから基地局へ送信する。再送制御手段2は、再送を要求されたデータフレームが受信されるまでの間に受信された受信データの誤りを検査し、誤りがなかった場合、受信データをRAM3に格納する。
When there is an error in the received data, the retransmission control means 2 generates retransmission request information for requesting retransmission of data to the transmission side, and sends data to be transmitted to the transmission side and a header such as retransmission request information. The stored data frame is created, attached with an error check code, and output to the wireless data transmitting / receiving means 1. The wireless data transmitting / receiving means 1 performs processing such as modulation and code spreading on the data frame and then transmits the data frame to the base station. The retransmission control means 2 inspects the received data received until the data frame requested to be retransmitted is received, and if there is no error, stores the received data in the
再送を要求されたデータフレームが、無線データ送受信手段1によって受信され、再送制御手段2へ出力されると、再送制御手段2は、このデータフレームの誤りを検査する。再送を要求したデータフレームが誤りなく受信された場合、再送制御手段2はこのデータフレームのシーケンス番号と、RAM3に記憶されているデータフレームのシーケンス番号とを比較する。
When the data frame requested to be retransmitted is received by the wireless data transmitting / receiving unit 1 and output to the
再送されたデータフレームが、RAM3に記憶されている最も古いデータフレームよりも一つ古いフレームである場合には、再送制御手段2は、最も古いデータフレームを含み、順序が連続しているデータフレームをRAM3から読み出し、再送されたデータフレームと、RAM3から読み出したデータフレームとを、データの順序に従って最大速度制限手段4へ出力する。RAM3の中のデータフレームのうち、最大速度制限手段4に出力したものは、再送制御手段2によって削除される。なお、この削除は、データ本体を削除してメモリを解放するものでもよいし、データ本体は存続させておき、再送制御手段2が管理している待ち行列におけるエントリー情報だけを削除するものであってもよい。
When the retransmitted data frame is one frame older than the oldest data frame stored in the
再送されたデータフレームが、RAM3に記憶されている最も古いデータフレームよりも一つ古いフレームではない場合には、再送制御手段2は、再送されたデータフレームをRAM3に格納する。この際、再送制御手段2は、データの受信順ではなく、データの順序に従ってデータフレームを出力できるように、待ち行列により管理を行う。この管理は、例えば線形リストを用いて実現することができ、新しく記憶するデータを表すセルを、線形リスト内のデータの順序に従った位置に挿入する。
When the retransmitted data frame is not one frame older than the oldest data frame stored in the
再送されたデータフレームが最大速度制限手段4へ出力された場合、そのデータフレームはFIFOバッファの最後尾に格納される。最大速度制限手段4は、予め設定された一定時間ごとにタイムアウトして発生するタイマーイベントを実行しており、タイマーイベントが実行されるごとに、FIFOバッファの先頭に格納されているデータフレームをシリアルインターフェース手段11へ出力する。
When the retransmitted data frame is output to the maximum
図2は、本実施形態によるデータ通信装置を使用した場合のディレイスパイク時の様子を示すタイムシーケンスグラフである。この図は、TCPに基づいた受信側のデータ受信の状況を示しており、横軸は時間を表し、縦軸はセグメントのシーケンス番号を表している。この図において、丸印はデータ通信装置の下流の装置に到着したセグメントを表し、棒状の四角形は送信側へ送信されるACKの発生を表し、×印はセグメントの喪失を表している。この図はTCPの受信側での状況であるので、データの到着とほぼ同時にACKが送信されている。 FIG. 2 is a time sequence graph showing a state during a delay spike when the data communication apparatus according to the present embodiment is used. This figure shows the state of data reception on the receiving side based on TCP, the horizontal axis represents time, and the vertical axis represents the sequence number of the segment. In this figure, a circle represents a segment that has arrived at a device downstream of the data communication device, a bar-shaped square represents the occurrence of an ACK transmitted to the transmission side, and a cross indicates a segment loss. Since this figure shows the situation on the TCP reception side, an ACK is transmitted almost simultaneously with the arrival of data.
セグメント30に対応するACKはACK31である。セグメント30以前の通信は順調に推移しているが、セグメント30の次のセグメントが、無線通信路の再送要求の発生により遅延させられている。再送要求の発生から500msが経過した時点でタイムアウトとなると、再送制御手段2は再送データの受信をあきらめる。タイムアウトまでの間に受信されて誤りがなかったデータは、RAM3によって一時的に記憶され、タイムアウト後に再送制御手段2によって読み出されて最大速度制限手段4へ出力される。
The ACK corresponding to the
図2において、再送が行われずにタイムアウトとなったために、1個のセグメントが喪失しており、その次のセグメント32とそれ以降のセグメントによってディレイスパイクが発生している。しかし、データ通信装置においては、最大速度制限手段4により、データの出力速度が最大値を超えることはない。これにより、セグメント32とそれ以降のセグメントは、下流の装置によって時間間隔を保って受信され、しかも輻輳は生じない。セグメント32に対するACKがACK33であり、下流の装置へのセグメントの到着とほぼ同時にACKが送信され、ACKの送信間隔は保たれる。
In FIG. 2, one segment is lost because a time-out occurs without being retransmitted, and a delay spike is generated by the
送信側においては、TCPに基づいて、再送がタイムアウトするか、重複ACKによって喪失が通知されたセグメントが再送される。再送されたセグメントがセグメント34として受信されている。セグメント34に対するACKがACK35である。ACK35以後、通常の送信モードに回復する。従来の図5においては、データ通信装置の下流のダウンリンク方向で輻輳が生じ、セグメント喪失44が発生しているが、図2においては、データ通信装置の下流のダウンリンク方向でセグメント喪失が発生せず、セグメントの再送が行われないため、スループットが向上していることがわかる。
On the transmission side, based on TCP, retransmission times out or a segment notified of loss by duplicate ACK is retransmitted. The retransmitted segment is received as
上述したように、本実施形態においては、再送制御手段2からシリアルインターフェース手段11へ出力されるデータフレームの出力速度を最大速度制限手段4が所定値(最大値)以下に制限する。これにより、ディレイスパイク現象が発生した場合でも、輻輳の発生を抑止し、スループットの低下を回避することができる。
As described above, in this embodiment, the maximum
次に、本発明の第2の実施形態について説明する。図3は、本実施形態によるデータ通信装置の構成を示すブロック図である。図1と同一の構成には同一の符号を付与し、説明を省略する。図3においては、IPレイヤECN検出手段5が設けられている。IPレイヤECN検出手段5は、ネットワーク層以上の上位層プロトコルで使用される輻輳通知を検出する手段である。例えば、IP(Internet Protocol)パケットヘッダやTCPのヘッダにはECN(Explicit Congestion Notification)用のフラグが用意されており( RFC3168参照)、このフラグを調べることにより、輻輳の経験が通知されているかどうかを検出することができる。 Next, a second embodiment of the present invention will be described. FIG. 3 is a block diagram showing the configuration of the data communication apparatus according to the present embodiment. The same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted. In FIG. 3, an IP layer ECN detection means 5 is provided. The IP layer ECN detecting means 5 is means for detecting a congestion notification used in an upper layer protocol higher than the network layer. For example, an ECN (Explicit Connection Notification) flag is prepared in an IP (Internet Protocol) packet header or TCP header (see RFC 3168), and whether or not congestion experience is notified by checking this flag. Can be detected.
本実施形態によるIPレイヤECN検出手段5は、IPパケットの構造を認識して、その中に存在するECNフラグビットを調べ、輻輳の経験を示すフラグがセットされているかどうか判定する。IPレイヤECN検出手段5は、再送制御手段2から直接、あるいは最大速度制限手段4を介して出力された受信データに対してECN検出を行い、受信データをシリアルインターフェース手段11へ出力する。また、シリアルインターフェース手段11から出力された送信データに対してECN検出を行い、送信データを再送制御手段2へ出力する。この検出は、ダウンリンクとアップリンクの両方向で行われる。
The IP layer ECN detection means 5 according to the present embodiment recognizes the structure of the IP packet, examines the ECN flag bit existing therein, and determines whether a flag indicating congestion experience is set. The IP layer ECN detection unit 5 performs ECN detection on the reception data output directly from the
ただし、この検出をアップリンクに対してだけ行ったとしても有効である。なぜなら、ディレイスパイクによる輻輳発生を示すECNフラグは多くの場合、アップリンクにおいて観測することができるからである。もし、輻輳の経験を示すECNフラグを検出した場合、IPレイヤECN検出手段5は、最大速度制限手段4に設定されているデータ出力速度の最大値を減少させて再設定する。これにより、輻輳が発生しないようなデータ出力速度の最大値を最大速度制限手段4に自動的に設定し、輻輳の発生を抑止することができる。
However, even if this detection is performed only for the uplink, it is effective. This is because the ECN flag indicating the occurrence of congestion due to a delay spike can be observed in the uplink in many cases. If the ECN flag indicating the congestion experience is detected, the IP layer ECN detection means 5 decreases the maximum value of the data output speed set in the maximum speed limit means 4 and resets it. As a result, the maximum value of the data output speed that does not cause congestion can be automatically set in the maximum
次に、本発明の第3の実施形態について説明する。図4は、本実施形態によるデータ通信装置の構成を示すブロック図である。図1と同一の構成には同一の符号を付与し、説明を省略する。図4においては、送信側輻輳検出手段6が設けられている。送信側輻輳検出手段6は、アップリンク方向において、再送制御手段2と無線データ送受信手段1との間に設けられており、再送制御手段2から出力されたデータフレームを受け取り、これを無線データ送受信手段1へ出力する。この送信側輻輳検出手段6は、無線通信路に対する送信における輻輳を検出する手段である。送信側輻輳検出手段6は、アップリンク方向のデータの送信が滞っている間に、再送制御手段2からデータの送信要求が大量に出力された場合に、輻輳が発生したことを検出する。
Next, a third embodiment of the present invention will be described. FIG. 4 is a block diagram showing the configuration of the data communication apparatus according to the present embodiment. The same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted. In FIG. 4, transmission side congestion detection means 6 is provided. The transmission side
送信側輻輳検出手段6は、バッファとこれを利用した待ち行列によって構成されており、待ち行列の長さが増大して所定値を超えたことを検出した場合に、輻輳が発生したと判定する。送信側輻輳検出手段6は、輻輳を検出すると、最大速度制限手段4に設定されているデータ出力速度の最大値を減少させて再設定する。これにより、輻輳が発生しないようなデータ出力速度の最大値を最大速度制限手段4に自動的に設定し、輻輳の発生を抑止することができる。なお、待ち行列がバッファにおける記憶量の限界に達して、送信側輻輳検出手段6が送信すべきいずれかのデータを廃棄した場合に、輻輳と判定してもよい。
The transmission side congestion detection means 6 is composed of a buffer and a queue using the buffer, and determines that congestion has occurred when it is detected that the length of the queue has increased to exceed a predetermined value. . When the
なお、上述した実施形態によるデータ通信装置を、USB等の規格によりPC(Personal Computer)やPDA(Personal Digital Assistance)等に接続してもよいし、このデータ通信装置がPCやPDA等に内蔵されていてもよい。 Note that the data communication device according to the above-described embodiment may be connected to a PC (Personal Computer Assistant), a PDA (Personal Digital Assistance), or the like according to a standard such as USB, or the data communication device is built in the PC, PDA, or the like. It may be.
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 As described above, the embodiments of the present invention have been described in detail with reference to the drawings, but the specific configuration is not limited to these embodiments, and includes design changes and the like within a scope not departing from the gist of the present invention. It is.
1・・・無線データ送受信手段、2・・・再送制御手段、3・・・RAM、4・・・最大速度制限手段、5・・・IPレイヤECN検出手段、6・・・送信側輻輳検出手段、11・・・シリアルインターフェース手段。
DESCRIPTION OF SYMBOLS 1 ... Wireless data transmission / reception means, 2 ... Retransmission control means, 3 ... RAM, 4 ... Maximum speed limiting means, 5 ... IP layer ECN detection means, 6 ... Transmission side congestion detection Means, 11... Serial interface means.
Claims (3)
該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、
前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、
前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを、速度が予め設定された最大値を超えないように出力する制御手段と、
を備えたことを特徴とするデータ通信装置。 Transmitting / receiving means for transmitting / receiving data; and
A check for error in the received data received by the transmission / reception means, and when an error is detected, a retransmission request means for requesting retransmission of the data;
Storage means for storing received data without error received until the data requested to be retransmitted is received;
Control means for outputting the data stored in the storage means so that the speed does not exceed a preset maximum value when the data requested for retransmission is not received within a predetermined time;
A data communication apparatus comprising:
該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、
前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、
前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを所定の速度で出力する制御手段と、
前記送受信手段によって受信された受信データに基づいて輻輳を検出する輻輳検出手段を備え、
前記制御手段は、前記輻輳検出手段が輻輳を検出した場合に、前記所定の速度を減少させることを特徴とするデータ通信装置。 Transmitting / receiving means for transmitting / receiving data; and
A check for error in the received data received by the transmitting / receiving means, and a retransmission request means for requesting retransmission of the data when an error is detected;
Storage means for storing received data received without error until the data requested to be retransmitted is received;
Control means for outputting the data stored in the storage means at a predetermined speed when the data requested for retransmission is not received within a predetermined time;
Congestion detection means for detecting congestion based on the received data received by the transmission / reception means,
The data communication apparatus according to claim 1, wherein the control means reduces the predetermined speed when the congestion detection means detects congestion.
該送受信手段によって受信された受信データの誤りに関する検査を行い、誤りを検出した場合に、当該データの再送を要求する再送要求手段と、
前記再送要求したデータが受信されるまでの間に受信された、誤りのない受信データを記憶する記憶手段と、
前記再送要求したデータが所定時間内に受信されない場合、前記記憶手段に記憶されているデータを所定の速度で出力する制御手段と、
前記送受信手段によって送信されるデータに基づいて輻輳を検出する輻輳検出手段を備え、
前記制御手段は、前記輻輳検出手段が輻輳を検出した場合に、前記所定の速度を減少させることを特徴とするデータ通信装置。 Transmitting / receiving means for transmitting / receiving data; and
A check for error in the received data received by the transmitting / receiving means, and a retransmission request means for requesting retransmission of the data when an error is detected;
Storage means for storing received data received without error until the data requested to be retransmitted is received;
Control means for outputting the data stored in the storage means at a predetermined speed when the data requested for retransmission is not received within a predetermined time;
Congestion detection means for detecting congestion based on data transmitted by the transmission / reception means,
The data communication apparatus according to claim 1, wherein the control unit decreases the predetermined speed when the congestion detection unit detects congestion.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286767A JP4503408B2 (en) | 2004-09-30 | 2004-09-30 | Data communication device |
US11/238,175 US7477675B2 (en) | 2004-09-30 | 2005-09-28 | Data communication apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286767A JP4503408B2 (en) | 2004-09-30 | 2004-09-30 | Data communication device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007083055A Division JP4594347B2 (en) | 2007-03-27 | 2007-03-27 | Method for controlling data communication apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006101340A JP2006101340A (en) | 2006-04-13 |
JP4503408B2 true JP4503408B2 (en) | 2010-07-14 |
Family
ID=36240709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004286767A Expired - Fee Related JP4503408B2 (en) | 2004-09-30 | 2004-09-30 | Data communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4503408B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4842075B2 (en) | 2006-09-28 | 2011-12-21 | 京セラ株式会社 | Audio transmission device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247132A (en) * | 2001-02-15 | 2002-08-30 | Mitsubishi Electric Corp | Data distribution management device, data distribution management system and data distribution management method using the device, and program to allow computer to execute the method |
JP2004194104A (en) * | 2002-12-12 | 2004-07-08 | Ntt Docomo Inc | Communication system, gateway device, program, and recording medium |
-
2004
- 2004-09-30 JP JP2004286767A patent/JP4503408B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247132A (en) * | 2001-02-15 | 2002-08-30 | Mitsubishi Electric Corp | Data distribution management device, data distribution management system and data distribution management method using the device, and program to allow computer to execute the method |
JP2004194104A (en) * | 2002-12-12 | 2004-07-08 | Ntt Docomo Inc | Communication system, gateway device, program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2006101340A (en) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7477675B2 (en) | Data communication apparatus | |
US6757248B1 (en) | Performance enhancement of transmission control protocol (TCP) for wireless network applications | |
KR102136563B1 (en) | Packet transmission method and user equipment | |
US9049017B2 (en) | Efficient TCP ACK prioritization in wireless networks | |
US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
WO2018121294A1 (en) | Packet transmission method, terminal, network device, and communication system | |
KR100787294B1 (en) | Tcp progress apparatus in mobile communication base station | |
US20040052234A1 (en) | Method and system for dispatching multiple TCP packets from communication systems | |
KR20030082585A (en) | A method of controlling flow of the ethernet data in a synchronous data hierarchy transmission network | |
US20070071005A1 (en) | System and method for implementing ASI over long distances | |
US20100246400A1 (en) | Communication device and method | |
EP3490293B1 (en) | Data receiving method, data sending method, receiving device and system | |
CN108713311A (en) | A kind of transmission method, equipment and the system of transmission control protocol TCP message | |
JP4384676B2 (en) | Method for controlling data communication apparatus | |
JP4364763B2 (en) | Data communication device | |
US9510242B2 (en) | Reducing superfluous traffic in a network | |
JP4503408B2 (en) | Data communication device | |
JP4594347B2 (en) | Method for controlling data communication apparatus | |
JP5405870B2 (en) | Communication equipment | |
KR100919056B1 (en) | Apparatus and method for optimizing a report-time in a mobile communication system | |
KR100913897B1 (en) | Method for controlling congestion of TCP for reducing the number of retransmission timeout | |
CN114268416B (en) | Data transmission method and device and electronic equipment | |
Shagdar et al. | Improving ECN-based TCP performance over wireless networks using a homogeneous implementation of EWLN | |
KR101298544B1 (en) | Apparatus and method for processing of received packets in mobile communication system | |
WO2010010028A1 (en) | Control of data flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100421 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |