JP2012165141A - Communication device, control method and program therefor - Google Patents

Communication device, control method and program therefor Download PDF

Info

Publication number
JP2012165141A
JP2012165141A JP2011023242A JP2011023242A JP2012165141A JP 2012165141 A JP2012165141 A JP 2012165141A JP 2011023242 A JP2011023242 A JP 2011023242A JP 2011023242 A JP2011023242 A JP 2011023242A JP 2012165141 A JP2012165141 A JP 2012165141A
Authority
JP
Japan
Prior art keywords
received frame
frame
reorder
received
tcp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011023242A
Other languages
Japanese (ja)
Other versions
JP5703048B2 (en
Inventor
Hitoshi Aoki
仁志 青木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011023242A priority Critical patent/JP5703048B2/en
Publication of JP2012165141A publication Critical patent/JP2012165141A/en
Application granted granted Critical
Publication of JP5703048B2 publication Critical patent/JP5703048B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To solve such problems that communication delay is larger than necessary when the frequency of occurrence of missing frames is low, although throughput does not decrease significantly without reordering, and that the buffer size increases.SOLUTION: The communication device comprises a reception unit which receives a plurality of frames, a calculation unit which calculates the loss rate of received frame based on the sequence number included in a frame received by the reception unit, a determination unit which determines that the received frame is reordered if the loss rate calculated by the calculation unit is equal to or above a threshold otherwise determines that the received frame is not reordered, and a reordering unit which reorders the received frame if a determination is made that the received frame is reordered by the determination unit.

Description

本発明は、受信フレームのリオーダ処理を行う通信装置、通信装置の制御方法、およびプログラムに関する。   The present invention relates to a communication device that performs reorder processing of a received frame, a control method for the communication device, and a program.

IEEE802.11n規格では高速化を実現するために、複数のフレームをアグリゲート(連結)して送信するAggregationがサポートされている。MPDU(MAC protocol data unit)単位でフレームをアグリゲートするA-MPDU(aggregation MPDU)では、確認応答に従来のAckではなく、Block Ackが利用される。Block Ackはアグリゲートされた各MPDUサブフレームに対してそれぞれ確認応答をする。また、同時に一部のMPDUサブフレーム受信に失敗した場合には、受信に失敗したMPDUサブフレームをBlock Ackで通知することで再送要求を行う。そのため、A-MPDUで送信された場合、MPDUサブフレームの到着する順序が異なることが頻繁に起こり得る。このとき、TCP等で通信を行っていた場合、途中で抜けたフレームが後から到達しているにも関わらず、TCP層で再送をしてしまい、スループットの低下を招く可能性がある。   The IEEE802.11n standard supports aggregation in which a plurality of frames are aggregated (concatenated) and transmitted in order to achieve high speed. In an A-MPDU (aggregation MPDU) that aggregates frames in units of MPDU (MAC protocol data unit), Block Ack is used for confirmation response instead of conventional Ack. Block Ack acknowledges each aggregated MPDU subframe. If reception of some of the MPDU subframes fails at the same time, a retransmission request is made by notifying the MPDU subframes that have failed to be received with Block Ack. Therefore, when the A-MPDU is transmitted, the arrival order of MPDU subframes may frequently differ. At this time, if communication is performed using TCP or the like, there is a possibility that the frame that has been lost in the middle will be retransmitted at the TCP layer, and the throughput will be reduced.

TCPのあるバージョンにおけるレート制御アルゴリズムでは、単一のパケットロスでは全体としてのスループットに影響をあたえないものの、連続して続くパケットロスにはネットワークが輻輳をしているとして過敏に反応しスループットを大きく劣化させる。   With a rate control algorithm in a version of TCP, a single packet loss does not affect the overall throughput, but the continuous packet loss reacts sensitively as the network is congested and increases the throughput. Deteriorate.

無線区間の場合、必ずしも輻輳のためにパケットロスが発生するとは限らず、ネットワーク上位層でデータの送信を止めるよりもネットワーク下位層でできるだけ再送やリオーダを実施したほうがよい場合が存在する。   In the case of a wireless section, packet loss does not always occur due to congestion, and there are cases where it is better to perform retransmission and reorder as much as possible in the lower network layer than to stop data transmission in the upper network layer.

このようなフレームが順序通りに到達しなかった場合に、途中で抜けたフレームを待ってから、フレームの順序を並び直す技術としてリオーダリングがある。データリンク層でリオーダリングを行えばTCP層にフレームが順序通りに通知されるため、スループットの低下を防ぐことができる。そのため、無線通信ではリオーダリングが広く行われている。   There is reordering as a technique for rearranging the order of frames after waiting for a missing frame when such frames do not arrive in order. If reordering is performed in the data link layer, frames are notified in order to the TCP layer, so that a reduction in throughput can be prevented. Therefore, reordering is widely performed in wireless communication.

しかし、リオーダリング処理を行った場合、順序通りに揃うまで途中のフレームを常に保持する必要があるため、その分必要なバッファが大きくなる。また通信遅延も大きくなるといった問題がある。   However, when the reordering process is performed, it is necessary to always hold frames in the middle until they are arranged in order, so that the necessary buffer becomes larger accordingly. There is also a problem that communication delay increases.

またTCPのデータ通信においては、順序どおりにデータが来なかった場合においても、一定期間あるいは一定フレーム数は、再送処理は行われずに当該データを待つ。そのため、下位層においてフレームの中抜けが少ない場合は、下位層でフレームのリオーダリングを行わなくてもスループットはあまり低下しない。   In TCP data communication, even if data does not arrive in order, the data is awaited for a certain period or a certain number of frames without being retransmitted. For this reason, when there are few frame skips in the lower layer, the throughput does not decrease much even if the frame is not reordered in the lower layer.

特許文献1では音情報を受信する際に、リアルタイムで再生する場合にはリオーダリングせず受信を行い、受信後に再生する場合にはリオーダリングを行うことが開示されている。   Patent Document 1 discloses that when receiving sound information, reception is performed without reordering when reproducing in real time, and reordering is performed when reproducing after reception.

特許文献2では、リオーダリングに必要なバッファの効率化を図っている。QoS情報に基づいてリオーダリングバッファのランク付けを行い、メモリ解放が必要になったときには、そのランクに応じてリオーダリングバッファのメモリを解放することが開示されている。   In Patent Document 2, the efficiency of a buffer necessary for reordering is improved. It is disclosed that the reordering buffer is ranked based on the QoS information, and when the memory release becomes necessary, the memory of the reordering buffer is released according to the rank.

また、特許文献3、特許文献4では中継装置においてリオーダリングに必要となる制御を行うことが開示されている。   Patent Documents 3 and 4 disclose that the relay apparatus performs control necessary for reordering.

特開2003-101662号公報Japanese Patent Laid-Open No. 2003-101662 特開2006-33019号公報JP 2006-33019 特開2007-81678号公報JP 2007-81678 A 特開2007-300502号公報JP 2007-300502

これらの先行技術におけるリオーダリングは、下位層でフレームの中抜けが発生する頻度によらずに行われていた。そのため、フレームの中抜けが少ない環境においてはリオーダリングを行わなくてもスループットはあまり低下しないにも関わらず、必要なバッファサイズが大きくなってしまったり、通信遅延が必要以上に大きくなったりするといった課題がある。   The reordering in these prior arts has been performed regardless of the frequency at which frame skipping occurs in the lower layer. Therefore, in an environment with few frame skips, the required buffer size increases or the communication delay increases more than necessary even though the throughput does not decrease much even if reordering is not performed. There are challenges.

上記の課題に鑑み、本発明は、フレームの中抜けの発生頻度が低い場合に、リオーダリングに必要なバッファサイズを小さくすることを目的とする。   In view of the above problems, an object of the present invention is to reduce the buffer size required for reordering when the occurrence frequency of frame dropout is low.

上記の目的を達成する本発明に係る通信装置は、
複数のフレームを受信する受信手段と、
前記受信手段により受信された受信フレームに含まれるシーケンス番号に基づいて、前記受信フレームのロス率を算出する算出手段と、
前記算出手段により算出された前記ロス率が閾値以上である場合に前記受信フレームをリオーダリングすると判断し、前記ロス率が前記閾値未満である場合に前記受信フレームをリオーダリングしないと判断する判断手段と、
前記判断手段により前記受信フレームをリオーダリングすると判断された場合に、前記受信フレームをリオーダリングするリオーダリング手段と、
を備えることを特徴とする。
A communication device according to the present invention that achieves the above object is as follows.
Receiving means for receiving a plurality of frames;
Calculating means for calculating a loss rate of the received frame based on a sequence number included in the received frame received by the receiving means;
Determination means for determining that the received frame is to be reordered when the loss rate calculated by the calculation means is equal to or greater than a threshold, and for determining that the received frame is not to be reordered when the loss rate is less than the threshold. When,
Reordering means for reordering the received frame when it is determined by the determining means to reorder the received frame;
It is characterized by providing.

本発明によれば、フレームの中抜けの発生頻度が低い場合に、リオーダリングに必要なバッファサイズを小さくすることができる。また、不要なリオーダリングを抑制できるため、通信遅延を小さくすることができる。   According to the present invention, it is possible to reduce the buffer size required for reordering when the frequency of frame dropouts is low. Further, since unnecessary reordering can be suppressed, communication delay can be reduced.

第1実施形態の無線LAN端末の構成図。1 is a configuration diagram of a wireless LAN terminal according to a first embodiment. 第1実施形態の受信フレームの構成図。FIG. 3 is a configuration diagram of a reception frame according to the first embodiment. 第1実施形態のリオーダバッファの構成図。FIG. 3 is a configuration diagram of a reorder buffer according to the first embodiment. 第1実施形態の受信フレームの処理のフローチャート。6 is a flowchart of received frame processing according to the first embodiment. 第1実施形態のリオーダ判断部のフローチャート。5 is a flowchart of a reorder determination unit according to the first embodiment. 第2実施形態の無線LAN端末の構成図。FIG. 5 is a configuration diagram of a wireless LAN terminal according to a second embodiment. 第2実施形態の受信フレームの処理のフローチャート。10 is a flowchart of received frame processing according to the second embodiment. 第2実施形態のリオーダ判断部のフローチャート。10 is a flowchart of a reorder determining unit according to the second embodiment. 第3実施形態の無線LAN端末の構成図。FIG. 6 is a configuration diagram of a wireless LAN terminal according to a third embodiment. 第3実施形態の受信フレームの処理のフローチャート。10 is a flowchart of received frame processing according to the third embodiment. 第3実施形態のTCP再送率測定部のフローチャート。10 is a flowchart of a TCP retransmission rate measurement unit according to the third embodiment. 第3実施形態のリオーダ判断部のフローチャート。The flowchart of the reorder judgment part of 3rd Embodiment.

(第1実施形態)
以下、図1乃至図5を参照して、本発明の第1実施形態について述べる。図1は、第1実施形態を適用できる無線LAN端末(通信装置)の構成を示している。本実施形態では、図1の無線LAN端末101に本発明を適用する。無線LAN端末101は、IEEE802.11n規格に則った無線LAN通信が可能な端末である。無線LAN端末101は、TCP/IP処理部102と、無線LAN制御部103と、TCP/IP通知部104と、無線LANエラー率測定部105と、リオーダ判断部106と、リオーダ制御部107とを備える。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. FIG. 1 shows a configuration of a wireless LAN terminal (communication device) to which the first embodiment can be applied. In the present embodiment, the present invention is applied to the wireless LAN terminal 101 of FIG. The wireless LAN terminal 101 is a terminal capable of wireless LAN communication in accordance with the IEEE802.11n standard. The wireless LAN terminal 101 includes a TCP / IP processing unit 102, a wireless LAN control unit 103, a TCP / IP notification unit 104, a wireless LAN error rate measurement unit 105, a reorder determination unit 106, and a reorder control unit 107. Prepare.

TCP/IP処理部102は、TCP、UDP、IPといったプロトコルを処理する制御プログラムから構成される。無線LAN制御部103は、無線LAN通信を行うための無線LANチップやアンテナ、そしてそれらの制御プログラムから構成される。図示されない他の端末から、無線LAN端末101にフレームが送信された場合に、無線LAN制御部103でフレームが受信され、最初に受信処理が実施される。TCP/IP通知部104は、無線LAN制御部103で受信されたフレームがTCP/IP処理部102で処理されるべきIPデータであった場合に、TCP/IP処理部102に該フレームを通知するための制御プログラムである。   The TCP / IP processing unit 102 includes a control program that processes protocols such as TCP, UDP, and IP. The wireless LAN control unit 103 includes a wireless LAN chip and an antenna for performing wireless LAN communication, and a control program thereof. When a frame is transmitted from another terminal (not shown) to the wireless LAN terminal 101, the wireless LAN control unit 103 receives the frame, and a reception process is first performed. The TCP / IP notification unit 104 notifies the TCP / IP processing unit 102 of the frame when the frame received by the wireless LAN control unit 103 is IP data to be processed by the TCP / IP processing unit 102. Is a control program.

無線LANエラー率測定部105は、無線LAN上で発生したエラー率を算出するためのプログラムである。無線LANエラー率測定部105は、フレームに抜けが発生した場合にエラーとしてカウントして、最後に受信した100個のフレームから受信フレームのエラー率(ロス率)を測定するものである。   The wireless LAN error rate measuring unit 105 is a program for calculating an error rate that has occurred on the wireless LAN. The wireless LAN error rate measuring unit 105 measures an error rate (loss rate) of a received frame from the last 100 received frames by counting as an error when a missing frame occurs.

リオーダ判断部106は、フレームに抜けが発生した場合にリオーダリングを実施するか否かを決定するプログラムである。リオーダ制御部107は、受信されたフレームで中抜けが発生した場合に、フレームの順序を整える処理を行うプログラムであり、リオーダリングを実施する際に必要となるリオーダバッファを含んだものである。   The reorder determination unit 106 is a program that determines whether or not to perform reordering when a frame is missing. The reorder control unit 107 is a program that performs processing to arrange the order of frames when a missing frame occurs in a received frame, and includes a reorder buffer that is necessary for performing reordering.

図2(a)は、無線LAN端末101で受信されるフレームの構成例を示す。本実施形態で、単にフレームと述べたときは図2(a)のように示されるフレームのことを指すものとし、A-MPDUフレームと区別して表す。一方、A-MPDUフレームは、図2(a)で示されるフレームが複数個連結されたフレームとして表される。無線LAN端末101で、A-MPDUフレームが受信された場合には、無線LAN制御部103がA-MPDUフレームを複数のフレームに分割する。また、図2(b)は、MPDUヘッダの詳細を示す。図2(c)は、シーケンス制御の詳細を示す。各フレームは、MPDUヘッダ(図2(b))内のシーケンス制御(図2(c))のシーケンス番号が連続になるように送信される。そのため、A-MPDUフレームを受信した際にフレームに途中で抜けが発生した場合には、受信されるフレームのシーケンス番号が連続にならずに抜けが生じることになる。また、Block Ack等により途中で抜けたフレームが再送されて無線LAN端末101で受信された場合にも、シーケンス番号は連続にならず、これまで受信したフレームのシーケンス番号よりも小さいシーケンス番号のフレームが受信されることになる。本実施形態、および以降の実施形態では説明を簡便にするために、フラグメントは行われないものとして説明する。   FIG. 2A shows a configuration example of a frame received by the wireless LAN terminal 101. In the present embodiment, when simply referred to as a frame, it refers to a frame shown in FIG. 2 (a) and is distinguished from an A-MPDU frame. On the other hand, the A-MPDU frame is represented as a frame in which a plurality of frames shown in FIG. When the wireless LAN terminal 101 receives an A-MPDU frame, the wireless LAN control unit 103 divides the A-MPDU frame into a plurality of frames. FIG. 2 (b) shows details of the MPDU header. FIG. 2 (c) shows details of sequence control. Each frame is transmitted so that the sequence numbers of the sequence control (FIG. 2 (c)) in the MPDU header (FIG. 2 (b)) are consecutive. For this reason, when an A-MPDU frame is received and a gap occurs in the middle of the frame, the received frame sequence numbers do not become continuous, and the gap occurs. In addition, even when a frame that has been lost in the middle due to Block Ack or the like is retransmitted and received by the wireless LAN terminal 101, the sequence number does not become consecutive, and a frame with a sequence number smaller than the sequence number of the frames received so far Will be received. In the present embodiment and the following embodiments, the description will be made assuming that no fragmentation is performed in order to simplify the description.

図3(a)は、リオーダバッファの構成例を示す。図3(a)に示されるリオーダバッファのデータは、リオーダ制御部107によってリオーダリングを実施するために保存される。領域301は、最後にTCP/IP処理部102に通知されたシーケンス番号を格納するための領域であり、フレームに抜けが発生したことや、フレームの並びが揃ったことを検出するために使用される。領域302、領域303、および領域304はいずれもフレームのシーケンス番号と、フレームへのポインタとを格納する。これは抜けたフレームが生じた際に、先行して受信したフレームのシーケンス番号とフレームへのポインタを格納するのに使用される。図3(a)では3個分のフレームの領域が図示されているが、領域の数は問わない。各領域は、静的に確保された領域であってもよいが、動的に領域を確保するようにした方がバッファの利用効率化につながる。   FIG. 3A shows a configuration example of the reorder buffer. The data in the reorder buffer shown in FIG. 3A is stored by the reorder control unit 107 for reordering. The area 301 is an area for storing the sequence number last notified to the TCP / IP processing unit 102, and is used to detect that a frame has been lost or that the arrangement of frames has been aligned. The Each of the area 302, the area 303, and the area 304 stores a frame sequence number and a pointer to the frame. This is used to store the sequence number of a previously received frame and a pointer to the frame when a missing frame occurs. In FIG. 3 (a), three frame regions are shown, but the number of regions is not limited. Each area may be a statically secured area, but dynamically securing the area leads to more efficient use of the buffer.

図3(b)は、具体的にデータが格納されたときのリオーダバッファの例を示す。図3(b)は、シーケンス番号1000からシーケンス番号1005までのフレームが端末から送信され、シーケンス番号1001およびシーケンス番号1004のフレームが抜けて受信されたときの例である。シーケンス番号1001が抜けて受信されたため、最後にTCP/IP処理部102に通知されたシーケンス番号は1000であり、続いて受信されたシーケンス番号1002、シーケンス番号1003、シーケンス番号1005のフレームのそれぞれのシーケンス番号とフレームへのポインタとが対にして格納される。   FIG. 3 (b) shows an example of a reorder buffer when data is specifically stored. FIG. 3B shows an example in which frames from sequence number 1000 to sequence number 1005 are transmitted from the terminal, and frames having sequence number 1001 and sequence number 1004 are received and received. Since the sequence number 1001 has been received and received, the sequence number finally notified to the TCP / IP processing unit 102 is 1000, and each of the frames of the sequence number 1002, the sequence number 1003, and the sequence number 1005 received subsequently is received. A sequence number and a pointer to a frame are stored as a pair.

図3(b)の状態から、無線LAN制御部103がシーケンス番号1001のフレームを受信すると、シーケンス番号1001からシーケンス番号1003までのフレームが揃う。そこでシーケンス番号1000、シーケンス番号1001、シーケンス番号1002、およびシーケンス番号1003のフレームは、リオーダ制御部107によりフレームの順序を整えられ、TCP/IP通知部104が、TCP/IP処理部102にフレームを通知して処理を依頼する。そして最後にTCP/IP処理部102に通知されたシーケンス番号は、シーケンス番号1003となり、リオーダバッファからシーケンス番号1002およびシーケンス番号1003は削除される。   When the wireless LAN control unit 103 receives the frame having the sequence number 1001 from the state of FIG. 3B, the frames from the sequence number 1001 to the sequence number 1003 are prepared. Therefore, the frames of sequence number 1000, sequence number 1001, sequence number 1002, and sequence number 1003 are rearranged by the reorder control unit 107, and the TCP / IP notification unit 104 sends the frame to the TCP / IP processing unit 102. Notify and request processing. The sequence number finally notified to the TCP / IP processing unit 102 is the sequence number 1003, and the sequence number 1002 and the sequence number 1003 are deleted from the reorder buffer.

一方で、図3(b)の状態から、無線LAN制御部103がシーケンス番号1004のフレームを受信した場合は、まだシーケンス番号1001のフレームが抜けたままである。そのため、リオーダ制御部107は、シーケンス番号1004のフレームをリオーダバッファに追加する。TCP/IP通知部104は、シーケンス番号1001のフレームが受信されるまでTCP/IP処理部102への通知を行わない。   On the other hand, when the wireless LAN control unit 103 receives the frame having the sequence number 1004 from the state of FIG. 3B, the frame having the sequence number 1001 is still missing. Therefore, the reorder control unit 107 adds the frame having the sequence number 1004 to the reorder buffer. The TCP / IP notification unit 104 does not notify the TCP / IP processing unit 102 until the frame having the sequence number 1001 is received.

図4のフローチャートを参照して、本実施形態における無線LAN端末101のフレーム受信時の処理の手順を説明する。図4のS401、S402、S403、S405、およびS406の各処理は、無線LANエラー率測定部105により実行される。S404およびS411の各処理は、TCP/IP通知部104により実行される。S407の処理は、リオーダ判断部106により実行される。S408、S409、およびS410の各処理は、リオーダ制御部107により実行される。   With reference to the flowchart of FIG. 4, a procedure of processing when the wireless LAN terminal 101 receives a frame in this embodiment will be described. Each process of S401, S402, S403, S405, and S406 in FIG. 4 is executed by the wireless LAN error rate measuring unit 105. Each process of S404 and S411 is executed by the TCP / IP notification unit 104. The process of S407 is executed by the reorder determining unit 106. Each process of S408, S409, and S410 is executed by the reorder control unit 107.

図示されない端末から無線LAN端末101にフレームが送信されると、まず、無線LAN制御部103が該フレームを受信する。無線LAN制御部103はフレームを受信すると、無線LANエラー率測定部105へ受信したフレームを渡す。また、無線LAN制御部103は、A-MPDUフレームを受信した場合には、無線LAN制御部103はA-MPDUフレームを複数のフレームへ分割した上で、各フレームを一つずつ無線LANエラー率測定部105へ渡して処理を依頼する。   When a frame is transmitted from a terminal (not shown) to the wireless LAN terminal 101, first, the wireless LAN control unit 103 receives the frame. When receiving the frame, the wireless LAN control unit 103 passes the received frame to the wireless LAN error rate measurement unit 105. Also, when the wireless LAN control unit 103 receives an A-MPDU frame, the wireless LAN control unit 103 divides the A-MPDU frame into a plurality of frames, and then each frame is subjected to a wireless LAN error rate one by one. It passes to the measurement part 105 and requests a process.

S401において、無線LANエラー率測定部105は、フレームを渡されると、MPDUヘッダのシーケンス制御からシーケンス番号を取得して、この取得されたシーケンス番号と最後にTCP/IP処理部102に通知されたシーケンス番号とを比較する。このとき、取得されたシーケンス番号が、最後にTCP/IP処理部102に通知されたシーケンス番号よりも1大きい場合には順番通りと判断し、S402へ進む。取得されたシーケンス番号が、最後にTCP/IP処理部102に通知されたシーケンス番号よりも2以上大きいと判断された場合には、フレームに抜けが発生したとして、S405へ進む。取得されたシーケンス番号が、最後にTCP/IP処理部102に通知されたシーケンス番号よりも小さい場合には、再送フレームが到達したとして、S408へ進む。   In S401, when the frame is passed, the wireless LAN error rate measurement unit 105 acquires the sequence number from the sequence control of the MPDU header, and finally notifies the TCP / IP processing unit 102 of the acquired sequence number. Compare with the sequence number. At this time, if the acquired sequence number is one greater than the sequence number last notified to the TCP / IP processing unit 102, the sequence number is determined to be in order, and the process proceeds to S402. If it is determined that the acquired sequence number is 2 or more than the sequence number last notified to the TCP / IP processing unit 102, it is determined that a frame has dropped out and the process proceeds to S405. If the acquired sequence number is smaller than the sequence number last notified to the TCP / IP processing unit 102, it is determined that the retransmission frame has arrived and the process proceeds to S408.

S402において、無線LANエラー測定部105は、受信フレームが順序どおりに到達した場合には、受信フレームを、正常に受信されたパケットであるとしてカウントする。   In S402, when the received frames arrive in order, the wireless LAN error measuring unit 105 counts the received frames as being normally received packets.

S405において、無線LANエラー測定部105は、フレームに抜けが発生した場合にはエラーとしてカウントする。   In S405, the wireless LAN error measurement unit 105 counts as an error when a missing frame occurs.

一方で、無線LANエラー測定部105は、再送フレームと判断された場合にはカウントを行わない。   On the other hand, the wireless LAN error measurement unit 105 does not count when it is determined as a retransmission frame.

S403およびS406において、無線LANエラー率測定部105は、最後に正常またはエラーとしてカウントされた、最新の100個の受信フレームからそれぞれの場合の無線LANエラー率を算出する。   In S403 and S406, the wireless LAN error rate measuring unit 105 calculates the wireless LAN error rate in each case from the latest 100 received frames that were counted as normal or error last.

S402で順序通りだと判断されたフレームは、S403での無線LANエラー率の算出後、S404でTCP/IP通知部104により、TCP/IP処理部102に通知されて、ネットワーク上位層において受信したフレームの処理を依頼する。このとき、何らかのMAC処理を行った後に、TCP/IP処理部102に受信フレームを渡してもよい。例えば、受信フレームがA-MSDU(MAC service data unit)フレームであれば、A-MSDUフレームを複数のMSDUに分割して、TCP/IP処理部102に渡してもよい。   The frame determined to be in order in S402 is notified to the TCP / IP processing unit 102 by the TCP / IP notification unit 104 in S404 after the wireless LAN error rate is calculated in S403 and received in the upper layer of the network. Request processing of the frame. At this time, the received frame may be passed to the TCP / IP processing unit 102 after performing some MAC processing. For example, if the received frame is an A-MSDU (MAC service data unit) frame, the A-MSDU frame may be divided into a plurality of MSDUs and passed to the TCP / IP processing unit 102.

次にS405でエラーとしてカウントされた受信フレームについて述べる。S406で無線LANエラー率測定部105により無線LANエラー率が算出された後にS407が実施される。S407の処理は、リオーダ判断部106により実施され、詳細は図5で示される。図5のフローチャートは、リオーダ判断部106の処理の詳細を示す。   Next, the received frame counted as an error in S405 will be described. After the wireless LAN error rate is calculated by the wireless LAN error rate measuring unit 105 in S406, S407 is performed. The processing of S407 is performed by the reorder determining unit 106, and details are shown in FIG. The flowchart of FIG. 5 shows details of the processing of the reorder determining unit 106.

リオーダ判断部106は、無線LANエラー率測定部105によって測定された無線LANエラー率によりリオーダリングするか否かを決定する。無線LANエラー率は、S403またはS406で最後に算出された無線LANエラー率を用いる。   The reorder determining unit 106 determines whether or not to reorder based on the wireless LAN error rate measured by the wireless LAN error rate measuring unit 105. As the wireless LAN error rate, the wireless LAN error rate calculated last in S403 or S406 is used.

S501において、リオーダ判断部106は、無線LANエラー率が5%以上(閾値以上)であるか否かを判定する。無線LANエラー率が5%以上(閾値以上)であると判定された場合には(S501;YES)、S502へ進む。一方、無線LANエラー率が5%未満(閾値未満)であると判定された場合には(S501;NO)、S503へ進む。S502において、リオーダ判断部106は、リオーダすると決定する。一方、S503において、リオーダ判断部106は、リオーダしないと決定する。なお、閾値として5%を基準としたが、必ずしも5%に限られず、任意の所定値を閾値として設定してもよい。   In S501, the reorder determining unit 106 determines whether or not the wireless LAN error rate is 5% or higher (threshold or higher). If it is determined that the wireless LAN error rate is 5% or more (above the threshold) (S501; YES), the process proceeds to S502. On the other hand, if it is determined that the wireless LAN error rate is less than 5% (less than the threshold) (S501; NO), the process proceeds to S503. In S502, the reorder determining unit 106 determines to reorder. On the other hand, in S503, the reorder determining unit 106 determines not to reorder. Although the threshold is 5% as a reference, the threshold is not necessarily limited to 5%, and an arbitrary predetermined value may be set as the threshold.

S502でリオーダすると決定された場合は、図4のフローチャートにおけるS407のYesに該当し、S409へ進む。S409において、リオーダ制御部107は、リオーダリングをすると決定された受信フレームをリオーダバッファに格納する。当該フレームはフレームの順序が揃った後に、TCP/IP処理部102に渡される。そのため、フレームの順序が揃うまではリオーダバッファに格納されたまま保持される。   If it is determined to reorder in S502, it corresponds to Yes in S407 in the flowchart of FIG. 4, and the process proceeds to S409. In S409, the reorder control unit 107 stores the received frame determined to be reordered in the reorder buffer. The frame is delivered to the TCP / IP processing unit 102 after the frame order is aligned. For this reason, the frames are held in the reorder buffer until the frames are arranged.

一方で、S503でリオーダリングしないと判断された場合は、図4のフローチャートにおけるS407のNoに該当し、S404へ進む。   On the other hand, if it is determined not to reorder in S503, it corresponds to No in S407 in the flowchart of FIG. 4, and the process proceeds to S404.

S404において、TCP/IP通知部102は、当該受信フレームをTCP/IP処理部102に通知する。すなわち、フレームに抜けがあるまま、ネットワーク上位層で当該フレームの処理が実施されることになる。   In S404, the TCP / IP notification unit 102 notifies the TCP / IP processing unit 102 of the received frame. That is, processing of the frame is performed in the upper layer of the network with the frame missing.

次にS401で再送フレームとして判断された受信フレームの処理を行うS408の処理について述べる。   Next, the processing in S408 for processing the received frame determined as the retransmission frame in S401 will be described.

S408において、受信フレームが再送フレームである場合、リオーダ制御部107は、リオーダバッファに格納された受信フレームのシーケンス番号から、抜けたフレームが揃っているかどうかを判断する。抜けたフレームが揃っていると判断された場合(S408;YES)、S410へ進む。抜けたフレームが揃っていないと判断された場合(S408;NO)、S409へ進む。   In S408, when the received frame is a retransmission frame, the reorder control unit 107 determines whether or not missing frames are prepared from the sequence numbers of the received frames stored in the reorder buffer. If it is determined that the missing frames are aligned (S408; YES), the process proceeds to S410. If it is determined that the missing frames are not complete (S408; NO), the process proceeds to S409.

S409において、リオーダ制御部107は、当該再送フレームをリオーダバッファに格納する。そして、抜けたフレームが揃うまで当該再送フレームはTCP/IP処理部102には通知されない。   In S409, the reorder control unit 107 stores the retransmission frame in the reorder buffer. Then, the retransmission frame is not notified to the TCP / IP processing unit 102 until the missing frames are arranged.

S410において、S408で抜けたフレームが揃ったと判断された場合には、リオーダ制御部106は、リオーダリングを実施し、シーケンス番号に従ってリオーダバッファに格納された受信フレームを並び替える。   If it is determined in S410 that the missing frames are complete in S408, the reorder control unit 106 performs reordering and rearranges the received frames stored in the reorder buffer according to the sequence number.

S411において、TCP/IP通知部104は、シーケンス番号の順序通りにリオーダリングされた受信フレーム群を、TCP/IP処理部102に通知する。S404、S409、およびS411の各処理の後、図4のフローチャートの処理が終了する。   In S411, the TCP / IP notification unit 104 notifies the TCP / IP processing unit 102 of the received frame group reordered in the order of the sequence numbers. After each process of S404, S409, and S411, the process of the flowchart of FIG. 4 ends.

本実施形態によれば、無線LANレベルでのエラー率に応じて、リオーダ処理を実施するか否かを制御することできる。これにより、フレームの抜けが少ない場合には通信遅延を小さくすることができる。同時に、リオーダバッファの領域を必要に応じて動的に確保すれば、リオーダリングに必要なバッファサイズを小さくできる。一方で、MAC層(無線LANのレベルで)フレームの抜けが多発してTCPのスループットが大きく劣化する可能性があるような場合には、MAC層においてリオーダ処理を実施してTCPのスループット低下を防ぐことができる。   According to the present embodiment, it is possible to control whether or not the reorder processing is performed according to the error rate at the wireless LAN level. Thereby, when there are few missing frames, the communication delay can be reduced. At the same time, if the reorder buffer area is dynamically secured as necessary, the buffer size required for reordering can be reduced. On the other hand, if there is a possibility that the TCP throughput is greatly deteriorated due to frequent frame loss (at the wireless LAN level), reorder processing is performed in the MAC layer to reduce the TCP throughput. Can be prevented.

(第2実施形態)
図6乃至8を参照して、本発明の第2実施形態について説明する。図6は、本実施形態を適用できる無線LAN端末601の構成を示している。無線LAN端末601は、TCP/IP処理部602と、無線LAN制御部603と、TCP/IP通知部604と、アプリケーション処理部605と、無線LANエラー率測定部606と、リオーダ判断部607と、リオーダ制御部608と、プロトコル識別部609とを備える。図6の無線LAN端末601は、図1で説明した無線LAN端末101の構成に、アプリケーション処理部605およびプロトコル識別部609が加わったものである。そのため、図1と同様な部分の説明は省略する。 アプリケーション処理部605は、TCP/IP処理部602を介してTCPまたはUDP通信をすることで動作するアプリケーションプログラムである。アプリケーションの例としては、画像データを送信するアプリケーションや、無線LAN端末601の状態の問い合わせに応答するステータス管理アプリケーションなどが挙げられる。
(Second Embodiment)
A second embodiment of the present invention will be described with reference to FIGS. FIG. 6 shows the configuration of a wireless LAN terminal 601 to which this embodiment can be applied. The wireless LAN terminal 601 includes a TCP / IP processing unit 602, a wireless LAN control unit 603, a TCP / IP notification unit 604, an application processing unit 605, a wireless LAN error rate measurement unit 606, a reorder determination unit 607, A reorder control unit 608 and a protocol identification unit 609 are provided. A wireless LAN terminal 601 in FIG. 6 is obtained by adding an application processing unit 605 and a protocol identification unit 609 to the configuration of the wireless LAN terminal 101 described in FIG. Therefore, the description of the same part as in FIG. 1 is omitted. The application processing unit 605 is an application program that operates by performing TCP or UDP communication via the TCP / IP processing unit 602. Examples of the application include an application that transmits image data and a status management application that responds to an inquiry about the state of the wireless LAN terminal 601.

プロトコル識別部609は、受信フレームが指定されたプロトコルであるか否かの識別を行うプログラムである。プロトコル識別部609で識別されたプロトコルのフレームのみをリオーダ対象に含める。プロトコルの指定は、アプリケーション処理部605がポート番号を指定することにより行われる。   The protocol identification unit 609 is a program for identifying whether or not the received frame is a designated protocol. Only frames of the protocol identified by the protocol identification unit 609 are included in the reorder target. The protocol is specified by the application processing unit 605 specifying a port number.

例えば、スループットが要求されるような画像データ送信アプリケーションであれば、アプリケーション処理部605は、画像データ送信アプリケーションが使用するポート番号を指定する。一方で、無線LAN端末601のステータスを管理するようなアプリケーションのような、スループットがあまり要求されないアプリケーションであれば、アプリケーション処理部605は、ポート番号の指定を行わない。あるいは、UDPによりリアルタイムでストリーミングが受信されるようなアプリケーションであれば、通信遅延を小さくするためにポート番号による指定を行わない。   For example, in the case of an image data transmission application that requires throughput, the application processing unit 605 specifies a port number used by the image data transmission application. On the other hand, if the application does not require much throughput, such as an application that manages the status of the wireless LAN terminal 601, the application processing unit 605 does not specify a port number. Alternatively, if the application receives streaming in real time by UDP, the port number is not specified to reduce the communication delay.

図7のフローチャートを参照して、無線LAN端末601がフレームを受信したときの処理を説明する。S701乃至S706の各処理は、図4のS401乃至S406の各処理と同様である。また、S709乃至S712の各処理は、それぞれ、S409、S408、S410、およびS411の各処理と同様である。図4と同様の処理については説明を省略する。図4における処理との相違点は、S707およびS708の処理である。S707の処理はプロトコル識別部609によって実施される。S708の処理はリオーダ判断部607によって実施される。   Processing when the wireless LAN terminal 601 receives a frame will be described with reference to the flowchart of FIG. Each process of S701 to S706 is the same as each process of S401 to S406 in FIG. Further, the processes of S709 to S712 are the same as the processes of S409, S408, S410, and S411, respectively. Description of the same processing as in FIG. 4 is omitted. The difference from the processing in FIG. 4 is the processing in S707 and S708. The process of S707 is performed by the protocol identification unit 609. The processing in S708 is performed by the reorder determining unit 607.

S701でフレームに抜けがあると判断された場合には第1実施形態と同様に、S705、S706へ進み、S706において、無線LANエラー測定部105は、無線LANエラー率を算出する。その後、S707において、プロトコル識別部609は、プロトコル(データ種別)を識別する。プロトコル識別部609は、受信したフレームが予め指定されたポート番号のデータであるかどうかを識別し、その結果をリオーダ判断部607に通知する。S708において、リオーダ判断部607は、受信したフレームをリオーダ対象に含めるか否か判断する。第2実施形態におけるリオーダリング判断部607のS708の処理を図8に示す。   If it is determined in S701 that there is a missing frame, the process proceeds to S705 and S706 as in the first embodiment. In S706, the wireless LAN error measurement unit 105 calculates a wireless LAN error rate. Thereafter, in S707, the protocol identification unit 609 identifies the protocol (data type). The protocol identification unit 609 identifies whether the received frame is data of a port number designated in advance, and notifies the reorder determination unit 607 of the result. In S708, the reorder determining unit 607 determines whether or not to include the received frame as a reorder target. FIG. 8 shows the processing of S708 of the reordering determination unit 607 in the second embodiment.

図8のフローチャートを参照して、リオーダ判断部607の詳細な処理について説明する。まずS801において、リオーダ判断部607は、無線LANエラー率測定部606により算出された無線LANエラー率が5%以上であるか否かを判断する。無線LANエラー率が5%以上であると判断された場合(S801;YES)、S802へ進む。一方、無線LANエラー率が5%未満であると判断された場合(S801;NO)、S804へ進む。S802において、リオーダ判断部607は、プロトコル識別部609によって識別された結果から、予めリオーダ対象として指定されたポート番号であるか否かを判断する。予めリオーダ対象として指定されたポート番号であると判断された場合(S802;YES)、S803へ進む。一方、予めリオーダ対象として指定されたポート番号でないと判断された場合(S802;NO)、S804へ進む。S804において、リオーダ判断部607は、リオーダリングしないと判断する。S805において、リオーダ判断部607は、リオーダリングすると判断する。以上で処理を終了する。   A detailed process of the reorder determination unit 607 will be described with reference to the flowchart of FIG. First, in S801, the reorder determining unit 607 determines whether or not the wireless LAN error rate calculated by the wireless LAN error rate measuring unit 606 is 5% or more. When it is determined that the wireless LAN error rate is 5% or more (S801; YES), the process proceeds to S802. On the other hand, if it is determined that the wireless LAN error rate is less than 5% (S801; NO), the process proceeds to S804. In S802, the reorder determining unit 607 determines whether or not the port number has been designated as a reorder target in advance from the result identified by the protocol identifying unit 609. If it is determined that the port number has been designated as a reorder target in advance (S802; YES), the process proceeds to S803. On the other hand, if it is determined that the port number is not designated as a reorder target in advance (S802; NO), the process proceeds to S804. In S804, the reorder determining unit 607 determines not to reorder. In S805, the reorder determining unit 607 determines that reordering is to be performed. The process ends here.

以上のように、リオーダ判断部607は、図8のフローチャートの処理に従って、図7のフローチャートのS708の処理においてリオーダリングするか否かを判断する。本実施形態によれば、アプリケーションやプロトコル毎にリオーダリングを実施するか否かを指定することができる。例えば、TCPでスループットを要求するようなアプリケーションであれば、リオーダリングを実施することにより、無線LANレベルでフレームの抜けが発生した場合においてもスループットの低下を低減させることができる。一方で、UDPで音声やビデオのストリーミングを受信する際には、通信遅延を小さくするためにリオーダリングを実施しないといった指定が可能となる。   As described above, the reorder determining unit 607 determines whether or not to reorder in the process of S708 of the flowchart of FIG. 7 according to the process of the flowchart of FIG. According to the present embodiment, it is possible to specify whether or not to perform reordering for each application or protocol. For example, in the case of an application that requires throughput by TCP, by performing reordering, it is possible to reduce a decrease in throughput even when a frame dropout occurs at the wireless LAN level. On the other hand, when audio or video streaming is received by UDP, it is possible to specify that reordering is not performed in order to reduce communication delay.

(第3実施形態)
図9乃至12を参照して、本発明の第3実施形態について説明する。図9は、本実施形態を適用できる無線LAN端末901の構成を示している。無線LAN端末901は、TCP/IP処理部902と、無線LAN制御部903と、TCP/IP通知部904と、アプリケーション処理部905と、無線LANエラー率測定部906と、リオーダ判断部907と、リオーダ制御部908と、プロトコル識別部909と、TCP再送率測定部910とを備える。図9の無線LAN端末901は、図6の無線LAN端末601にTCP再送率測定部910が加わったものである。そのため、図6と同様な部分の説明は省略する。
(Third embodiment)
A third embodiment of the present invention will be described with reference to FIGS. FIG. 9 shows the configuration of a wireless LAN terminal 901 to which this embodiment can be applied. The wireless LAN terminal 901 includes a TCP / IP processing unit 902, a wireless LAN control unit 903, a TCP / IP notification unit 904, an application processing unit 905, a wireless LAN error rate measurement unit 906, a reorder determination unit 907, A reorder control unit 908, a protocol identification unit 909, and a TCP retransmission rate measurement unit 910 are provided. The wireless LAN terminal 901 in FIG. 9 is obtained by adding a TCP retransmission rate measurement unit 910 to the wireless LAN terminal 601 in FIG. Therefore, the description of the same part as in FIG. 6 is omitted.

TCP再送率測定部910は、受信したTCPデータからTCPで発生した、フレーム再送率を算出するためのプログラムである(再送率算出処理)。TCP再送率測定部910は、受信したTCPデータのTCPシーケンス番号で一番大きいものを基準TCPシーケンス番号として保持する。そして基準TCPシーケンス番号よりも大きいTCPデータを受信した場合には、再送でないとカウントする。一方で、基準TCPシーケンス番号よりも小さいTCPデータを受信した場合には、再送としてカウントする。また、TCPデータでない場合にはカウントしない。そして、TCP再送率測定部910は、最後に受信した100個のTCPデータからTCPの再送率を測定する。基準TCPシーケンス番号は、より大きいTCPシーケンス番号のTCPのデータを受信する度に更新する。   The TCP retransmission rate measurement unit 910 is a program for calculating a frame retransmission rate generated in TCP from received TCP data (retransmission rate calculation processing). The TCP retransmission rate measurement unit 910 holds the largest TCP sequence number of the received TCP data as a reference TCP sequence number. When TCP data larger than the reference TCP sequence number is received, it is counted as not being retransmitted. On the other hand, when TCP data smaller than the reference TCP sequence number is received, it is counted as retransmission. If it is not TCP data, it is not counted. TCP retransmission rate measuring section 910 measures the TCP retransmission rate from the last received 100 pieces of TCP data. The reference TCP sequence number is updated each time TCP data having a larger TCP sequence number is received.

図10のフローチャートを参照して、無線LAN端末901がフレームを受信したときの処理の手順について説明する。S1001乃至S1007の各処理は、図7のS701乃至S707の各処理と同様である。また、S1010乃至S1013の各処理は、S709乃至S712の各処理と同様である。図7と同様の処理については説明を省略する。図7における処理との相違点は、S1008およびS1009の処理である。S1008の処理は、TCP再送率測定部910によって実施される。S1009の処理は、リオーダ判断部907によって実施される。   A processing procedure when the wireless LAN terminal 901 receives a frame will be described with reference to the flowchart of FIG. Each process of S1001 to S1007 is the same as each process of S701 to S707 in FIG. Further, the processes of S1010 to S1013 are the same as the processes of S709 to S712. Explanation of the same processing as in FIG. 7 is omitted. The difference from the processing in FIG. 7 is the processing of S1008 and S1009. The processing in S1008 is performed by the TCP retransmission rate measurement unit 910. The processing of S1009 is performed by the reorder determining unit 907.

S1001でフレームに抜けがあると判断された場合には第2実施形態と同様に、S1005、S1006、S1007により無線LANエラー率の算出処理、プロトコルの識別処理が実施される。そして、その後にS1008において、TCP再送率測定部910は、TCPの再送発生率を測定する。S1008の詳細な処理を図11のフローチャートを参照して説明する。   If it is determined in S1001 that there is a missing frame, wireless LAN error rate calculation processing and protocol identification processing are performed by S1005, S1006, and S1007, as in the second embodiment. Thereafter, in S1008, the TCP retransmission rate measurement unit 910 measures the TCP retransmission occurrence rate. Detailed processing of S1008 will be described with reference to the flowchart of FIG.

S1101において、TCP再送率測定部910は、受信されたフレームがTCPプロトコルのデータであるか否かを判断する。受信フレームがTCPプロトコルのデータであると判断された場合(S1101;YES)、S1102へ進む。一方、受信フレームがTCPプロトコルのデータではないと判断された場合(S1101;NO)、TCP再送率を更新しないで処理を終了する。   In step S1101, the TCP retransmission rate measurement unit 910 determines whether the received frame is data of the TCP protocol. When it is determined that the received frame is TCP protocol data (S1101; YES), the process proceeds to S1102. On the other hand, if it is determined that the received frame is not data of the TCP protocol (S1101; NO), the process is terminated without updating the TCP retransmission rate.

S1102において、TCP再送率測定部910は、受信フレームのTCPシーケンス番号と基準TCPシーケンス番号とを比較する。受信フレームのTCPシーケンス番号が基準TCPシーケンス番号よりも大きいと判断された場合には(S1102;YES)、S1103へ進む。一方、受信フレームのTCPシーケンス番号が基準TCPシーケンス番号以下であると判断された場合には(S1102;NO)、S1104へ進む。   In S1102, the TCP retransmission rate measurement unit 910 compares the TCP sequence number of the received frame with the reference TCP sequence number. If it is determined that the TCP sequence number of the received frame is larger than the reference TCP sequence number (S1102; YES), the process proceeds to S1103. On the other hand, when it is determined that the TCP sequence number of the received frame is equal to or less than the reference TCP sequence number (S1102; NO), the process proceeds to S1104.

S1103において、TCP再送率測定部910は、受信フレームを再送でないとしてカウントする。また、TCP再送率測定部910は基準TCPシーケンス番号を更新する。S1104において、TCP再送率測定部910は、受信フレームを再送であるとしてカウントする。S1103、S1104で再送であるか否かをカウントした後に、S1105へ進む。   In S1103, TCP retransmission rate measurement section 910 counts the received frame as not being retransmitted. Also, the TCP retransmission rate measurement unit 910 updates the reference TCP sequence number. In S1104, TCP retransmission rate measurement section 910 counts the received frame as being retransmitted. After counting whether or not it is retransmission in S1103 and S1104, the process proceeds to S1105.

S1105において、TCP再送率測定部910は、TCP再送率を再計算する。TCP再送率は、最後に受信された100個のTCPデータから再送の発生頻度を計算することにより算出される。以上でS1008の処理が終了する。   In S1105, the TCP retransmission rate measurement unit 910 recalculates the TCP retransmission rate. The TCP retransmission rate is calculated by calculating the frequency of occurrence of retransmissions from the last 100 received TCP data. Thus, the process of S1008 ends.

S1008でTCP再送率を測定した後に、S1009において、リオーダ判断部907は、受信したフレームをリオーダ対象に含めるか否か判断する。第3実施形態におけるリオーダ判断部907によるS1009の処理を図12のフローチャートを参照して説明する。   After measuring the TCP retransmission rate in S1008, in S1009, the reorder determining unit 907 determines whether or not to include the received frame as a reorder target. The processing of S1009 by the reorder determining unit 907 in the third embodiment will be described with reference to the flowchart of FIG.

まずS1201において、リオーダ判断部907は、無線LANエラー率測定部906により算出された無線LANエラー率が5%以上であるか否かを判断する。無線LANエラー率が5%以上であると判断された場合(S1202;YES)、S1202へ進む。一方、無線LANエラー率が5%未満であると判断された場合(S1202;NO)、S1205へ進み、リオーダリングしないと判断する。   First, in S1201, the reorder determining unit 907 determines whether or not the wireless LAN error rate calculated by the wireless LAN error rate measuring unit 906 is 5% or more. When it is determined that the wireless LAN error rate is 5% or more (S1202; YES), the process proceeds to S1202. On the other hand, if it is determined that the wireless LAN error rate is less than 5% (S1202; NO), the process proceeds to S1205, and it is determined not to reorder.

S1202において、リオーダ判断部907は、プロトコル識別部909によって識別された結果から、予めリオーダ対象として指定されたポート番号であるか否かを判断する。予めリオーダ対象として指定されたポート番号であると判断された場合(S1202;YES)、S1203へ進む。一方、予めリオーダ対象として指定されたポート番号ではないと判断された場合(S1202;NO)、S1205へ進み、リオーダリングしないと判断する。   In step S1202, the reorder determining unit 907 determines whether or not the port number is designated as a reorder target in advance based on the result identified by the protocol identifying unit 909. When it is determined that the port number has been designated as a reorder target in advance (S1202; YES), the process proceeds to S1203. On the other hand, if it is determined that the port number is not a port number designated in advance as a reorder target (S1202; NO), the process proceeds to S1205, and it is determined not to reorder.

S1203において、リオーダ判断部907は、TCP再送率測定部910によって算出されたTCP再送率が3%以上(閾値以上)であるか否かを判断する(再送率判断処理)。TCP再送率が3%以上(閾値以上)であると判断された場合(S1203;YES)、S1204へ進む。一方、TCP再送率が3%未満(閾値未満)であると判断された場合(S1203;YES)、S1205へ進む。S1204において、リオーダ判断部907は、リオーダリングをすると判断する。S1205において、リオーダ判断部907は、リオーダリングをしないと判断する。以上で処理を終了する。なお、閾値として3%を基準としたが、必ずしも3%に限られず、任意の所定値を閾値として設定してもよい。   In S1203, the reorder determining unit 907 determines whether or not the TCP retransmission rate calculated by the TCP retransmission rate measuring unit 910 is 3% or more (a threshold value or more) (retransmission rate determination process). If it is determined that the TCP retransmission rate is 3% or more (greater than or equal to the threshold) (S1203; YES), the process proceeds to S1204. On the other hand, if it is determined that the TCP retransmission rate is less than 3% (less than the threshold) (S1203; YES), the process proceeds to S1205. In S1204, the reorder determining unit 907 determines to perform reordering. In step S1205, the reorder determining unit 907 determines not to perform reordering. The process ends here. Although the threshold is 3% as a reference, it is not necessarily limited to 3%, and an arbitrary predetermined value may be set as the threshold.

以上のように、リオーダ判断部907は、図12のフローチャートの処理に従って、図11のフローチャートのS1109の処理においてリオーダリングするか否かを判断する。以降の処理は第2実施形態と同様である。   As described above, the reorder determining unit 907 determines whether or not to reorder in the process of S1109 of the flowchart of FIG. 11 according to the process of the flowchart of FIG. The subsequent processing is the same as in the second embodiment.

本実施形態によれば、TCPの再送発生率に応じてリオーダリングを実施するか否かを決定することができる。無線LANレベルでパケット抜けが生じた場合でも、TCPレベルで再送が発生していなければスループットの低下は大きくないことがあり得る。このような場合はバッファの利用効率や、通信遅延からリオーダリングしない。   According to the present embodiment, it is possible to determine whether or not to implement reordering according to the TCP retransmission rate. Even when a packet dropout occurs at the wireless LAN level, the throughput may not be significantly reduced unless retransmission occurs at the TCP level. In such a case, reordering is not performed due to buffer utilization efficiency or communication delay.

また、無線LANレベルでのパケット抜けが少ない場合であって、TCPレベルで再送が頻発している場合には、無線LANでの通信ではなく、ネットワークの別の箇所でロスが発生している可能性がある。このような場合にも、リオーダリングを実施してもスループットの低下は避けられないことが起こり得る。   In addition, when there are few packet drops at the wireless LAN level and retransmissions occur frequently at the TCP level, there is a possibility that a loss has occurred in another part of the network instead of wireless LAN communication. There is sex. Even in such a case, a decrease in throughput may be unavoidable even if reordering is performed.

本実施形態により、無線LANレベルでパケット抜けが生じていて、かつTCPのスループットが大きく低下しそうである場合には、リオーダリングを実施してスループットの低下を軽減することできる。一方で、そうでない場合にはリオーダリングを実施せずに、不必要にバッファを使用したり、通信遅延を大きくしてしまったりすることを防ぐことができる。   According to the present embodiment, when packet loss occurs at the wireless LAN level and TCP throughput is likely to be greatly reduced, reordering can be performed to reduce the reduction in throughput. On the other hand, if this is not the case, it is possible to prevent the buffer from being used unnecessarily and the communication delay from being increased without performing reordering.

<各実施形態について>
本発明は上述した各実施形態に限定されることなく、様々な形態で実施することが可能である。例えばS408、S710、S1011の各処理において、抜けたフレームが揃ってから、リオーダ制御部はリオーダリングを実施してTCP/IP処理部に通知を行っている。ここで、抜けたフレームが一定期間受信されない場合においては、フレームの一部が抜けたままリオーダを実施し、TCP/IP処理部に通知するようにしてもよい。
<About each embodiment>
The present invention is not limited to the embodiments described above, and can be implemented in various forms. For example, in each process of S408, S710, and S1011, after the missing frames are prepared, the reorder control unit performs reordering and notifies the TCP / IP processing unit. Here, when the missing frame is not received for a certain period of time, reordering may be performed with a part of the frame missing and notified to the TCP / IP processing unit.

第3実施形態では、S1203でTCP再送率からリオーダリングするか否かを決定しているが、受信されたフレームがUDPプロトコルのデータの場合はTCP再送率によらずにリオーダリングするか否かを決定してもよい。すなわち、TCPプロトコルでは第3実施形態のように無線LANエラー率、プロトコル種別、TCP再送率に基づき、リオーダリングするか否かを決定する。一方でUDPプロトコルでは第2実施形態のように無線LANエラー率、プロトコル種別に基づいてリオーダリングするか否かを決定するように、プロトコルに応じて適用方法を変えてもよい。   In the third embodiment, it is determined whether or not to reorder from the TCP retransmission rate in S1203, but whether or not to reorder regardless of the TCP retransmission rate if the received frame is UDP protocol data. May be determined. That is, in the TCP protocol, whether or not to reorder is determined based on the wireless LAN error rate, the protocol type, and the TCP retransmission rate as in the third embodiment. On the other hand, in the UDP protocol, the application method may be changed according to the protocol so as to determine whether or not to reorder based on the wireless LAN error rate and the protocol type as in the second embodiment.

更には、TCPでも特定のアプリケーションまたはポート番号では、TCP再送率に基づいてリオーダリングするか否かを決定し、別のアプリケーションまたはポート番号はTCP再送率を考慮しないようにしてもよい。   Further, in TCP, a specific application or port number may determine whether to reorder based on the TCP retransmission rate, and another application or port number may not consider the TCP retransmission rate.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (7)

複数のフレームを受信する受信手段と、
前記受信手段により受信された受信フレームに含まれるシーケンス番号に基づいて、前記受信フレームのロス率を算出する算出手段と、
前記算出手段により算出された前記ロス率が閾値以上である場合に前記受信フレームをリオーダリングすると判断し、前記ロス率が前記閾値未満である場合に前記受信フレームをリオーダリングしないと判断する判断手段と、
前記判断手段により前記受信フレームをリオーダリングすると判断された場合に、前記受信フレームをリオーダリングするリオーダリング手段と、
を備えることを特徴とする通信装置。
Receiving means for receiving a plurality of frames;
Calculating means for calculating a loss rate of the received frame based on a sequence number included in the received frame received by the receiving means;
Determination means for determining that the received frame is to be reordered when the loss rate calculated by the calculation means is equal to or greater than a threshold value, and for determining that the received frame is not to be reordered when the loss rate is less than the threshold value. When,
Reordering means for reordering the received frame when it is determined by the determining means to reorder the received frame;
A communication apparatus comprising:
データ種別を指定する指定手段と、
前記受信手段により受信された前記受信フレームが、前記指定手段により指定された前記データ種別であるか否かを識別する識別手段をさらに備え、
前記判断手段は、前記算出手段により算出された前記ロス率が閾値以上であり、且つ前記識別手段により前記受信フレームが前記データ種別であると識別された場合に、前記受信フレームをリオーダリングすると判断することを特徴とする請求項1に記載の通信装置。
A specifying means for specifying the data type;
An identification unit for identifying whether or not the received frame received by the receiving unit is the data type designated by the designation unit;
The determining means determines to reorder the received frame when the loss rate calculated by the calculating means is equal to or greater than a threshold and the identifying means identifies the received frame as the data type. The communication apparatus according to claim 1, wherein:
前記受信フレームのシーケンス番号に基づいて、フレーム再送の発生頻度である再送率を算出する再送率算出手段と、
前記再送率が閾値以上であるか否かを判断する再送率判断手段と、をさらに備え、
前記判断手段は、前記算出手段により算出された前記ロス率が閾値以上であり、前記識別手段により前記受信フレームが前記データ種別であると識別され、且つ前記再送率判断手段により前記再送率が閾値以上であると判断された場合に、前記受信フレームをリオーダリングすると判断することを特徴とする請求項2に記載の通信装置。
Based on the sequence number of the received frame, retransmission rate calculating means for calculating a retransmission rate that is the frequency of occurrence of frame retransmission;
Retransmission rate determining means for determining whether the retransmission rate is equal to or higher than a threshold; and
The determining means is such that the loss rate calculated by the calculating means is equal to or greater than a threshold, the identifying means identifies the received frame as the data type, and the retransmission rate determining means determines the retransmission rate to be a threshold. The communication apparatus according to claim 2, wherein if it is determined as above, it is determined to reorder the received frame.
前記データ種別は、TCPプロトコルのデータであることを特徴とする請求項2または3に記載の通信装置。   4. The communication apparatus according to claim 2, wherein the data type is TCP protocol data. 前記判断手段により前記受信フレームをリオーダリングすると判断された場合、前記受信フレームをリオーダリングしてから受信フレームをネットワーク上位層に通知し、前記判断手段により前記受信フレームをリオーダリングしないと判断された場合、前記受信フレームをリオーダリングしないで受信フレームを前記ネットワーク上位層に通知する通知手段をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の通信装置。   If it is determined by the determining means that the received frame is reordered, the received frame is notified to the upper layer of the network after the received frame is reordered, and the determined means is determined not to reorder the received frame. 5. The communication apparatus according to claim 1, further comprising notification means for notifying the received frame to the upper layer of the network without reordering the received frame. 受信手段と、算出手段と、判断手段と、リオーダリング手段とを備える通信装置の制御方法であって、
前記受信手段が、複数のフレームを受信する受信工程と、
前記算出手段が、前記受信工程により受信された受信フレームに含まれるシーケンス番号に基づいて、前記受信フレームのロス率を算出する算出工程と、
前記判断手段が、前記算出工程により算出された前記ロス率が閾値以上である場合に前記受信フレームをリオーダリングすると判断し、前記ロス率が前記閾値未満である場合に前記受信フレームをリオーダリングしないと判断する判断工程と、
前記リオーダリング手段が、前記判断工程により前記受信フレームをリオーダリングすると判断された場合に、前記受信フレームをリオーダリングするリオーダリング工程と、
を備えることを特徴とする通信装置の制御方法。
A control method for a communication device comprising a receiving means, a calculating means, a judging means, and a reordering means,
A receiving step in which the receiving means receives a plurality of frames;
The calculating means calculates a loss rate of the received frame based on a sequence number included in the received frame received by the receiving step;
The determining means determines that the received frame is reordered when the loss rate calculated by the calculating step is equal to or greater than a threshold value, and does not reorder the received frame when the loss rate is less than the threshold value. A determination process for determining
A reordering step of reordering the received frame when the reordering means determines that the received frame is reordered by the determining step;
A method for controlling a communication apparatus, comprising:
コンピュータに請求項6に記載の通信装置の制御方法の各工程を実行させるためのプログラム。   A program for causing a computer to execute each step of the communication device control method according to claim 6.
JP2011023242A 2011-02-04 2011-02-04 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM Active JP5703048B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011023242A JP5703048B2 (en) 2011-02-04 2011-02-04 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011023242A JP5703048B2 (en) 2011-02-04 2011-02-04 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2012165141A true JP2012165141A (en) 2012-08-30
JP5703048B2 JP5703048B2 (en) 2015-04-15

Family

ID=46844123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011023242A Active JP5703048B2 (en) 2011-02-04 2011-02-04 COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5703048B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241480A (en) * 2013-06-11 2014-12-25 西日本電信電話株式会社 Communication apparatus, communication method and computer program
WO2020012973A1 (en) * 2018-07-09 2020-01-16 日本電気株式会社 Communication control device, method, program, and computer-readable nontemporary recording medium
JP2021027503A (en) * 2019-08-07 2021-02-22 パナソニックIpマネジメント株式会社 Wireless device, wireless communication system, and wireless communication method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177536A (en) * 1997-12-08 1999-07-02 Mitsubishi Electric Corp Error control system for radio data link layer
JP2001508268A (en) * 1997-09-12 2001-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Transmission system with improved reconstruction of missing parts
JP2002101463A (en) * 2000-09-26 2002-04-05 Hitachi Kokusai Electric Inc Radio communication system
JP2005150951A (en) * 2003-11-12 2005-06-09 Ntt Docomo Inc Receiver, communications system and program
US20070165643A1 (en) * 2006-01-13 2007-07-19 Mooney Christopher F Method for controlling packet delivery in a packet switched network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001508268A (en) * 1997-09-12 2001-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Transmission system with improved reconstruction of missing parts
JPH11177536A (en) * 1997-12-08 1999-07-02 Mitsubishi Electric Corp Error control system for radio data link layer
JP2002101463A (en) * 2000-09-26 2002-04-05 Hitachi Kokusai Electric Inc Radio communication system
JP2005150951A (en) * 2003-11-12 2005-06-09 Ntt Docomo Inc Receiver, communications system and program
US20070165643A1 (en) * 2006-01-13 2007-07-19 Mooney Christopher F Method for controlling packet delivery in a packet switched network
JP2009524287A (en) * 2006-01-13 2009-06-25 アルカテル−ルーセント ユーエスエー インコーポレーテッド Method for controlling packet delivery in a packet switched network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241480A (en) * 2013-06-11 2014-12-25 西日本電信電話株式会社 Communication apparatus, communication method and computer program
WO2020012973A1 (en) * 2018-07-09 2020-01-16 日本電気株式会社 Communication control device, method, program, and computer-readable nontemporary recording medium
JPWO2020012973A1 (en) * 2018-07-09 2021-06-24 日本電気株式会社 Communication controllers, methods, and programs
JP7111162B2 (en) 2018-07-09 2022-08-02 日本電気株式会社 COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM
JP2021027503A (en) * 2019-08-07 2021-02-22 パナソニックIpマネジメント株式会社 Wireless device, wireless communication system, and wireless communication method
JP7340759B2 (en) 2019-08-07 2023-09-08 パナソニックIpマネジメント株式会社 Wireless device, wireless communication system, and wireless communication method

Also Published As

Publication number Publication date
JP5703048B2 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
US9961010B2 (en) Communications scheduler
JP4511174B2 (en) High speed data transmission system and method using TCP / IP
US9391907B2 (en) Packet aggregation
WO2017050216A1 (en) Packet transmission method and user equipment
US20140341013A1 (en) SYSTEM AND METHOD FOR CREATING LOGICAL RADIO LINK CONTROL (RLC) AND MEDIUM ACCESS CONTROL (MAC) PROTOCOL DATA UNITS (PDUs) IN MOBILE COMMUNICATION SYSTEM
EP4351208A1 (en) Method and system for improving wireless link efficiency
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US20090268747A1 (en) Communication apparatus
EP3694164B1 (en) Data transmission method and device, and computer storage medium
JP5541293B2 (en) Packet receiving apparatus, packet communication system, and packet order control method
JPWO2008023656A1 (en) Communication device
JPWO2011145557A1 (en) Packet retransmission control apparatus and packet retransmission control method
CN115066844A (en) Dynamic uplink end-to-end data transmission scheme with optimized memory path
JP5703048B2 (en) COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM
CN111132225B (en) Receiving side of RLC entity in AM mode and method for receiving data
JP2020507963A (en) Data transmission method and apparatus, and customer premises equipment
CN116506354B (en) NDN router and active congestion packet loss recovery method thereof
WO2021101640A1 (en) Method and apparatus of packet wash for in-time packet delivery
CA2940077C (en) Buffer bloat control
WO2016061987A1 (en) Packet processing method and device
US20220368765A1 (en) Universal Transport Framework For Heterogeneous Data Streams
JP4447028B2 (en) Communication control method, transmission apparatus, and computer program
JP4372814B2 (en) Method for counting the number of transmissions of a data unit, a counting device, a transmitting device, and a computer program
JP2007324700A (en) Transmission control method
JP2015097316A (en) Relay device and relay method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R151 Written notification of patent or utility model registration

Ref document number: 5703048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151