JP4348168B2 - COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM - Google Patents
COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM Download PDFInfo
- Publication number
- JP4348168B2 JP4348168B2 JP2003388311A JP2003388311A JP4348168B2 JP 4348168 B2 JP4348168 B2 JP 4348168B2 JP 2003388311 A JP2003388311 A JP 2003388311A JP 2003388311 A JP2003388311 A JP 2003388311A JP 4348168 B2 JP4348168 B2 JP 4348168B2
- Authority
- JP
- Japan
- Prior art keywords
- data unit
- data
- confirmation response
- transmitter
- received
- 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
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、データリンク層およびトランスポート層における通信制御技術に関する。 The present invention relates to a communication control technique in a data link layer and a transport layer.
OSI階層モデルにおけるデータリンク層の通信プロトコルの1つに、無線リンクの制御のために標準化されたRLC(Radio Link Control)プロトコルがある。RLCプロトコルは、非特許文献1に示されるように、3GPP(3rd Generation Partnership Project)において提案されたものであり、RLCプロトコルには、データリンク層を構成する2つの副層のうち、上位側のRLC副層にて通信ノードが行う操作(通信処理)が定められている。 One of the data link layer communication protocols in the OSI hierarchical model is the RLC (Radio Link Control) protocol standardized for radio link control. The RLC protocol is proposed in 3GPP (3rd Generation Partnership Project) as shown in Non-Patent Document 1, and the RLC protocol includes an upper-side of the two sublayers constituting the data link layer. An operation (communication process) performed by the communication node in the RLC sublayer is defined.
RLC副層における操作のモードには、AM(Acknowledgement Mode)、UM(Unacknowledgement Mode)、及びTM(Transparent Mode)があり、操作モードがAMのRLC副層にて送信操作を行う送信ノードとの間でデータ転送可能な受信ノードは、操作モードがAMのRLC副層にて受信操作を行う受信ノードのみである。RLC副層における操作モードのうち、本発明が解決しようとする課題に関係するのはAMのみであるから、以降、操作モードがAMのRLC副層に着目して説明する。なお、以降の説明において、「RLC副層」は、操作モードがAMのRLC副層を意味する。 The operation modes in the RLC sublayer include AM (Acknowledgement Mode), UM (Unacknowledgement Mode), and TM (Transparent Mode), and the operation mode is a transmission node that performs a transmission operation in the RLC sublayer of the AM. The only receiving nodes that can transfer data are the receiving nodes that perform the receiving operation in the RLC sublayer whose operation mode is AM. Of the operation modes in the RLC sublayer, only the AM is related to the problem to be solved by the present invention. Therefore, the operation mode will be described below with a focus on the RLC sublayer in which the operation mode is AM. In the following description, “RLC sublayer” means an RLC sublayer whose operation mode is AM.
RLC副層では、送信ノードと受信ノード間のデータ転送が、上位層との間で受け渡されるデータユニット(以降、SDU(Service Data Unit)と称す)の先頭から順に切り出された部分データにヘッダを付加して生成されるデータユニット(以降、PDU(Protocol Data Unit)と称す)を用いて行われる。PDUのヘッダには、当該PDUが生成された順序を示すシーケンス番号と切り出し元のSDUの長さ情報が含まれている。また、RLC副層では、データ転送において消失したPDUがシーケンス番号を用いた選択再送(Selective Repeat)により再送される。なお、以降の説明では、「SDU」及び「PDU」はRLC副層におけるSDU及びPDUを意味する。 In the RLC sublayer, the data transfer between the transmission node and the reception node is performed on the header of partial data cut out in order from the beginning of the data unit (hereinafter referred to as SDU (Service Data Unit)) passed between the upper layer and the lower layer. Is performed using a data unit (hereinafter referred to as PDU (Protocol Data Unit)) generated by adding. The header of the PDU includes a sequence number indicating the order in which the PDU is generated and length information of the cut-out SDU. In the RLC sublayer, PDUs lost in data transfer are retransmitted by selective retransmission using a sequence number. In the following description, “SDU” and “PDU” mean SDUs and PDUs in the RLC sublayer.
ところで、無線リンクは有線の通信リンクに比較してデータ転送における誤り率が高い。このため、再送されたPDUが再び消失することも起こり易い。つまり、再送遅延が大きい。したがって、RLC副層では、PDUのみならず、SDUの受信順序(厳密には、SDUの組み立てに必要なPDUをMAC(Medium Access Control)副層から渡され終える時点の後先)まで入れ替わる可能性がある。このようなSDUの受信順序の入れ替わりによる影響を、上位層に比較して再送コストが低いRLC副層にて吸収するために、RLC副層では、受信ノードがSDUの順序制御を行う。具体的には、受信ノードは、SDUの受信順序が入れ替わり、未受信のSDUよりも後に上位層へ渡すべきSDUを先に受信した場合、このSDUを、未受信のSDUを受信して上位層に渡すまで保持する。このような順序制御により、SDUが送信ノードにて上位層から渡された順序で受信ノードにてRLC副層から上位層に渡されることが保証されている。なお、SDUの受信順序の入れ替わりを検出するためには、受信ノードが、送信ノードにてSDUが上位層からRLC副層へ渡された順序を把握する必要がある。この把握は、PDUのヘッダに含まれているシーケンス番号と長さ情報を用いることで実現可能である。 By the way, the wireless link has a higher error rate in data transfer than the wired communication link. For this reason, the retransmitted PDU is likely to disappear again. That is, the retransmission delay is large. Therefore, in the RLC sublayer, not only the PDU, but also the SDU reception order (strictly, the PDU necessary for assembling the SDU can be switched after the end of the delivery from the MAC (Medium Access Control) sublayer). There is. In order to absorb the influence of the change of the reception order of the SDUs in the RLC sublayer whose retransmission cost is lower than that of the upper layer, the receiving node controls the order of the SDUs in the RLC sublayer. Specifically, when the receiving order of the SDUs is switched and an SDU that should be passed to an upper layer after an unreceived SDU is received first, the receiving node receives the SDU that has not been received and receives the SDU. Hold until passed to. Such order control ensures that SDUs are passed from the RLC sublayer to the upper layer at the receiving node in the order that the SDU is passed from the upper layer at the transmitting node. In order to detect a change in the reception order of the SDUs, the receiving node needs to grasp the order in which the SDUs are passed from the upper layer to the RLC sublayer at the transmission node. This grasp can be realized by using the sequence number and length information included in the header of the PDU.
しかし、このような順序制御によるSDUの遅延は、通信網の実質的な利用率を低下させる原因となる。なお、「通信網の利用率」は、通信網により提供された網資源の容量(例えば、利用可能な通信リンクの帯域幅や当該通信リンクを利用可能な期間)に対する実際に利用した網資源の量の比率を意味し、「通信網の実質的な利用率」は、通信網により提供された網資源の容量に対する有効に利用した網資源の量の比率を意味する。RLC副層におけるSDUの遅延が通信網の実質的な利用率の低下を招くことになる理由は、トランスポート層で行われるデータ転送の種類によって異なるため、場合分けして説明する。 However, the delay of the SDU due to such sequence control causes a substantial decrease in the utilization rate of the communication network. Note that the “utilization rate of the communication network” is the network resource capacity actually used for the capacity of the network resource provided by the communication network (for example, the bandwidth of the available communication link and the period during which the communication link can be used). The “substantial utilization rate of the communication network” means the ratio of the amount of network resources used effectively to the capacity of the network resources provided by the communication network. The reason that the delay of the SDU in the RLC sublayer causes a substantial decrease in the utilization rate of the communication network is different depending on the type of data transfer performed in the transport layer, and will be described separately.
[バルクデータ転送の場合]
バルクデータ転送では、一般に、上位層にて、通信網に滞留するデータ量を調節して通信網の利用率を適切に保つフロー制御が行われる。このようなフロー制御の一例としては、TCP(Transmission Control Protocol)における輻輳制御が挙げられる。上記のフロー制御は、トランスポート層にて、下位の層から渡されたデータユニットに基づいて行われる。したがって、RLC副層のように、上位層へ渡すことが可能なデータユニットを遅延させてから上位層へ渡すことがあり得る層がトランスポート層の下位に存在すると、上記のフロー制御の開始が遅れる虞がある。フロー制御では制御のためのデータがノードから通信網へ送出されるから、フロー制御の開始の遅れは、通信網に滞留するデータの減少を招く。具体的には、再送通知の遅延の増加、輻輳通知の遅延の増加、バースト的なデータ送信、他セッションのデータ受信の遅延、等の現象が挙げられる。以上が、通信網の実質的な利用率の低下を招く理由である。なお、TCPではデータを正しく配列してから上位の層へ渡すことが規定されており、順序制御について、トランスポート層とデータリンク層とで重複した機能を有するという問題もある。
[For bulk data transfer]
In bulk data transfer, generally, flow control is performed in an upper layer to adjust the amount of data staying in the communication network and to keep the communication network usage rate appropriate. An example of such flow control is congestion control in TCP (Transmission Control Protocol). The above flow control is performed based on the data unit passed from the lower layer in the transport layer. Therefore, if a layer that can be passed to the upper layer after delaying a data unit that can be passed to the upper layer, such as the RLC sublayer, is present in the lower layer of the transport layer, the above flow control starts. There is a risk of delay. In flow control, data for control is sent from the node to the communication network, so the delay in the start of flow control leads to a reduction in data staying in the communication network. Specifically, there are phenomena such as an increase in retransmission notification delay, an increase in congestion notification delay, bursty data transmission, and delay in data reception of other sessions. The above is the reason why the substantial utilization rate of the communication network is reduced. Note that TCP stipulates that data is correctly arranged and then passed to an upper layer, and there is a problem that the order control has duplicated functions in the transport layer and the data link layer.
[ストリーミング転送の場合]
ストリーミング転送では、一般に、データの遅延に制約がある。したがって、RLC副層のように、上位層へ渡すことが可能なデータユニットを遅延させてから上位層へ渡すことがあり得る層がトランスポート層の下位に存在すると、トランスポート層にて、受信ノードが既に役に立たなくなっているデータユニットを受け取る可能性が高くなる。このようなデータユニットは破棄され、利用されないから、このようなデータユニットの転送に用いられた網資源は無駄に使用されたことになる。これが、通信網の実質的な利用率の低下を招く理由である。
[For streaming transfer]
In streaming transfer, data delay is generally limited. Therefore, when there is a layer that can be passed to the upper layer after delaying a data unit that can be passed to the upper layer, such as the RLC sublayer, the transport layer receives the data at the lower layer. The node is more likely to receive data units that are no longer useful. Since such a data unit is discarded and is not used, the network resource used for transferring such a data unit is wasted. This is the reason why the substantial utilization rate of the communication network is reduced.
このような不都合を避けるために、RLC副層にてSDUの順序制御を行わないようにすることが考えられる。このようにすれば、RLC副層におけるSDUの遅延に起因した通信網の実質的な利用率の低下は生じない。しかし、トランスポート層において、SDUの入れ替わりをSDUのロスと誤検出してしまい、不適切なフロー制御が行われる可能性がある。ところで、不適切なフロー制御を防止することを目的とした技術が、特許文献1および特許文献2に記載されている。 In order to avoid such inconvenience, it is conceivable not to perform SDU order control in the RLC sublayer. In this way, a substantial reduction in the utilization rate of the communication network due to the SDU delay in the RLC sublayer does not occur. However, in the transport layer, replacement of SDUs may be erroneously detected as SDU loss, and improper flow control may be performed. By the way, technologies for preventing inappropriate flow control are described in Patent Document 1 and Patent Document 2.
特許文献1に記載の技術では、送信ノードは、輻輳ウィンドウのサイズが所定の閾値以下の場合にのみ、TCPのSACK(選択的確認応答)オプションを用いて通知されたデータユニット(消失が検出されたデータユニット)を直ちに再送する。つまり、送信ノードは、SACKオプションを用いないと重大な不都合が生じ得る場合にのみ、SACKオプションを用いた通知に従って作動する。この技術によれば、誤検出の発生頻度は、SACKオプションによる通知を常に信用する態様に比較すれば低くなるが、SACKオプションを用いない態様に比較すれば当然に高くなる。結局、特許文献1に記載の技術を用いても、誤検出に起因した不適切なフロー制御を防止することはできない。 In the technique described in Patent Document 1, the transmitting node can detect a data unit (erasure is detected) using the TCP SACK (Selective Acknowledgment) option only when the size of the congestion window is equal to or smaller than a predetermined threshold. Data unit) immediately. In other words, the transmitting node operates according to the notification using the SACK option only when a serious inconvenience may occur if the SACK option is not used. According to this technology, the frequency of occurrence of false detections is lower when compared with a mode in which notification by the SACK option is always trusted, but naturally increases when compared with a mode in which the SACK option is not used. Eventually, even if the technique described in Patent Document 1 is used, inappropriate flow control due to erroneous detection cannot be prevented.
特許文献2に記載の技術では、送信ノードは、再送後に確認応答を受信すると、この確認応答がオリジナルのデータユニットに対するものか、再送データユニットに対するものかを判定し、判定結果に応じて処理を変える。この技術によれば、誤検出に起因した不適切なフロー制御を防止することができるように見える。しかし、受信ノードにおいて、1番目のデータユニットの直後に3〜5番目のデータユニットが順に受信され、その後に2番目のデータユニットが受信されるような場合には、送信ノードにおいて、2番目のデータユニットの消失が誤検出され、不適切なフロー制御が行われてしまう。また、そもそも、特許文献2に記載の技術は、不適切であることが後に判明し得る再送(フロー制御の一種)を行うことを必須としており、根本的な解決策には成り得ない。
本発明は、上述した背景の下になされたものであり、通信網の実質的な利用率を低下させずに、データユニットの受信順序の入れ替わりをデータユニットの消失と誤検出することに起因した不適切なフロー制御を防止することができる技術を提供することを目的とする。 The present invention has been made under the above-mentioned background, and is caused by erroneously detecting the change of the reception order of the data units as the loss of the data units without reducing the substantial utilization rate of the communication network. An object of the present invention is to provide a technique capable of preventing inappropriate flow control.
本発明は、送信機から受信機へ送信され、前記送信機からの送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信するデータ受信手段と、前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段とを備え、前記確認応答送信手段は、前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する通信装置を提供する。 The present invention is transmitted from the transmitter to the receiver, and a data receiving means for receiving data units of the transport layer has an identifiable number transmission order from the transmitter, said data unit by said data receiving means When received, in association with the number of the data unit, the data storage means for storing the data unit being transferred in the first storage means, and transmitting the data unit to the receiver; An acknowledgment receiving means for receiving an acknowledgment including a first number which is a number of a data unit which is transmitted from the receiver to the transmitter and is expected to be received next by the receiver; and the data receiving means When the data unit received and transmitted by the data transmission means is discarded, the data unit is associated with the number of the data unit. The overwriting means stored in the first storage means for overwriting that the data unit is being transferred and the confirmation response received by the confirmation response receiving means are stored in the first storage means. An acknowledgment transmission means for transmitting to the transmitter, wherein the acknowledgment transmission means is stored in the first number and the second storage means included in the confirmation response received by the confirmation response receiving means. When the second number of the data unit is compared and the second number is smaller than the first number, the first number is stored in the second storage means as the second number. Overwriting, overwriting the first storage means that a data unit with a number lower than the first number has been received by the receiver, and transferring the confirmation response to the transmitter; Is the number If the first storage means stores that the data unit of the first number is discarded when it is not younger than the number of 1, the confirmation response is forwarded to the transmitter, When it is stored that the data unit of the first number is being transferred, the confirmation response including information indicating that the data unit of the first number is being transferred is transmitted to the transmitter A communication device is provided.
また、本発明は、上述のいずれかに記載の通信装置から、前記確認応答を受信する受信手段と、受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定手段と、前記受信手段により受信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定手段が推定することを一時的に禁止する禁止手段とを有する送信機を提供する。 Further, the present invention is estimated from the communication device according to any of the above, a receiving means for receiving the acknowledgment, the loss of the data unit based on the order or timing of reception of the data unit by receiver unit And when the confirmation response received by the reception means includes information indicating that the data unit of the first number included in the confirmation response is being transferred, There is provided a transmitter having prohibition means for temporarily prohibiting the loss estimation means from estimating the loss of a data unit.
また、本発明は、送信機と通信装置とを有し、前記送信機は、送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信機へ送信する第1の送信手段と、前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定手段とを有し、前記通信装置は、前記送信機から送信された前記データユニットを受信する第1の受信手段と、前記第1の受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、前記第1の受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段とを有し、前記通信装置の前記確認応答送信手段は、前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信し、前記送信機は、更に、前記確認応答送信手段から送信された前記確認応答を受信する第2の受信手段と、前記受信手段により受信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定手段が推定することを一時的に禁止する禁止手段とを有することを特徴とする通信システムを提供する。 The present invention also includes a transmitter and a communication device, wherein the transmitter transmits a transport layer data unit having a number that can specify a transmission order to a receiver, Erasure estimation means for estimating erasure of the data units based on the order or timing of reception of the data units by a receiver, and the communication device receives the data units transmitted from the transmitter. When the data unit is received by the first receiving means and the first receiving means, the first storage means stores the fact that the data unit is being transferred in association with the number of the data unit. Data transmitting means for transmitting the data unit to the receiver, and a data unit transmitted from the receiver to the transmitter and expected to be received next by the receiver. A confirmation response receiving means for receiving a confirmation response including a first number which is the number of a network, and when the data unit received by the first receiving means and transmitted by the data transmission means is discarded Is associated with the number of the data unit, and overwrite means stored in the first storage means for overwriting that the data unit is being transferred is stored in the first storage means, A confirmation response transmitting means for transmitting the confirmation response received by the confirmation response receiving means to the transmitter, wherein the confirmation response transmitting means of the communication device receives the confirmation response received by the confirmation response receiving means. And the second number of the data unit stored in the second storage means is compared, and the second number is smaller than the first number The first number is overwritten in the second storage means as the second number, and the data unit having a number lower than the first number has been received by the receiver. When the second number is not younger than the first number, the data unit of the first number is discarded. Is stored in the first storage means, the confirmation response is transferred to the transmitter, while when it is stored that the data unit of the first number is being transferred, said acknowledgment containing information data units 1 of number means that it is being transferred is transmitted to the transmitter, the transmitter further receives the transmitted said acknowledgment from said acknowledgment transmission means Second to And when the confirmation response received by the reception means includes information indicating that the data unit of the first number included in the confirmation response is being transferred. There is provided a communication system comprising: prohibiting means for temporarily prohibiting the disappearance estimating means from estimating the disappearance of a unit.
また、本発明は、送信機が、送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信機へ送信する送信過程と、通信装置が、前記送信機により送信された前記データユニットを受信する受信過程と、前記通信装置が、受信した前記データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信過程と、前記通信装置が、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信過程と、前記通信装置が、前記受信過程において受信されて前記データ送信過程において送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き過程と、前記通信装置が、前記確認応答受信過程において受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する確認応答送信過程と前記送信機が、前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定過程と、前記送信機が、前記確認応答送信過程において送信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定過程において推定することを一時的に禁止する中止過程とを有する通信方法を提供する。 Further, the present invention provides a transmission process in which a transmitter transmits a data unit of a transport layer having a number that can specify a transmission order to a receiver, and a communication device transmits the data unit transmitted by the transmitter. The reception process, and the communication device stores in the first storage means that the data unit is being transferred in association with the received data unit number , and sends the data unit to the receiver. A data transmission process to be transmitted and an acknowledgment including a first number which is a number of a data unit transmitted from the receiver to the transmitter and expected to be received next by the receiver. An acknowledgment reception process to receive, and when the data unit received in the reception process and transmitted in the data transmission process is discarded by the communication device An overwriting process of overwriting that the data unit is being transferred, stored in the first storage means, in association with the number of the data unit, and the communication The apparatus compares the first number included in the confirmation response received in the confirmation response reception process with the second number of the data unit stored in the second storage means, and the second number When the number is lower than the first number, the first number is overwritten as the second number in the second storage means, and a data unit having a number lower than the first number is received by the receiver. Overwriting the first storage means that it has already been received at, transferring the confirmation response to the transmitter, and if the second number is not younger than the first number, Number 1 When the first storage means stores that the data unit is discarded, the confirmation response is transferred to the transmitter, while the fact that the data unit with the first number is being transferred is stored. And transmitting the acknowledgment response including information indicating that the data unit of the first number is being transferred to the transmitter, and the transmitter transmits the data by the receiver. An erasure estimation process for estimating the erasure of the data unit based on the reception order or timing of units; and the first response included in the confirmation response is included in the confirmation response transmitted by the transmitter in the confirmation response transmission process. case, the loss estimation process smell loss of the data units of the number of the data units contain information which means that it is being transferred And a canceling process for temporarily prohibiting estimation.
また、本発明は、コンピュータを、送信機から受信機へ送信され、前記送信機からの送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信するデータ受信手段と、前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する確認応答送信手段として機能させるためのプログラムを提供する。 The present invention also provides a data receiving means for receiving a data unit of a transport layer transmitted from a transmitter to a receiver and having a number that can specify a transmission order from the transmitter, and the data receiving means. When the data unit is received, the first storage means stores the data unit being transferred in association with the number of the data unit, and transmits the data unit to the receiver. Transmitting means; and an acknowledgment receiving means for receiving an acknowledgment including a first number which is a number of a data unit which is transmitted from the receiver to the transmitter and is expected to be received next by the receiver; When the data unit received by the data receiving unit and transmitted by the data transmitting unit is discarded, the number of the data unit is discarded. Corresponding to the data unit, the fact that the data unit has been discarded is received by the overwriting means stored in the first storage means for overwriting that the data unit is being transferred, and the confirmation response receiving means. The first number included in the confirmation response is compared with the second number of the data unit stored in the second storage means, and the second number is smaller than the first number. In the case, the first number is overwritten as the second number in the second storage means, and the first data unit having a lower number than the first number has been received by the receiver. When the second number is not younger than the first number, the data unit of the first number is discarded. The first When it is stored in the storage means, the confirmation response is transferred to the transmitter, while when it is stored that the data unit of the first number is being transferred, the data unit of the first number Provides a program for causing an acknowledgment transmission means for transmitting the acknowledgment to the transmitter including information indicating that the message is being transferred .
本発明によれば、消失推定手段が通知されたデータユニットの消失の推定を一時的に中止することにより、通信網の実質的な利用率を低下させずに、データユニットの受信順序の入れ替わりをデータユニットの消失と誤検出することに起因した不適切なフロー制御を防止することができる。よって、本発明によれば、通信網の実質的な利用率が向上する。 According to the present invention, the erasure estimation means temporarily cancels the estimation of the erasure of the data unit notified, thereby changing the reception order of the data units without reducing the substantial utilization rate of the communication network. Inappropriate flow control due to erroneous detection of data unit loss can be prevented. Therefore, according to the present invention, the substantial utilization rate of the communication network is improved.
[第1実施形態]
[構成]
図1は本発明の第1実施形態に係る通信システム100の構成を示す図である。この図に示すように、通信システム100は、使用者に携帯される移動機10、管轄する無線エリア内の移動機10と無線通信可能な基地局20、及び基地局20が接続されるコアネットワーク30に接続されるサーバ装置40を有する。移動機10は、基地局20及びコアネットワーク30を介して、サーバ装置40と通信可能である。なお、通信システム100は、IMT−2000(International Mobile Telecommunications-2000)に準拠しており、移動機10、基地局20及びサーバ装置40の数は、それぞれ、1以上の任意の数である。
[First Embodiment]
[Constitution]
FIG. 1 is a diagram showing a configuration of a
図2は通信システム100の通信プロトコル構成を示す図である。この図に示すように、トランスポート層以上の層での通信は移動機10及びサーバ装置40のみで終端され、ネットワーク層以下の層での通信は通信システム100を構成する全ての装置で終端される。ただし、基地局20は、snoopモジュールにて、トランスポート層のデータユニットを操作する。また、基地局20は、RLC副層にてSDUの順序制御を行わない。
FIG. 2 is a diagram illustrating a communication protocol configuration of the
移動機10及びサーバ装置40は、トランスポート層にて、一般的なTCPに従う通信処理を行う。一般的なTCPに従う通信処理には、再送タイマを用いた再送処理や高速再送(Fast Retransmission)が含まれており、SACKオプションを用いた処理は含まれていない。以下、再送タイマを用いた再送処理および高速再送について説明する。
The
TCPでは、より上位の層から渡されたデータストリームの先頭から順にデータを切り出し、切り出したデータにヘッダを付してデータセグメントを作成する。データセグメントのヘッダには、該当するデータの切り出し位置を示すシーケンス番号が書き込まれる。なお、以降、特に断らない限り、「シーケンス番号」はTCPにおけるシーケンス番号を意味する。送信ノードは、こうして作成されたデータセグメントを送信すると、当該データセグメントに対する再送タイマをスタートさせる。一方、受信ノードは、データセグメントを受信すると、その旨を示す確認応答セグメントを返信する。送信ノードは、確認応答セグメントを受信すると、該当するデータセグメントの送信時にスタートさせた再送タイマを停止し、再送タイムアウトによる当該データセグメントの再送を避ける。ところで、送信ノードは、基本的に、ヘッダに書き込まれたシーケンス番号の順にデータセグメントを送信する。このため、受信ノードは、未受信のデータセグメントのうち、最も若いシーケンス番号のデータセグメントを、次に受信が期待されるデータセグメントに定め、当該データセグメントのシーケンス番号(以降、「ACK値」という)を上記の確認応答セグメントを用いて送信ノードへ通知する。この通知にもかかわらず、期待していないデータセグメントを受信した場合、受信ノードは、直前に送信した確認応答セグメントのACK値と同じACK値を有する確認応答セグメントを返信する。この確認応答セグメントは重複確認応答セグメントと呼ばれる。送信ノードは、重複確認応答セグメントを再送閾値の数だけ連続して受信すると、データセグメントが消失したとみなし、再送タイムアウトを待たずに、重複確認応答セグメントにより示されるデータセグメントを再送する。これが高速再送である。なお、本実施形態において、再送閾値は「3」である。 In TCP, data is cut out in order from the top of a data stream passed from a higher layer, and a header is attached to the cut out data to create a data segment. A sequence number indicating the cut-out position of the corresponding data is written in the header of the data segment. Hereinafter, unless otherwise specified, “sequence number” means a sequence number in TCP. When the transmitting node transmits the data segment thus created, the transmitting node starts a retransmission timer for the data segment. On the other hand, when receiving the data segment, the receiving node returns an acknowledgment segment indicating that fact. Upon receiving the acknowledgment segment, the transmitting node stops the retransmission timer that was started when transmitting the corresponding data segment, and avoids retransmission of the data segment due to retransmission timeout. By the way, the transmission node basically transmits the data segments in the order of the sequence numbers written in the header. For this reason, the receiving node determines the data segment with the smallest sequence number among the unreceived data segments as the data segment expected to be received next, and refers to the sequence number of the data segment (hereinafter referred to as “ACK value”). ) To the sending node using the above-mentioned acknowledgment segment. If an unexpected data segment is received despite this notification, the receiving node returns an acknowledgment segment having the same ACK value as the ACK value of the acknowledgment segment transmitted immediately before. This acknowledgment segment is called a duplicate acknowledgment segment. When the transmitting node continuously receives duplicate confirmation response segments by the number of retransmission thresholds, the transmission node regards that the data segment has been lost, and retransmits the data segment indicated by the duplicate confirmation response segment without waiting for a retransmission timeout. This is high-speed retransmission. In the present embodiment, the retransmission threshold is “3”.
図3は基地局20の構成を示すブロック図である。この図から明らかなように、基地局20は、一般的なコンピュータと同様に、CPU21が不揮発性メモリ22に記憶されているプログラムを、RAM23をワークエリアとして実行し、これにより各種処理を行う構成となっている。また、不揮発性メモリ22には、後述の通知処理を行わせるための通知プログラム221と、トランスポート層よりも下位の層で通信処理を行わせるとともに、基地局20を中継装置としてトランスポート層の通信コネクションが確立される度に通知プログラム221の実行を開始させ、当該通信コネクションが切断されると当該入れ替わりプログラムの実行を終了させる制御プログラムとが記憶されている。CPU21は、図示しない電源が投入されると不揮発性メモリ22から上記の制御プログラムを読み出して実行する。
FIG. 3 is a block diagram showing the configuration of the
無線部24は移動機10との間で無線信号を送受信するものであり、CPU21から送信すべきデータが供給されると、この送信データにより変調された搬送波を無線区間へ送出し、無線区間を伝播してきた搬送波からデータを復調すると、この受信データをCPU21に供給する。この無線部24及びCPU21により、移動機10との間でのデータの送受信が行われる。通信インタフェース25はコアネットワーク30との間で信号を送受信するものであり、CPU21から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク30へ送出し、コアネットワーク30から供給された信号からデータを復調すると、この受信データをCPU21に供給する。この通信インタフェース25及びCPU21により、サーバ装置40との間でのデータの送受信がコアネットワーク30を介して行われる。
The
制御プログラムを実行中のCPU21は、基地局20を中継装置としてトランスポート層の通信コネクションが確立されると、これを検出し、通知プログラム221を不揮発性メモリ22から読み出して実行する。また、CPU21は、実行中の通知プログラム221に対応する通信コネクションが切断されると、これを検出し、当該通知プログラム221の実行を終了する。通知プログラム221を実行中のCPU21は、snoopモジュールにて、トランスポート層の通信コネクション毎に、以下に述べる通知処理を行う。
The
通知処理では、CPU21は、サーバ装置40からデータセグメントを受信すると、受信したデータセグメントの状態が「転送中」であることを示す状態データをRAM23の状態領域231に書き込む一方、当該データセグメントを移動機10へ転送する。また、通知処理において、CPU21は、下位層(具体的にはRLC副層)にてデータセグメントを廃棄した場合には、snoopモジュールにて、廃棄の事実と廃棄されたデータセグメントのシーケンス番号とを示す廃棄通知を下位層から取得し、当該データセグメントの状態が「廃棄」であることを示す状態データで、状態領域231に書き込まれた当該データセグメントの状態データを上書きする処理を行う。
In the notification process, when the
また、通知処理では、CPU21は、移動機10から確認応答セグメントを受信すると、RAM23の重複判定領域232に書き込まれているシーケンス番号と当該確認応答セグメントのACK値とを比較し、前者が後者よりも若い場合には、後者を重複判定領域232に上書きする処理と、当該確認応答セグメントをサーバ装置40へ送信する処理と、当該確認応答セグメントにより受信が確認されるデータセグメントの状態が「受信」であることを示す状態データで状態領域231に書き込まれた当該データセグメントの状態データを上書きする処理を行う。
In the notification process, when receiving the confirmation response segment from the
前者が後者よりも若くない場合には、CPU21は、当該確認応答セグメントのACK値をシーケンス番号とするデータセグメントの状態が「転送中」であるか否かを判定し、「転送中」でなければ、当該確認応答セグメントをそのままサーバ装置40へ転送する。「転送中」でない状態としては、「廃棄」や「受信」の他に、コアネットワーク30が輻輳する等して基地局20に到達する前に廃棄された状態も考えられる。逆に、「転送中」であれば、CPU21は、当該確認応答セグメントのEONビットをオンにセットし、セット後の当該確認応答セグメントをサーバ装置40へ送信する。つまり、CPU21は、受信した確認応答セグメントが重複確認応答セグメントであり、かつ、当該確認応答セグメントのACK値をシーケンス番号とするデータセグメントを受信済みの場合にのみ、EONビットをオンにセットしてから当該確認応答セグメントをサーバ装置40へ送信する。換言すれば、CPU21は、移動機10におけるデータセグメントの受信にてデータセグメントの順序が入れ替わったことを検出したときに、この検出時点で、順序が後ろに入れ替わって移動機10に受信されるデータセグメントを受信済みであるか否かを判定し、受信済みである場合にのみ、当該データセグメントが入れ替わりセグメントである旨をサーバ装置40へ通知する。なお、EONビットは、一般的なTCPにおけるデータセグメントの未使用領域内の1ビットであり、デフォルトではオフにセットされており、一般的なTCPに従う通信では使用されない。
When the former is not younger than the latter, the
なお、入れ替わりセグメントとは、移動機10が、まず1番目に受信されるべきデータセグメントを受信し、次に4番目に受信されるべきデータセグメントを受信し、次に2番目に受信されるべきデータセグメントを受信した場合には、2番目に受信されるべきデータセグメントをいう。上述したことから明らかなように、本実施形態では、重複確認応答セグメントのACK値をシーケンス番号とするデータセグメントが入れ替わりセグメントであっても、当該データセグメントが入れ替わりセグメントである旨がサーバ装置40へ通知されるとは限らない。これは、この通知の条件として、当該データセグメントの状態が「転送中」である、という条件が加わっているからである。この条件を変更して、入れ替わりセグメントであれば必ずサーバ装置40へ通知されるようにしてもよいが、そのように変更しても、通信網の実質的な利用率は向上しないし、データセグメントの受信順序の入れ替わりをデータセグメントの消失と誤検出する可能性は低下しない。よって、本実施形態では、データセグメントの状態が「転送中」である、という単純な条件を採用している。
The replacement segment means that the
また、通知処理における入れ替わりセグメントの通知先がサーバ装置40であるのは、本実施形態では、移動機10によるデータセグメントの受信の順序またはタイミングに基づいてデータセグメントの消失を推定し、推定結果に基づいて再送タイマを用いた再送や高速再送を行うのがサーバ装置40であるからである。そして、通知先がサーバ装置40であるから、確認応答セグメントを用いることにより、トラヒックを増やすことなく、通知を行うことができる。
In addition, in this embodiment, the notification destination of the replacement segment in the notification process is that the loss of the data segment is estimated based on the order or timing of reception of the data segment by the
図4はサーバ装置40の構成を示すブロック図である。この図から明らかなように、サーバ装置40は、一般的なコンピュータと同様に、CPU41が不揮発性メモリ42に記憶されているプログラムを、RAM43をワークエリアとして実行し、これにより各種処理を行う構成となっている。また、不揮発性メモリ42には、プログラムの実行制御を行わせるための制御プログラムと、一般的なTCPに従う通信処理と後述の入れ替わり制御処理とをトランスポート層にて行わせるための通信プログラム421と、トランスポート層以外の層での通信処理を行わせるプログラムとが記憶されている。CPU41は、図示しない電源が投入されると不揮発性メモリ42から上記の制御プログラムを読み出して実行する。
FIG. 4 is a block diagram showing the configuration of the
通信インタフェース44はコアネットワーク30との間で信号を送受信するものであり、CPU41から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク30へ送出し、コアネットワーク30から供給された信号からデータを復調すると、この受信データをCPU41に供給する。この通信インタフェース44及びCPU41により、移動機10との間でのデータの送受信がコアネットワーク30を介して行われる。制御プログラムを実行中のCPU41は、移動機10からの要求に応じて、通信プログラム421を不揮発性メモリ42から読み出して実行する。これにより、CPU41は、トランスポート層にて、一般的なTCPに従う通信処理と入れ替わり制御処理とを行う。
The
一般的なTCPに従う通信処理では、CPU41は、高速再送のために、重複確認応答セグメントを連続して受信した回数(以降、連続回数という)をRAM43に書き込む。RAM43が記憶する連続回数は、CPU41が重複確認応答セグメントを受信する度に更新される。また、CPU41は、データセグメントを送信すると、当該データセグメントに対する再送タイマをスタートさせる。再送タイマのスタートは、CPU41が当該再送タイマに初期値を設定することで行われる。再送タイマへの初期値の設定とは、CPU41が、当該再送タイマのタイマ値(カウント値)を保持するためにRAM43に確保された記憶領域に、送受信ノード間往復伝播遅延(RTT:Round-Trip Time)の実測値に基づき動的に設定された再送タイムアウト値を書き込むことをいう。また、スタートした再送タイマは、タイマ値をカウントダウンし、タイマ値が「0」になるとタイムアウトする。CPU41は、再送タイマがタイムアウトすると、タイムアウトしたデータセグメントを再送するとともに、輻輳ウィンドウを狭くする。
In communication processing according to general TCP, the
入れ替わり制御処理では、CPU41は、移動機10から確認応答セグメントを受信すると、当該確認応答セグメントのEONビットがオフの場合、何もしない。逆に、EONビットがオンの場合、CPU41は、当該確認応答セグメントのACK値をシーケンス番号としたデータセグメントの再送動作を一時的に中止する。中止対象の再送動作としては、再送タイマによる計時、及び高速再送のための連続回数の計数がある。なお、再送タイマによる計時の中止は、輻輳ウィンドウを狭くする動作の中止をも意味する。
In the switching control process, when the
再送タイマによる計時の中止は、CPU41が、再送タイマのタイマ値を再設定することで行われる。タイマ値が再設定された再送タイマは、再設定された値からカウントダウンを再開する。再設定されるタイマ値は、再設定する直前のタイマ値に予め設定された加算値を加算した値となる。この加算値は任意の正値であるが、本実施形態では、データセグメントを確認応答セグメントの到着を待たずに送信する場合のデータセグメント間の送信時間間隔に相当する値を加算値としている。このような加算値としたのは、タイマ値の再設定によって予期しない悪影響が生じる可能性を低く抑えるためである。例えば、加算値が大きすぎると、再送タイマのタイムアウトタイミングが必要以上に延期されてしまう可能性が高くなる。逆に、加算値が小さすぎると、タイムアウト直前の再送タイマのタイマ値を再設定したとしても次の確認応答セグメントの到着前に当該再送タイマがタイムアウトしてしまう事態を招く可能性が高くなる。この事態が望ましくないのは、再送タイムアウトタイミングの延期の意義を薄れさせる事態であるからである。また、加算値を用いず、タイマ値を初期値(再送タイムアウト値)とすることも考えられるが、この場合には、やはり、再送タイマのタイムアウトタイミングが必要以上に延期されてしまう可能性が高くなる。本実施形態では、加算値を上述のように定めることにより、これらの可能性の低減を図っているのである。なお、加算値は、サーバ装置40とコアネットワーク30との間の通信帯域幅に依存するから、この通信帯域幅に応じた値でもある。また、加算値を予め設定するのではなく、CPU41がデータセグメント間の送信時間間隔を実測または推定し、実測値または推定値に基づいて動的に定めるようにしてもよい。
The stop of timing by the retransmission timer is performed by the
連続回数の計数の中止は、CPU41が、RAM43に書き込まれている連続回数を更新し、その値を2とすることで行われる。この場合、CPU41は、連続回数の計数処理をスキップする。このため、当該確認応答セグメントの受信を契機とした更新後の連続回数は「2」となる。もちろん、CPU41が、連続回数の計数処理をスキップしないようにし、この計数処理を見越して連続回数を「1」とし、当該確認応答セグメントの受信を契機とした計数処理により連続回数が「2」に更新されるようにしてもよい。なお、当該確認応答セグメントの受信を契機とした更新後の連続回数を再送閾値に満たない最大値(すなわち「2」)とするのは、当該確認応答セグメントのACK値で示されるデータセグメントが最終的に基地局20で廃棄された場合の再送遅延を低減するためである。
The stop of counting the number of continuous times is performed by the
[動作]
次に、上述した構成の通信システム100の動作について説明する。ただし、移動機10とサーバ装置40との間には、基地局20を中継装置としてトランスポート層の通信コネクションが確立されているものとする。よって、以降の説明において、基地局20のCPU21は既に不揮発性メモリ22から制御プログラム及び通知プログラム221を読み出して実行しており、サーバ装置40のCPU41は既に不揮発性メモリ42から制御プログラム及び通信プログラム421を読み出して実行しているものとする。また、基地局20のRAM23の重複判定領域232にはシーケンス番号「0」が書き込まれているものとする。
[Operation]
Next, the operation of the
まず、以降の説明において参照する新たな図面について説明する。図5は通知プログラム221を実行中のCPU21により行われる通知処理の一部の流れを示すフローチャートであり、図6は当該通知処理の他の流れを示すフローチャートである。これら2つのフローチャートに示される処理はCPU21により並列に実行されている。図7は通信プログラム421を実行中のCPU41により行われる入れ替わり制御処理の流れを示すフローチャートである。図8は通信システム100により行われる通信の一例を示すシーケンス図であり、図9は一般的な通信システムにて図8に示す通信と同様の通信を行おうとした場合のシーケンス図である。なお、図9における一般的な通信システムとは、通信システム100の基地局20から通知処理を行う機能を、通信システム100のサーバ装置40から入れ替わり制御処理を行う機能を取り去って得られる通信システムである。
First, a new drawing referred to in the following description will be described. FIG. 5 is a flowchart showing a part of the notification process performed by the
図8に示すように、サーバ装置40のCPU41は、輻輳ウィンドウ内の全てのデータセグメント(シーケンス番号が500〜2500のデータセグメント)を順に送信する。これらのデータセグメントは、サーバ装置40から送信された順序で基地局20に到着する。
As illustrated in FIG. 8, the
基地局20のCPU21は、シーケンス番号「500」のデータセグメントを受信すると(図5のステップSA1)、受信したセグメントがデータセグメントであるか否か(確認応答セグメントでないか否か)を判定する(ステップSA2)。受信したセグメントはデータセグメントであるから、CPU21は、受信したデータセグメントの状態が「転送中」であることを示す状態データをRAM23の状態領域231に書き込み、当該データセグメントをsnoopモジュールから下位の層へ渡す(ステップSA3及びSA4)。CPU21がサーバ装置40からのデータセグメントを下位の層へ渡すことは、CPU21が当該データセグメントを移動機10へ送信することに等しい。
When receiving the data segment with the sequence number “500” (step SA1 in FIG. 5), the
以降、基地局20では、上述と同様の処理が繰り返され、シーケンス番号が1000〜2500のデータセグメントの状態がそれぞれ「転送中」であることを示す状態データがRAM23の状態領域231に書き込まれ、これらのデータセグメントが順に移動機10へ送信される。しかし、この通信例では、シーケンス番号「1000」のデータセグメントが基地局20と移動機10との間の無線区間で遅延する。このため、シーケンス番号「1000」のデータセグメントは、シーケンス番号「2500」のデータセグメントよりも後に移動機10に到着する。
Thereafter, in the
移動機10は、シーケンス番号「500」のデータセグメントを受信し、このデータセグメントの受信確認のためのACK値が1000の確認応答セグメントを返信する。次に、移動機10は、シーケンス番号「1500」のデータセグメントを受信する。この時点で移動機10が受信を期待しているシーケンス番号は1000であり、1500ではないことから、移動機10は、当該データセグメントの受信確認のためのACK値が1000の確認応答セグメントを返信する。この確認応答セグメントは、そのACK値が移動機10から直前に送信された確認応答セグメントのACK値と同一であるから、重複確認応答セグメントである。以降、移動機10では、上述と同様の処理が繰り返され、更に2つの重複確認応答セグメントが返信される。そして、移動機10は、シーケンス番号「1000」のデータセグメントを受信し、このデータセグメントの受信確認のためのACK値が3000の確認応答セグメントを返信する。このようにして移動機10から送信された確認応答セグメントは、送信された順序で基地局20に到着する。
The
基地局20のCPU21は、シーケンス番号が1500のデータセグメントを移動機10へ送信した後に、シーケンス番号「500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。この確認応答セグメントを受信すると、CPU21は、受信したセグメントがデータセグメントであるか否か(確認応答セグメントでないか否か)を判定する(ステップSA2)。受信したセグメントは確認応答セグメントであるから、CPU21は、当該確認応答セグメントが重複確認応答セグメントであるか否かを判定する(ステップSA5)。この判定は、CPU21が、RAM23の重複判定領域232に書き込まれているシーケンス番号と当該確認応答セグメントのACK値とを比較することで行われる。
After transmitting the data segment with the
ここでは、重複判定領域232に書き込まれているシーケンス番号「0」が当該確認応答セグメントのACK値「1000」よりも若いから、当該確認応答セグメントは重複確認応答セグメントではないと判定される。よって、CPU21は受信確認処理を行う(ステップSA6)。受信確認処理では、CPU21は、この確認応答セグメントにより受信確認がなされるデータセグメントの状態が「受信」であることを示す状態データで状態領域231に書き込まれた当該データセグメントの状態データを上書きする。ここでは、当該確認応答セグメントにより受信確認がなされるデータセグメントはシーケンス番号「500」のデータセグメントであるから、シーケンス番号「500」のデータセグメントの状態データが「受信」を示すように更新される。また、受信確認処理では、CPU21は、当該確認応答セグメントのACK値を重複判定領域232に上書きする。ここでは、当該確認応答セグメントのACK値は1000であるから、重複判定領域232にシーケンス番号「1000」が書き込まれる。
Here, since the sequence number “0” written in the
次に、CPU21は、当該確認応答セグメントをsnoopモジュールから下位の層へ渡す(ステップSA4)。CPU21が移動機10からの確認応答セグメントを下位の層へ渡すことは、CPU21が当該確認応答セグメントをサーバ装置40へ送信することを意味している。
Next, the
また、CPU21は、シーケンス番号が2500のデータセグメントを移動機10へ送信した後に、シーケンス番号「1500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。このセグメントは確認応答セグメントであるから、CPU21は、上述したように、当該確認応答セグメントが重複確認応答セグメントであるか否かを判定する(ステップSA2:NO、及びSA5)。ここでは、重複判定領域232に書き込まれているシーケンス番号は1000であり、当該確認応答セグメントのACK値は1000であるから、当該確認応答セグメントは重複確認応答セグメントであると判定される。よって、CPU21は、当該確認応答セグメントのACK値をシーケンス番号とするデータセグメントの状態が「転送中」であるか否かを判定する(ステップSA7)。状態領域231に書き込まれた状態データによりシーケンス番号「1000」のデータセグメントの状態が「転送中」であることが示されているから、CPU21は、当該確認応答セグメントのEONビットをオンにセットする(ステップSA8)。次に、CPU21は、EONビットがオンにセットされた確認応答セグメントをサーバ装置40へ送信する(ステップSA4)。
Further, after transmitting the data segment with the
シーケンス番号「1000」のデータセグメントの状態が「転送中」から「受信」に変わるのは、CPU21がシーケンス番号「1000」のデータセグメントの受信確認のための確認応答セグメントを受信した後であり、CPU21は、当該確認応答セグメントを受信する前に、重複確認応答セグメントを更に2つ受信する。よって、CPU21は、EONビットがオンにセットされた重複確認応答セグメントを3つ連続してサーバ装置40へ送信する(ステップSA1、SA2:NO、SA5:YES、SA7:YES、SA8、及びSA4)。
The state of the data segment with the sequence number “1000” changes from “in transit” to “receive” after the
次に、CPU21は、シーケンス番号「1000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。このセグメントは確認応答セグメントであり、重複確認応答セグメントでないから、CPU21は、受信確認処理を行い、当該確認応答セグメントをサーバ装置40へ送信する(ステップSA2:NO、SA5:NO、SA6、及びSA4)。この結果、重複判定領域232にはシーケンス番号「3000」が書き込まれ、シーケンス番号が500〜2500のデータセグメントについて状態領域231に書き込まれている状態データは「受信」を示すように更新される。
以上のようにして基地局20から送信された確認応答セグメントは、送信された順序でサーバ装置40に到着する。
Next, the
The confirmation response segments transmitted from the
サーバ装置40のCPU41は、シーケンス番号が2500のデータセグメントを移動機10へ送信した後に、シーケンス番号「500」のデータセグメントの受信確認のための確認応答セグメントを受信する(図7のステップSB1)。確認応答セグメントを受信すると、CPU41は、この確認応答セグメントのEONビットがオンにセットされているか否かを判定する(ステップSB2)。受信した確認応答セグメントのEONビットはオフにセットされているから、CPU41は、一般的なTCPに従った処理のみを行う(ステップSB2:NO)。つまり、輻輳ウィンドウを1つのデータセグメントの分だけスライドさせ、シーケンス番号「3000」のデータセグメントを移動機10へ送信する。
The
このデータセグメントは、基地局20のCPU21により、2番目の重複確認応答セグメントの送信後かつ3番目の重複確認応答セグメントの送信前に受信され、移動機10へ転送される。この転送の際に、基地局20の状態領域231には、シーケンス番号「3000」のデータセグメントの状態が「転送中」であることを示す状態データが書き込まれる。
This data segment is received by the
基地局20から転送された、シーケンス番号「3000」のデータセグメントは、移動機10により、シーケンス番号「1000」のデータセグメントの受信確認のための確認応答セグメントの送信後に受信される。移動機10は、このデータセグメントの受信確認のためのACK値が3500の確認応答セグメントを返信する。この確認応答セグメントは、基地局20のCPU21により、シーケンス番号「1000」のデータセグメントの受信確認のための確認応答セグメントの受信後に受信され、サーバ装置40へ転送される。この転送の際に、シーケンス番号「3000」のデータセグメントについて基地局20の状態領域231に書き込まれている状態データが、「受信」を示すデータに更新される。
The data segment with the sequence number “3000” transferred from the
サーバ装置40のCPU41は、シーケンス番号「500」のデータセグメントの受信確認のための確認応答セグメントに続いて、シーケンス番号「1500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントのEONビットはオンにセットされているから、CPU41は、当該確認応答セグメントのACK値をシーケンス番号としたデータセグメントの再送動作を一時的に中止する(ステップSB2:YES、及びSB3)。具体的には、CPU41は、当該データセグメントの再送タイマのタイマ値に予め定められた加算値を加算した値を当該タイマのタイマ値として再設定する一方、RAM43に書き込まれている連続回数を更新し、その値を2とし、連続回数の計数処理をスキップする。もちろん、この間にも、一般的なTCPに従う処理のうち、一時的に中止された処理を除いた処理は継続して行われている。
The
次に、CPU41は、シーケンス番号「2000」及び「2500」のデータセグメントの受信確認のための確認応答セグメントを順に受信し、これらについて、シーケンス番号「1500」のデータセグメントの受信確認のための確認応答セグメントを受信したときと同様の処理を繰り返す(ステップSB1、SB2:YES、及びSB3)。次に、CPU41は、シーケンス番号「1000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントのEONビットはオフにセットされているから、CPU41は、一般的なTCPに従った処理のみを行う(ステップSB2:NO)。この結果、CPU41は、輻輳ウィンドウをスライドさせ、シーケンス番号が3500〜5500のデータセグメントを順に送信する処理を開始する。
Next, the
ここで、図9を参照し、上述した動作の特徴について説明する。図9に示すように、一般的な通信システムでは、サーバ装置は、重複確認応答セグメントを3つ連続して受信すると、当該重複確認応答セグメントのACK値をシーケンス番号としたデータセグメントが消失したものとみなし、当該データセグメントの再送(高速再送)を行う。しかし、消失したものとみなしたデータセグメントは、実は移動機により受信されている。つまり、上記の再送は、移動機におけるデータセグメントの受信順序の入れ替わりをデータセグメントの消失と誤検出することに起因した不適切な再送である。これに対し、本実施形態では、図8から明らかなように、サーバ装置40は重複確認応答セグメントを3つ連続して受信しても、これらのEONビットがオンにセットされているため、上記の再送を行わない。つまり、本実施形態によれば、移動機10におけるデータセグメントの受信順序の入れ替わりをデータセグメントの消失と誤検出することに起因した不適切な高速再送を防止することができる。
Here, the features of the above-described operation will be described with reference to FIG. As shown in FIG. 9, in a general communication system, when the server apparatus receives three consecutive duplicate acknowledgment segments, the data segment with the ACK value of the duplicate acknowledgment segment as a sequence number disappears. The data segment is retransmitted (high-speed retransmission). However, the data segment regarded as lost is actually received by the mobile device. That is, the above retransmission is an improper retransmission caused by erroneously detecting the change of the reception order of the data segments in the mobile device as the loss of the data segments. On the other hand, in this embodiment, as apparent from FIG. 8, even if the
引き続き、通信システム100の動作を説明する。
図8に示すように、サーバ装置40のCPU41は、シーケンス番号が3500〜5500のデータセグメントを順に送信する処理を行っている間に、シーケンス番号「3000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントのEONビットはオフにセットされているから、CPU41は、一般的なTCPに従った処理のみを行う(ステップSB2:NO)。この結果、CPU41は、輻輳ウィンドウを更にスライドさせ、シーケンス番号が6000までのデータセグメントを順に送信する処理を行う。これらのデータセグメントは、サーバ装置40から送信された順序で基地局20に到着する。
Subsequently, the operation of the
As shown in FIG. 8, the
基地局20のCPU21は、シーケンス番号「3500」のデータセグメントを受信すると、受信したセグメントがデータセグメントであるから、このデータセグメントの状態が「転送中」であることを示す状態データをRAM23の状態領域231に書き込み、このデータセグメントを移動機10へ送信する(ステップSA1、SA2:YES、SA3、及びSA4)。以降、基地局20では、上述と同様の処理が繰り返され、シーケンス番号が4000〜6000のデータセグメントの状態がそれぞれ「転送中」であることを示す状態データがRAM23の状態領域231に書き込まれ、これらのデータセグメントが順に移動機10へ送信される。
When the
しかし、この通信例では、シーケンス番号が3500〜4500のデータセグメントが基地局20と移動機10との間の無線区間で消失する。したがって、移動機10がシーケンス番号「3000」のデータセグメントの次に受信するデータセグメントは、シーケンス番号が「5000」のデータセグメントである。移動機10は、シーケンス番号が5000〜6000のデータセグメントを順に受信すると、これらのデータセグメントの受信確認のためのACK値が3500の確認応答セグメントを順に返信する。これらの確認応答セグメントは全て重複確認応答セグメントである。
However, in this communication example, a data segment with a sequence number of 3500 to 4500 disappears in the wireless section between the
基地局20のCPU21は、シーケンス番号「6000」のデータセグメントを移動機10へ送信した後に、シーケンス番号「5000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。この確認応答セグメントは重複確認応答セグメントであるから、CPU21は、この確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの状態が「転送中」であるか否かを判定する(ステップSA2:NO、SA5:YES、及びSA7)。この時点では、当該データセグメントの状態は「転送中」であるから、CPU21は、当該確認応答セグメントのEONビットをオンにセットし、セット後の確認応答セグメントをサーバ装置40へ送信する(ステップSA8、及びSA4)。
After transmitting the data segment with the sequence number “6000” to the
次に、CPU21は、トランスポート層よりも下位層(具体的にはRLC副層)にて、タイムアウト等により、シーケンス番号「3500」のデータセグメントを廃棄する。CPU21は、snoopモジュールにて、この旨を示す廃棄通知を下位層から取得する(ステップSC1)。廃棄通知を取得すると、CPU21は、廃棄通知に示されるシーケンス番号のデータセグメントの状態が「廃棄」であることを示す状態データで、RAM23の状態領域231に書き込まれた当該データセグメントの状態データを上書きする(ステップSC2)。
Next, the
次に、CPU21は、シーケンス番号「5500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。この確認応答セグメントは重複確認応答セグメントであるから、CPU21は、この確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの状態が「転送中」であるか否かを判定する(ステップSA2:NO、SA5:YES、及びSA7)。この時点では、当該データセグメントの状態は「廃棄」であるから、CPU21は当該確認応答セグメントをそのままサーバ装置40へ送信する(ステップSA4)。
Next, the
以降、基地局20では、上述と同様の処理が繰り返され、シーケンス番号「6000」のデータセグメントの受信確認のための確認応答セグメントがそのままサーバ装置40へ転送される。
以上のようにして基地局20から送信された確認応答セグメントは、送信された順序でサーバ装置40に到着する。
Thereafter, the
The confirmation response segments transmitted from the
サーバ装置40のCPU41は、シーケンス番号「6000」のデータセグメントを移動機10へ送信した後に、シーケンス番号「5000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントのEONビットはオンにセットされているから、CPU41は、当該確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの再送動作を一時的に中止する(ステップSB2:YES、及びSB3)。この結果、当該データセグメントの再送タイマのタイムアウトタイミングは延期され、高速再送のための連続回数は2となる。
After transmitting the data segment with the sequence number “6000” to the
次に、CPU41は、シーケンス番号「5500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントのEONビットはオフにセットされているから、CPU41は、一般的なTCPに従った処理のみを行う(ステップSB2:NO)。つまり、高速再送のための連続回数に1を加算する。この結果、連続回数は再送閾値に達するから、CPU41は、当該確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの再送を行う。
Next, the
ここで、図9を参照し、上述した動作の特徴について説明する。図9に示すように、一般的な通信システムでは、サーバ装置において、重複確認応答セグメントが3つ連続して到着する前に、シーケンス番号「3500」のデータセグメントの再送タイマがタイムアウトし、当該データセグメントが再送される。これに対し、本実施形態では、図8から明らかなように、当該再送タイマがタイムアウトする前に、高速再送により、当該データセグメントが再送される。TCPに従う通信におけるタイムアウトによる再送は輻輳ウィンドウを大幅に狭くする処理を伴うのに対し、高速再送による再送にはそのような処理が伴わないため、以降の通信において、本実施形態の方が効率的に通信網を利用することができる。 Here, the features of the above-described operation will be described with reference to FIG. As shown in FIG. 9, in a general communication system, the retransmission timer of the data segment with the sequence number “3500” times out before three duplicate acknowledgment segments arrive at the server device, and the data The segment is retransmitted. On the other hand, in this embodiment, as is apparent from FIG. 8, the data segment is retransmitted by high-speed retransmission before the retransmission timer times out. Retransmission due to timeout in communication conforming to TCP involves a process that significantly narrows the congestion window, whereas retransmission by high-speed retransmission does not involve such a process, and therefore this embodiment is more efficient in subsequent communications. A communication network can be used.
以上、説明したように、本実施形態によれば、RLC副層にてSDUの順序制御を行わないから通信網の実質的な利用率が低下しない。また、本実施形態によれば、RLC副層にてSDUの順序制御を行わないことによりトランスポート層において発生する事態であって、データセグメントの受信順序の入れ替わりをデータセグメントの消失と誤検出する事態に起因した不適切なフロー制御が行われない。よって、通信網の実質的な利用率を向上させることができる。 As described above, according to the present embodiment, since the order of SDUs is not controlled in the RLC sublayer, the substantial utilization rate of the communication network does not decrease. In addition, according to the present embodiment, a situation that occurs in the transport layer by not performing SDU order control in the RLC sublayer, and erroneously detecting a change in the reception order of data segments as a loss of data segments. Inappropriate flow control due to the situation is not performed. Therefore, the substantial utilization rate of the communication network can be improved.
なお、上述の動作説明では、一般的な通信システムにおいて再送タイマのタイムアウトをもってデータセグメントの消失とみなすことが誤りであるようなケースについての説明を省略した。これは、EONビットがオンにセットされた確認応答セグメントを受信した場合に再送タイマの計時が一時的に中止され、タイムアウトタイミングが延期されることについては既述であり、この記述から、再送タイマが誤って早期にタイムアウトしてしまう事態をも本実施形態によって回避可能であることは容易に理解可能である、からである。 In the above description of the operation, a description of a case where it is an error to consider a data segment loss when a retransmission timer times out in a general communication system is omitted. This has already been described that when the acknowledgment segment with the EON bit set to ON is received, the timing of the retransmission timer is temporarily stopped and the timeout timing is postponed. This is because it can be easily understood that this embodiment can avoid a situation in which a timeout occurs accidentally.
ところで、上述した実施形態では、再送遅延を低減するために、サーバ装置40にて、EONビットがオンにセットされた確認応答セグメントの受信時に連続回数が再送閾値に満たない最大値「2」に設定されるようになっている。しかし、EONビットがオンにセットされた確認応答セグメントの受信時に連続回数を初期値「0」にするようにしても、再送遅延を低減することは可能である。このような実施形態について、次に説明する。
By the way, in the above-described embodiment, in order to reduce the retransmission delay, the
[第2実施形態]
[構成]
図10は本発明の第2実施形態に係る通信システム200の構成を示す図である。この通信システム200が図1の通信システム100と異なる点は、基地局20に代えて基地局50を有する点と、サーバ装置40に代えてサーバ装置60を有する点のみである。基地局50の通信プロトコル構成は基地局20と、サーバ装置60の通信プロトコル構成はサーバ装置40と同一である。
[Second Embodiment]
[Constitution]
FIG. 10 is a diagram showing a configuration of a
図11は基地局50の構成を示すブロック図である。構成上、基地局50が基地局20と異なる点は、不揮発性メモリ22が通知プログラム221に代えて通知プログラム521を記憶している点のみである。この通知プログラム521は、基地局50を中継装置としたトランスポート層の通信コネクションの確立に連動して、その実行が開始/終了される。以下、通知プログラム521を実行中のCPU21が行う通知処理のうち、通知プログラム221を実行中のCPU21が行う通知処理と異なる部分について説明する。
FIG. 11 is a block diagram showing the configuration of the
通知プログラム521を実行中のCPU21は、通知処理において、移動機10から確認応答セグメントを受信すると、RAM23の重複判定領域232に書き込まれているシーケンス番号と当該確認応答セグメントのACK値とを比較し、前者が後者よりも若くない場合には、CPU21は、当該確認応答セグメントのACK値をシーケンス番号とするデータセグメントの状態が「廃棄」であるか否かを判定し、「廃棄」であれば、当該確認応答セグメントの消失通知ビットをオンにセットし、セット後の当該確認応答セグメントをサーバ装置60へ送信する。消失通知ビットは、一般的なTCPにおけるデータセグメントの未使用領域内の1ビットであり、デフォルトではオフにセットされており、一般的なTCPに従う通信では使用されない。この消失通知の仕組みは周知のELN(Explicit Loss Notification)を用いることで実現される。なお、このことから明らかなように、サーバ装置60はELNに対応している。逆に、「廃棄」でなければ、CPU21は、当該確認応答セグメントのACK値をシーケンス番号とするデータセグメントの状態が「転送中」であるか否かを判定し、「転送中」でなければ、当該確認応答セグメントをそのままサーバ装置60へ転送する。「転送中」であれば、CPU21は、当該確認応答セグメントのEONビットをオンにセットし、セット後の当該確認応答セグメントをサーバ装置60へ送信する。
When receiving the confirmation response segment from the
図12はサーバ装置60の構成を示すブロック図である。構成上、サーバ装置60がサーバ装置40と異なる点は、不揮発性メモリ42が通信プログラム421に代えて通信プログラム621を記憶している点と、ELNに対応している点のみである。通信プログラム621は移動機10からの要求に応じて実行されるものであり、以下では、通信プログラム621を実行中のCPU41が行う入れ替わり制御処理のうち、通信プログラム421を実行中のCPU21が行う入れ替わり制御処理と異なる点について説明する。
FIG. 12 is a block diagram illustrating a configuration of the
通信プログラム621を実行中のCPU41は、移動機10から確認応答セグメントを受信すると、当該確認応答セグメントの消失通知ビットがオンか否かを判定し、オンであれば、当該確認応答セグメントのACK値をシーケンス番号としたデータセグメントに対する強制再送フラグがオンか否かを判定する。強制再送フラグはRAM43に書き込まれるものであり、そのデフォルト値はオフである。この強制再送フラグがオフの場合にのみ、CPU41は当該データセグメントを即座に再送し、当該データセグメントに対する強制再送フラグをオンとする。この再送後のサーバ装置40の状態は、当該データセグメントを高速再送により再送した後の状態と同様である。なお、EONビットのオン/オフが判定されるのは、当該確認応答セグメントの消失通知ビットがオフの場合のみである。また、受信した確認応答セグメントのEONビットがオンにセットされている場合、CPU41は、連続回数を2ではなく0とする。
When receiving the confirmation response segment from the
[動作]
次に、上述した構成の通信システム200の動作のうち、図1の通信システム100の動作と大きく異なる点について、主に図13〜図15を参照して説明する。図13は通知プログラム521を実行中のCPU21により行われる通知処理の一部の流れを示すフローチャートである。このフローチャートに示される処理と図6に示される処理は、CPU21により並列に実行されている。図14は通信プログラム621を実行中のCPU41により行われる入れ替わり制御処理の流れを示すフローチャートである。図15は通信システム200により行われる通信の一例を示すシーケンス図である。なお、この動作説明における前提は第1実施形態の動作説明の前提と同様である。
[Operation]
Next, among the operations of the
図15に示すように、基地局50のCPU21は、シーケンス番号「6000」のデータセグメントを移動機10へ送信した後に、シーケンス番号「5000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。この確認応答セグメントは重複確認応答セグメントであるから、CPU21は、この確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの状態が「廃棄」であるか否かを判定する(ステップSA2:NO、SA5:YES、及びSD1)。この時点では、当該データセグメントの状態は「廃棄」ではないから、CPU21は、この確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの状態が「転送中」であるか否かを判定する(ステップSA7)。この時点では、当該データセグメントの状態は「転送中」であるから、CPU21は、当該確認応答セグメントのEONビットをオンにセットし、セット後の確認応答セグメントをサーバ装置40へ送信する(ステップSA8、及びSA4)。
As shown in FIG. 15, after transmitting the data segment with the sequence number “6000” to the
次に、CPU21は、トランスポート層よりも下位層(具体的にはRLC副層)にて、タイムアウト等により、シーケンス番号「3500」のデータセグメントを廃棄する。CPU21は、snoopモジュールにて、この旨を示す廃棄通知を下位層から取得する(図6のステップSC1)。廃棄通知を取得すると、CPU21は、廃棄通知に示されるシーケンス番号のデータセグメントの状態が「廃棄」であることを示す状態データで、RAM23の状態領域231に書き込まれた当該データセグメントの状態データを上書きする(ステップSC2)。
Next, the
次に、CPU21は、シーケンス番号「5500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSA1)。この確認応答セグメントは重複確認応答セグメントであるから、CPU21は、この確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの状態が「廃棄」であるか否かを判定する(ステップSA2:NO、SA5:YES、及びSD1)。この時点では、当該データセグメントの状態は「廃棄」であるから、CPU21は、当該確認応答セグメントの消失通知ビットをオンにセットし、セット後の当該確認応答セグメントをサーバ装置60へ送信する(ステップSD2、及びSA4)。
Next, the
以降、基地局20では、上述と同様の処理が繰り返され、シーケンス番号「6000」のデータセグメントの受信確認のための確認応答セグメントであって、消失通知ビットがオンにセットされた確認応答セグメントがサーバ装置60へ転送される。
以上のようにして基地局50から送信された確認応答セグメントは、送信された順序でサーバ装置60に到着する。
Thereafter, the
The confirmation response segments transmitted from the
サーバ装置60のCPU41は、シーケンス番号「6000」のデータセグメントを移動機10へ送信した後に、シーケンス番号「5000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントの消失通知ビットはオフにセットされており、かつ、EONビットはオンにセットされているから、CPU41は、当該確認応答セグメントのACK値「3500」をシーケンス番号としたデータセグメントの再送動作を一時的に中止する(ステップSE1:NO、SB2:YES、及びSB3)。
After transmitting the data segment with the sequence number “6000” to the
次に、CPU41は、シーケンス番号「5500」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントの消失通知ビットはオンにセットされており、かつ、当該確認応答セグメントのACK値をシーケンス番号としたデータセグメントに対する強制再送フラグはオフであるから、CPU41は、当該データセグメントを即座に再送し、当該データセグメントに対する強制再送フラグをオンとする(ステップSE1:YES、SE2:NO、及びSE3)。
Next, the
次に、CPU41は、シーケンス番号「6000」のデータセグメントの受信確認のための確認応答セグメントを受信する(ステップSB1)。この確認応答セグメントの消失通知ビットはオンにセットされており、かつ、当該確認応答セグメントのACK値をシーケンス番号としたデータセグメントに対する強制再送フラグはオンであるから、CPU41は、当該データセグメントを再送しない(ステップSE1:YES、及びSE2:YES)。これにより、無駄な再送が回避される。
Next, the
上述したように、本実施形態では、サーバ装置60において、EONビットがオンにセットされた確認応答セグメントを受信したときに連続回数が0となっても、消失通知ビットによりデータセグメントの消失が通知されると即座に該当するデータセグメントを再送するようになっているから、第1実施形態と同種の効果を得ることができる。
As described above, in this embodiment, even when the
[第3実施形態]
図16は本発明の第3実施形態に係る通信システム300の構成を示す図である。この通信システム300が図1の通信システム100と異なる点は、移動機10に代えて移動機70を有する点と、基地局20に代えて基地局80を有する点と、サーバ装置40に代えてサーバ装置90を有する点のみである。通信システム300の通信プロトコル構成は、図2に示す構成と同様である。ただし、移動機70及びサーバ装置90は、TCPのSACKオプションを用いて通信する。
[Third Embodiment]
FIG. 16 is a diagram showing a configuration of a
図17は基地局80の構成を示すブロック図である。構成上、基地局80が基地局20と異なる点は、不揮発性メモリ22が通知プログラム221に代えて通知プログラム821を記憶している点と、RAM23に重複判定領域232が確保されない点のみである。この通知プログラム821は、基地局80を中継装置としたトランスポート層の通信コネクションの確立に連動して、その実行が開始/終了される。
FIG. 17 is a block diagram showing the configuration of the
図18は通知プログラム821を実行中のCPU21により行われる通知処理の一部の流れを示すフローチャートである。このフローチャートに示される処理と図6に示される処理は、CPU21により並列に実行される。図18に示すように、通知プログラム821を実行中のCPU21は、サーバ装置90からセグメントを受信すると(ステップSA1)、受信したセグメントがデータセグメントであるか否か(確認応答セグメントでないか否か)を判定する(ステップSA2)。受信したセグメントがデータセグメントの場合、CPU21は、当該データセグメントの状態が「転送中」であることを示す状態データをRAM23の状態領域231に書き込み、当該データセグメントを移動機70へ転送する(ステップSA3及びSA4)。
FIG. 18 is a flowchart showing a part of the notification process performed by the
逆に、受信したセグメントがデータセグメントでない場合、すなわち確認応答セグメントの場合、CPU21は、当該確認応答セグメントのACK値およびSACKブロックの内容に基づいて、新たな受信確認が為されているか否かを判定する(ステップSF1)。SACKブロックとは、SACKオプションを用いたTCPに従う通信において確認応答セグメントが有するブロックであり、第1〜第4SACKブロックからなる。各ブロックには必要に応じてシーケンス番号が格納される。このようなSACKブロックの内容とACK値とを参照することにより、サーバ装置90は、移動機70に受信されたデータセグメントを特定することができる。
Conversely, if the received segment is not a data segment, that is, if it is an acknowledgment segment, the
当該確認応答セグメントにより新たな受信確認が為されている場合には、CPU21は受信確認処理を行う(ステップSF1:YES、及びSF2)。この受信確認処理では、CPU21は、当該確認応答セグメントにより受信確認がなされるデータセグメントの状態データを、「受信」を示すように更新する。次に、CPU21は、データセグメントの入れ替わりが生じた可能性があるか否かを判定する(ステップSF3)。なお、当該確認応答セグメントにより新たな受信確認が為されていない場合には、CPU21は、受信確認処理を経ずに、データセグメントの入れ替わりが生じた可能性があるか否かを判定する(ステップSF1:NO、及びSF3)。
When a new reception confirmation is made by the confirmation response segment, the
データセグメントの入れ替わりが生じた可能性があるか否かの判定は、状態データで示される状態が「転送中」のデータセグメントのシーケンス番号のうち、最も若いシーケンス番号を特定し、このシーケンス番号よりも大きなシーケンス番号を当該確認応答セグメントのSACKブロックが有するか否かを調べることにより実現される。このようなシーケンス番号が当該SACKブロックに存在しない場合、CPU21は、データセグメントの入れ替わりが生じた可能性が無いと判定し、当該確認応答セグメントをそのままサーバ装置90へ転送する(ステップSA4)。逆に、このようなシーケンス番号が当該SACKブロックに存在する場合、CPU21は、データセグメントの入れ替わりが生じた可能性があると判定し、入れ替わりデータセグメントを特定する(ステップSF4)。入れ替わりデータセグメントの特定は、当該確認応答セグメントのSACKブロックによって受信確認されたデータセグメントよりも若いシーケンス番号を有し、かつ状態が「受信」ではないデータセグメントを見つけ出すことにより実現される。
To determine whether there is a possibility that data segment replacement has occurred, specify the youngest sequence number among the sequence numbers of the data segments whose status indicated by the status data is “Transferring”. Is realized by checking whether or not the SACK block of the acknowledgment segment has a large sequence number. When such a sequence number does not exist in the SACK block, the
こうして入れ替わりデータセグメントを特定したCPU21は、当該データセグメントの状態が「転送中」でも「廃棄」でもない場合には、当該確認応答セグメントをそのままサーバ装置90へ転送する(ステップSF5:NO、SF6:NO、及びSA4)。また、当該データセグメントの状態が「廃棄」の場合には、CPU21は、消失通知処理を行い、その後に、当該確認応答セグメントをサーバ装置90へ送信する(ステップSF5:YES、SF7、及びSA4)。消失通知処理には、当該確認応答セグメントの消失通知ビットをオンにセットする処理と、当該確認応答セグメントの所定のフィールドに当該データセグメントのシーケンス番号を格納する処理が含まれている。また、当該データセグメントの状態が「転送中」の場合には、CPU21は入れ替わり通知処理を行い、その後に、当該確認応答セグメントをサーバ装置90へ送信する(ステップSF5:NO、SF6:YES、SF8、及びSA4)。入れ替わり通知処理には、当該確認応答セグメントのEONビットをオンにセットする処理と、当該確認応答セグメントの所定のフィールドに当該データセグメントのシーケンス番号を格納する処理が含まれている。なお、本実施形態では、所定のフィールドとして第1SACKブロックを採用している。つまり、CPU21は、第1SACKブロックの内容を第2SACKブロックへ、第2SACKブロックの内容を第3SACKブロックへ、…、というように移動してから、当該データセグメントのシーケンス番号を第1SACKブロックに格納する。
If the data segment status is neither “transferring” nor “discarded”, the
図19はサーバ装置90の構成を示すブロック図である。構成上、サーバ装置90がサーバ装置40と異なる点は、不揮発性メモリ42が通信プログラム421に代えて通信プログラム921を記憶している点と、TCPのSACKオプションに対応している点と、ELNに対応している点のみである。この通信プログラム921は、移動機70からの要求に応じて実行される。
FIG. 19 is a block diagram illustrating a configuration of the
図20は通信プログラム921を実行中のCPU41により行われる入れ替わり制御処理の流れを示すフローチャートである。この図に示すように、通信プログラム921を実行中のCPU41は、移動機10から確認応答セグメントを受信すると(ステップSB1)、当該確認応答セグメントの消失通知ビットがオンか否かを判定し(ステップSE1)、オフであれば、当該確認応答セグメントのEONビットがオンにセットされているか否かを判定する(ステップSB2)。EONビットがオフにセットされていれば、CPU41は、SACKオプションを用いた一般的なTCPに従った処理のみを行う(ステップSB2:NO)。逆に、EONビットがオンにセットされていれば、当該確認応答セグメントの第1SACKブロックに格納されたシーケンス番号のデータセグメントの状態が「Sacked」となるようにスコアボードを更新することにより、当該データセグメントの再送動作を一時的に中止する(ステップSB2:YES、及びSG1)。
FIG. 20 is a flowchart showing the flow of the replacement control process performed by the
一方、受信した確認応答セグメントの消失通知ビットがオンであれば、CPU41は、当該確認応答セグメントの第1SACKブロックに格納されたシーケンス番号のデータセグメントに対する強制再送フラグがオンか否かを判定する(ステップSG2)。強制再送フラグはRAM43に書き込まれるものであり、そのデフォルト値はオフである。当該データセグメントに対する強制再送フラグがオフの場合にのみ、CPU41は当該データセグメントを即座に再送し、当該データセグメントに対する強制再送フラグをオンとする(ステップSG2:NO、及びSG3)。
On the other hand, if the erasure notification bit of the received acknowledgment segment is on, the
本実施形態に係る通信システム300により行われる通信処理は上述の通りであるから、本実施形態によれば、第1実施形態と同種の効果が得られる。
Since the communication process performed by the
[変形]
以下に、上述した実施形態の変形例を列挙する。
上述した実施形態では、トランスポート層における送信ノード(サーバ装置)と受信ノード(移動機)との間の通信路に無線区間が含まれるものとしたが、当該通信路が有線区間のみで構成されていてもよい。もちろん、送信ノードと受信ノードとの間のネットワークは、IMT−2000に準拠していなくてもよい。要は、送信ノードと受信ノードとがトランスポート層にて通信可能なネットワークであればよい。
また、上述した実施形態では、トランスポート層における送信ノードと受信ノードとの間の中継ノードがデータセグメントの入れ替わりの通知を行うようにしたが、受信ノードが行うようにしてもよい。
また、上述した実施形態では、確認応答セグメントを用いてデータセグメントの入れ替わりを通知するようにしたが、トランスポート層の通信プロトコルによっては、他のデータを用いて通知するようにしてもよい。
また、上述した実施形態では、中継ノードが受信ノードから返送されてくる確認応答セグメントを利用しデータセグメントの入れ替わりを通知するようにしたが、中継ノードが確認応答セグメントを生成し、これを用いて入れ替わりの通知を行うようにしてもよい。
また、上述した実施形態では、本発明を再送制御や輻輳制御に用いているが、これらだけではなく、データのロス率に基づいた送信レートの制御に用いてもよい。なお、データのロス率を求めるノードが受信ノードの場合、データセグメントの入れ替わりの通知先は受信ノードとなる。したがって、データセグメントの入れ替わりの通知を受信ノードが行う場合、送信ノード及び中継ノードとして既存のものをそのまま使うことができる。
また、再送制御や輻輳制御、送信レート制御などの各種の制御を行う制御ノードにおいて、受信ノードにおける受信順序が入れ替わったデータセグメントの通知を受けて各種の制御を一時中止した後に、当該データセグメントが消失したことが判明した場合には、制御ノードの状態を上記の一時中止がなかった場合の状態とするようにしてもよい。例えば、再送タイマを一時停止した後に、この一時停止期間分だけタイマ値を先に進めてから再送タイマの計時を再開するようにしてもよい。
また、上述した実施形態では、データセグメント及び確認応答セグメントを用いてデータセグメントの入れ替わりを推定するようにしたが、トランスポート層の通信プロトコルが確認応答セグメントの送信を規定していない通信プロトコルの場合や、受信ノードにてデータセグメントの入れ替わりを推定する場合には、データセグメントのみを用いてデータセグメントの入れ替わりを推定するようにしてもよい。そもそも、確認応答セグメントのACK値やSACKブロックのシーケンス番号は、受信ノードに受信されたトランスポート層のデータセグメントのシーケンス番号に基づいたものであるから、確認応答セグメントを用いてデータセグメントの入れ替わりを推定することも、受信ノードに受信されたトランスポート層のデータユニットのシーケンス番号に基づいて受信ノードにおける受信順序が入れ替わったデータユニットを推定することの範囲内である。
[Deformation]
Below, the modification of embodiment mentioned above is enumerated.
In the above-described embodiment, the wireless path is included in the communication path between the transmission node (server device) and the reception node (mobile device) in the transport layer. However, the communication path is configured only by the wired section. It may be. Of course, the network between the transmitting node and the receiving node may not be compliant with IMT-2000. In short, any network may be used as long as the transmission node and the reception node can communicate in the transport layer.
In the above-described embodiment, the relay node between the transmission node and the reception node in the transport layer notifies the switching of the data segment. However, the reception node may perform the notification.
In the above-described embodiment, the change of the data segment is notified using the confirmation response segment. However, the notification may be performed using other data depending on the communication protocol of the transport layer.
In the above-described embodiment, the relay node uses the acknowledgment segment returned from the receiving node to notify the data segment replacement. However, the relay node generates the acknowledgment segment and uses this You may make it perform notification of replacement.
In the above-described embodiments, the present invention is used for retransmission control and congestion control. However, the present invention may be used for transmission rate control based on the data loss rate. When the node for obtaining the data loss rate is the receiving node, the notification destination of the data segment replacement is the receiving node. Therefore, when the receiving node notifies the replacement of data segments, the existing ones can be used as they are as the transmitting node and the relay node.
In addition, in a control node that performs various controls such as retransmission control, congestion control, transmission rate control, etc., after receiving notification of a data segment whose reception order has been changed in the receiving node, the data segment is If it is determined that the node has disappeared, the state of the control node may be set to the state in the case where there is no temporary suspension. For example, after the retransmission timer is temporarily stopped, the timer value may be advanced by the amount corresponding to the temporary stop period, and then the retransmission timer may be restarted.
In the above-described embodiment, the replacement of the data segment is estimated using the data segment and the confirmation response segment. However, in the case of the communication protocol in which the transport layer communication protocol does not regulate the transmission of the confirmation response segment. Alternatively, when the replacement of the data segment is estimated at the receiving node, the replacement of the data segment may be estimated using only the data segment. In the first place, the ACK value of the acknowledgment segment and the sequence number of the SACK block are based on the sequence number of the transport segment data segment received by the receiving node. The estimation is also within the scope of estimating a data unit whose reception order in the receiving node is changed based on the sequence number of the transport layer data unit received by the receiving node.
20,50,80…基地局、21、41…CPU、22、42…不揮発性メモリ、221、521、821…通知プログラム、23、43…RAM、24…無線部、25、44…通信インタフェース、40,60,90…サーバ装置、421、621、921…通信プログラム。 20, 50, 80 ... base station, 21, 41 ... CPU, 22, 42 ... non-volatile memory, 221, 521, 821 ... notification program, 23, 43 ... RAM, 24 ... radio unit, 25, 44 ... communication interface, 40, 60, 90... Server device, 421, 621, 921.
Claims (10)
前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、
前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、
前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段と
を備え、
前記確認応答送信手段は、
前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、
前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、
前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する
通信装置。 Data receiving means for receiving a transport layer data unit transmitted from a transmitter to a receiver and having a number capable of specifying a transmission order from the transmitter;
When the data unit is received by the data receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the receiver. Data transmission means for transmitting to,
An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
When the data unit received by the data receiving unit and transmitted by the data transmitting unit is discarded, it is determined that the data unit is discarded in association with the number of the data unit. Overwrite means for overwriting that the data unit is being transferred, stored in the storage means,
Confirmation response transmitting means for transmitting the confirmation response received by the confirmation response receiving means to the transmitter;
With
The confirmation response transmission means includes:
Comparing the first number included in the confirmation response received by the confirmation response receiving means with the second number of the data unit stored in the second storage means;
When the second number is smaller than the first number, the first number is overwritten in the second storage means as the second number, and a data unit having a number smaller than the first number Is overwritten in the first storage means that it has been received at the receiver, and the confirmation response is transferred to the transmitter,
In the case where the second storage unit stores the fact that the data unit of the first number is discarded when the second number is not younger than the first number, the confirmation response is returned. When it is stored that the data unit of the first number is being transferred while the data unit of the first number is being transferred, the information including the information indicating that the data unit of the first number is being transferred A communication device that transmits an acknowledgment to the transmitter .
前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、When the data unit is received by the data receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the receiver. Data transmission means for transmitting to,
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、When the data unit received by the data receiving unit and transmitted by the data transmitting unit is discarded, it is determined that the data unit is discarded in association with the number of the data unit. Overwrite means for overwriting that the data unit is being transferred, stored in the storage means,
前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段とConfirmation response transmitting means for transmitting the confirmation response received by the confirmation response receiving means to the transmitter;
を備え、With
前記確認応答送信手段は、The confirmation response transmission means includes:
前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、当該確認応答の所定のフィールドに格納された内容に基づいて、当該確認応答により新たな受信確認が為されているか否かを判定し、前記確認応答により新たな受信確認が為されている場合において、当該新たな受信確認が為されているデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きし、Based on the first number included in the confirmation response received by the confirmation response receiving means and the content stored in a predetermined field of the confirmation response, a new reception confirmation is made by the confirmation response. In the case where a new reception confirmation is made by the confirmation response, it is determined that the data unit for which the new reception confirmation is made has been received by the receiver. Overwrite the storage means,
前記第1の記憶手段により、転送中であることを記憶させられたデータユニットの番号のうち最も若い番号である第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納していないときには、前記確認応答を前記送信機に転送し、The predetermined field of the confirmation response stores a number larger than the third number which is the youngest number among the numbers of the data units stored as being transferred by the first storage means. If not, forward the acknowledgment to the transmitter,
当該第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納しているときには、当該所定のフィールドが格納している番号よりも若い番号を有し、かつ前記受信機にて受信済であることを前記第1の記憶手段に上書きされていないデータユニットを特定し、When the predetermined field of the confirmation response stores a number larger than the third number, the number has a lower number than the number stored in the predetermined field and is received by the receiver A data unit that has not been overwritten in the first storage means is identified,
前記特定されたデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、当該データユニットが廃棄されていることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に転送する一方、特定された当該データユニットが転送中であることが前記第1の記憶手段に記憶されているときには、当該データユニットが転送中であることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に送信するWhen it is stored in the first storage means that the specified data unit is discarded, the first field includes information indicating that the data unit is discarded, and the predetermined field includes the information The confirmation response storing the data unit number is transferred to the transmitter, while the first storage means stores that the identified data unit is being transferred, the data unit transfers The confirmation response including information indicating that the data unit is included and storing the number of the data unit in the predetermined field is transmitted to the transmitter.
通信装置。Communication device.
ことを特徴とする請求項1または請求項2に記載の通信装置。 When the data unit is discarded in a layer lower than the transport layer , the data overwriting means indicates that the data unit is discarded in association with the number of the data unit. 3. The communication apparatus according to claim 1 , wherein the data unit stored in the storage unit is overwritten when the data unit is being transferred .
受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定手段と、
前記受信手段により受信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定手段が推定することを一時的に禁止する禁止手段と
を有する送信機。 Receiving means for receiving the confirmation response from the communication device according to any one of claims 1 to 3 ,
And loss estimation means for estimating the loss of the data unit based on the order or timing of reception of said data units by receiving machine,
When the confirmation response received by the receiving means includes information indicating that the data unit of the first number included in the confirmation response is being transferred, the loss of the data unit is A transmitter having a prohibition unit for temporarily prohibiting estimation by the erasure estimation unit.
前記送信機は、
送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信機へ送信する第1の送信手段と、
前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定手段と
を有し、
前記通信装置は、
前記送信機から送信された前記データユニットを受信する第1の受信手段と、
前記第1の受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、
前記第1の受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、
前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段と
を有し、
前記通信装置の前記確認応答送信手段は、
前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、
前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、
前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信し、
前記送信機は、更に、
前記確認応答送信手段から送信された前記確認応答を受信する第2の受信手段と、
前記受信手段により受信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定手段が推定することを一時的に禁止する禁止手段と
を有する
ことを特徴とする通信システム。 A transmitter and a communication device;
The transmitter is
First transmission means for transmitting a transport layer data unit having a number capable of specifying a transmission order to a receiver;
Erasure estimation means for estimating erasure of the data units based on the order or timing of reception of the data units by the receiver;
The communication device
First receiving means for receiving the data unit transmitted from the transmitter;
When the data unit is received by the first receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the data unit. Data transmission means for transmitting to the receiver;
An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
When the data unit received by the first receiving unit and transmitted by the data transmitting unit is discarded, the data unit is discarded in association with the number of the data unit. Overwriting means for overwriting that the data unit is being transferred, stored in the first storage means;
An acknowledgment transmission means for transmitting the acknowledgment received by the acknowledgment receiving means to the transmitter ;
The confirmation response transmission means of the communication device includes:
Comparing the first number included in the confirmation response received by the confirmation response receiving means with the second number of the data unit stored in the second storage means;
When the second number is smaller than the first number, the first number is overwritten in the second storage means as the second number, and a data unit having a number smaller than the first number Is overwritten in the first storage means that it has been received at the receiver, and the confirmation response is transferred to the transmitter,
In the case where the second storage unit stores the fact that the data unit of the first number is discarded when the second number is not younger than the first number, the confirmation response is returned. When it is stored that the data unit of the first number is being transferred while the data unit of the first number is being transferred, the information including the information indicating that the data unit of the first number is being transferred Send an acknowledgment to the transmitter,
The transmitter further includes:
A second receiving means for receiving by said acknowledgment transmitted from the acknowledgment transmitting means,
When the confirmation response received by the receiving means includes information indicating that the data unit of the first number included in the confirmation response is being transferred, the loss of the data unit is And a prohibition unit for temporarily prohibiting estimation by the disappearance estimation unit.
前記送信機は、
送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信機へ送信する第1の送信手段と、
前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定手段と
を有し、
前記通信装置は、
前記送信機から送信された前記データユニットを受信する第1の受信手段と、
前記第1の受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、
前記第1の受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、
前記確認応答受信手段により受信された前記確認応答を前記送信機に送信する確認応答送信手段と
を有し、
前記通信装置の前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、当該確認応答の所定のフィールドに格納された内容に基づいて、当該確認応答により新たな受信確認が為されているか否かを判定し、前記確認応答により新たな受信確認が為されている場合において、当該新たな受信確認が為されているデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きし、
前記第1の記憶手段により、転送中であることを記憶させられたデータユニットの番号のうち最も若い番号である第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納していないときには、前記確認応答を前記送信機に転送し、
当該第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納しているときには、当該所定のフィールドが格納している番号よりも若い番号を有し、かつ前記受信機にて受信済であることを前記第1の記憶手段に上書きされていないデータユニットを特定し、
前記特定されたデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、当該データユニットが廃棄されていることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に転送する一方、特定された当該データユニットが転送中であることが前記第1の記憶手段に記憶されているときには、当該データユニットが転送中であることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に送信し、
前記送信機は、更に、
前記確認応答送信手段から送信された前記確認応答を受信する第2の受信手段と、
前記受信手段により受信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定手段が推定することを一時的に禁止する禁止手段と
を有する
ことを特徴とする通信システム。 A transmitter and a communication device;
The transmitter is
First transmission means for transmitting a transport layer data unit having a number capable of specifying a transmission order to a receiver;
Erasure estimation means for estimating erasure of the data units based on the order or timing of reception of the data units by the receiver;
Have
The communication device
First receiving means for receiving the data unit transmitted from the transmitter;
When the data unit is received by the first receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the data unit. Data transmission means for transmitting to the receiver;
An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
When the data unit received by the first receiving unit and transmitted by the data transmitting unit is discarded, the data unit is discarded in association with the number of the data unit. Overwriting means for overwriting that the data unit is being transferred, stored in the first storage means;
An acknowledgment transmission means for transmitting the acknowledgment received by the acknowledgment receiving means to the transmitter ;
Based on the first number included in the confirmation response received by the confirmation response receiving means of the communication device and the contents stored in a predetermined field of the confirmation response, a new reception confirmation is made by the confirmation response. In the case where a new reception confirmation is made by the confirmation response, it is confirmed that the data unit for which the new reception confirmation is made has been received by the receiver. Overwriting the first storage means;
The predetermined field of the confirmation response stores a number larger than the third number which is the youngest number among the numbers of the data units stored as being transferred by the first storage means. If not, forward the acknowledgment to the transmitter,
When the predetermined field of the confirmation response stores a number larger than the third number, the number has a lower number than the number stored in the predetermined field and is received by the receiver A data unit that has not been overwritten in the first storage means is identified,
When it is stored in the first storage means that the specified data unit is discarded, the first field includes information indicating that the data unit is discarded, and the predetermined field includes the information The confirmation response storing the data unit number is transferred to the transmitter, while the first storage means stores that the identified data unit is being transferred, the data unit transfers Including the information indicating that the data unit is included, and transmitting the confirmation response storing the number of the data unit in the predetermined field to the transmitter,
The transmitter further includes:
Second receiving means for receiving the confirmation response transmitted from the confirmation response transmitting means;
When the confirmation response received by the receiving means includes information indicating that the data unit of the first number included in the confirmation response is being transferred, the loss of the data unit is A prohibition means for temporarily prohibiting the estimation by the disappearance estimation means;
Have
A communication system characterized by the above.
通信装置が、前記送信機により送信された前記データユニットを受信する受信過程と、
前記通信装置が、受信した前記データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信過程と、
前記通信装置が、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信過程と、
前記通信装置が、前記受信過程において受信されて前記データ送信過程において送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き過程と、
前記通信装置が、前記確認応答受信過程において受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、
前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、
前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する確認応答送信過程と
前記送信機が、前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定過程と、
前記送信機が、前記確認応答送信過程において送信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定過程において推定することを一時的に禁止する中止過程と
を有する通信方法。 Send machine, a transmission process of transmitting the data units of the transport layer to the receiver has an identifiable number the transmission order,
A receiving process in which a communication device receives the data unit transmitted by the transmitter;
A data transmission process in which the communication device stores in the first storage means that the data unit is being transferred in association with the received number of the data unit, and transmits the data unit to the receiver; ,
An acknowledgment reception process in which the communication device receives an acknowledgment including a first number which is a number of a data unit which is transmitted from the receiver to the transmitter and is expected to be received next by the receiver; ,
When the data unit received in the reception process and transmitted in the data transmission process is discarded, the communication device is associated with the number of the data unit and the data unit is discarded. An overwriting process stored in the first storage means for overwriting that the data unit is being transferred;
The communication device compares the first number included in the confirmation response received in the confirmation response reception process with the second number of the data unit stored in the second storage means;
When the second number is smaller than the first number, the first number is overwritten in the second storage means as the second number, and a data unit having a number smaller than the first number Is overwritten in the first storage means that it has been received at the receiver, and the confirmation response is transferred to the transmitter,
In the case where the second storage unit stores the fact that the data unit of the first number is discarded when the second number is not younger than the first number, the confirmation response is returned. When it is stored that the data unit of the first number is being transferred while the data unit of the first number is being transferred, the information including the information indicating that the data unit of the first number is being transferred An acknowledgment transmission process for transmitting an acknowledgment to the transmitter;
An erasure estimation process in which the transmitter estimates the erasure of the data units based on the order or timing of reception of the data units by the receiver;
When the transmitter includes information indicating that the data unit of the first number included in the confirmation response is being transferred in the confirmation response transmitted in the confirmation response transmission process , communication method and a stop step of temporarily disabled to estimate the loss of the data unit in the loss estimation process.
通信装置が、前記送信機により送信された前記データユニットを受信する受信過程と、A receiving process in which a communication device receives the data unit transmitted by the transmitter;
前記通信装置が、受信した前記データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信過程と、A data transmission process in which the communication device stores in the first storage means that the data unit is being transferred in association with the received number of the data unit, and transmits the data unit to the receiver; ,
前記通信装置が、前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信過程と、An acknowledgment reception process in which the communication device receives an acknowledgment including a first number which is a number of a data unit which is transmitted from the receiver to the transmitter and is expected to be received next by the receiver; ,
前記通信装置が、前記受信過程において受信されて前記データ送信過程において送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き過程と、When the data unit received in the reception process and transmitted in the data transmission process is discarded, the communication device is associated with the number of the data unit and the data unit is discarded. An overwriting process stored in the first storage means for overwriting that the data unit is being transferred;
前記通信装置が、The communication device is
前記確認応答受信過程において受信された前記確認応答に含まれる前記第1の番号と、当該確認応答の所定のフィールドに格納された内容に基づいて、当該確認応答により新たな受信確認が為されているか否かを判定し、前記確認応答により新たな受信確認が為されている場合において、当該新たな受信確認が為されているデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きし、Based on the first number included in the confirmation response received in the confirmation response reception process and the contents stored in a predetermined field of the confirmation response, a new reception confirmation is made by the confirmation response. In the case where a new reception confirmation is made by the confirmation response, it is determined that the data unit for which the new reception confirmation is made has been received by the receiver. Overwrite the storage means,
前記第1の記憶手段により、転送中であることを記憶させられたデータユニットの番号のうち最も若い番号である第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納していないときには、前記確認応答を前記送信機に転送し、The predetermined field of the confirmation response stores a number larger than the third number which is the youngest number among the numbers of the data units stored as being transferred by the first storage means. If not, forward the acknowledgment to the transmitter,
当該第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納しているときには、当該所定のフィールドが格納している番号よりも若い番号を有し、かつ前記受信機にて受信済であることを前記第1の記憶手段に上書きされていないデータユニットを特定し、When the predetermined field of the confirmation response stores a number larger than the third number, the number has a lower number than the number stored in the predetermined field and is received by the receiver A data unit that has not been overwritten in the first storage means is identified,
前記特定されたデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、当該データユニットが廃棄されていることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に転送する一方、特定された当該データユニットが転送中であることが前記第1の記憶手段に記憶されているときには、当該データユニットが転送中であることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に送信する確認応答送信過程とWhen it is stored in the first storage means that the specified data unit is discarded, the first field includes information indicating that the data unit is discarded, and the predetermined field includes the information The confirmation response storing the data unit number is transferred to the transmitter, while the first storage means stores that the identified data unit is being transferred, the data unit transfers An acknowledgment transmission process for transmitting to the transmitter the confirmation response including information indicating that the data unit is included and storing the number of the data unit in the predetermined field;
前記送信機が、前記受信機による前記データユニットの受信の順序またはタイミングに基づいて前記データユニットの消失を推定する消失推定過程と、An erasure estimation process in which the transmitter estimates the erasure of the data units based on the order or timing of reception of the data units by the receiver;
前記送信機が、前記確認応答送信過程において送信された前記確認応答に、当該確認応答に含まれる第1の番号のデータユニットが転送中であることを意味する情報が含まれている場合に、当該データユニットの消失を前記消失推定過程において推定することを一時的に禁止する中止過程とWhen the transmitter includes information indicating that the data unit of the first number included in the confirmation response is being transferred in the confirmation response transmitted in the confirmation response transmission process, A suspension process temporarily prohibiting estimation of the loss of the data unit in the loss estimation process;
を有する通信方法。A communication method.
送信機から受信機へ送信され、前記送信機からの送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信するデータ受信手段と、
前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、
前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、
前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、第2の記憶手段に記憶された、データユニットの第2の番号とを比較し、
前記第2の番号が前記第1の番号よりも若い場合において、当該第1の番号を前記第2の記憶手段に前記第2の番号として上書きし、当該第1の番号より若い番号のデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きして、前記確認応答を前記送信機に転送し、
前記第2の番号が前記第1の番号よりも若くない場合において、当該第1の番号のデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、前記確認応答を前記送信機に転送する一方、当該第1の番号のデータユニットが転送中であることが記憶されているときには、当該第1の番号のデータユニットが転送中であることを意味する情報を含む前記確認応答を前記送信機に送信する確認応答送信手段
として機能させるためのプログラム。 The computer,
Data receiving means for receiving a transport layer data unit transmitted from a transmitter to a receiver and having a number capable of specifying a transmission order from the transmitter;
When the data unit is received by the data receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the receiver. Data transmission means for transmitting to,
An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
When the data unit received by the data receiving unit and transmitted by the data transmitting unit is discarded, it is determined that the data unit is discarded in association with the number of the data unit. Overwrite means for overwriting that the data unit is being transferred, stored in the storage means,
Comparing the first number included in the confirmation response received by the confirmation response receiving means with the second number of the data unit stored in the second storage means;
When the second number is smaller than the first number, the first number is overwritten in the second storage means as the second number, and a data unit having a number smaller than the first number Is overwritten in the first storage means that it has been received at the receiver, and the confirmation response is transferred to the transmitter,
In the case where the second storage unit stores the fact that the data unit of the first number is discarded when the second number is not younger than the first number, the confirmation response is returned. When it is stored that the data unit of the first number is being transferred while the data unit of the first number is being transferred, the information including the information indicating that the data unit of the first number is being transferred A program for functioning as an acknowledgment transmission means for transmitting an acknowledgment to the transmitter .
送信機から受信機へ送信され、前記送信機からの送信順序を特定可能な番号を有するトランスポート層のデータユニットを受信するデータ受信手段と、Data receiving means for receiving a transport layer data unit transmitted from a transmitter to a receiver and having a number capable of specifying a transmission order from the transmitter;
前記データ受信手段により前記データユニットが受信されると、当該データユニットの番号に対応付けて、当該データユニットが転送中であることを第1の記憶手段に記憶させ、当該データユニットを前記受信機へ送信するデータ送信手段と、When the data unit is received by the data receiving means, the first storage means stores the data unit being transferred in association with the number of the data unit, and the data unit is stored in the receiver. Data transmission means for transmitting to,
前記受信機から前記送信機へ送信され、当該受信機にて次に受信が期待されるデータユニットの番号である第1の番号を含む確認応答を受信する確認応答受信手段と、An acknowledgment receiving means for receiving an acknowledgment that is transmitted from the receiver to the transmitter and that includes a first number that is a number of a data unit that is expected to be received next by the receiver;
前記データ受信手段により受信されて前記データ送信手段により送信された前記データユニットが廃棄された場合には、当該データユニットの番号に対応付けて、当該データユニットが廃棄されたことを、前記第1の記憶手段に記憶された、当該データユニットが転送中であることに上書きする上書き手段と、When the data unit received by the data receiving unit and transmitted by the data transmitting unit is discarded, it is determined that the data unit is discarded in association with the number of the data unit. Overwrite means for overwriting that the data unit is being transferred, stored in the storage means,
前記確認応答受信手段により受信された前記確認応答に含まれる前記第1の番号と、当該確認応答の所定のフィールドに格納された内容に基づいて、当該確認応答により新たな受信確認が為されているか否かを判定し、前記確認応答により新たな受信確認が為されている場合において、当該新たな受信確認が為されているデータユニットが受信機にて受信済であることを前記第1の記憶手段に上書きし、Based on the first number included in the confirmation response received by the confirmation response receiving means and the content stored in a predetermined field of the confirmation response, a new reception confirmation is made by the confirmation response. In the case where a new reception confirmation is made by the confirmation response, it is determined that the data unit for which the new reception confirmation is made has been received by the receiver. Overwrite the storage means,
前記第1の記憶手段により、転送中であることを記憶させられたデータユニットの番号のうち最も若い番号である第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納していないときには、前記確認応答を前記送信機に転送し、The predetermined field of the confirmation response stores a number larger than the third number which is the youngest number among the numbers of the data units stored as being transferred by the first storage means. If not, forward the acknowledgment to the transmitter,
当該第3の番号よりも大きな番号を当該確認応答の前記所定のフィールドが格納しているときには、当該所定のフィールドが格納している番号よりも若い番号を有し、かつ前記受信機にて受信済であることを前記第1の記憶手段に上書きされていないデータユニットを特定し、When the predetermined field of the confirmation response stores a number larger than the third number, the number has a lower number than the number stored in the predetermined field and is received by the receiver A data unit that has not been overwritten in the first storage means is identified,
前記特定されたデータユニットが廃棄されていることが前記第1の記憶手段に記憶されているときには、当該データユニットが廃棄されていることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に転送する一方、特定された当該データユニットが転送中であることが前記第1の記憶手段に記憶されているときには、当該データユニットが転送中であることを意味する情報を含み、かつ、前記所定のフィールドに当該データユニットの番号を格納した前記確認応答を前記送信機に送信する確認応答送信手段When it is stored in the first storage means that the specified data unit is discarded, the first field includes information indicating that the data unit is discarded, and the predetermined field includes the information The confirmation response storing the data unit number is transferred to the transmitter, while the first storage means stores that the identified data unit is being transferred, the data unit transfers An acknowledgment transmission means for transmitting to the transmitter the confirmation response including information indicating that the data is included and storing the number of the data unit in the predetermined field
として機能させるためのプログラム。Program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003388311A JP4348168B2 (en) | 2003-11-18 | 2003-11-18 | COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003388311A JP4348168B2 (en) | 2003-11-18 | 2003-11-18 | COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005149307A JP2005149307A (en) | 2005-06-09 |
JP4348168B2 true JP4348168B2 (en) | 2009-10-21 |
Family
ID=34695428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003388311A Expired - Fee Related JP4348168B2 (en) | 2003-11-18 | 2003-11-18 | COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4348168B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101485134B (en) | 2006-07-07 | 2012-06-27 | 艾利森电话股份有限公司 | Medium access control discard notification |
-
2003
- 2003-11-18 JP JP2003388311A patent/JP4348168B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005149307A (en) | 2005-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7477675B2 (en) | Data communication apparatus | |
EP1303970B1 (en) | Tcp flow control | |
US6876639B1 (en) | Transmission control protocol handoff notification system and method | |
KR100671002B1 (en) | Method of controlling a receiver and a transmitter in a wireless communication system to handle a transmission window size change procedure | |
US7436854B2 (en) | Transmitter device for controlling data transmission | |
KR100436435B1 (en) | Method and Apparatus for Transmitting Packet Using Indirect Ackowledgement over Wire/Wireless Integrated Network | |
EP1581013B1 (en) | Transmitted packet replenishment system and transmitted packet replenishing method | |
JP4495085B2 (en) | Communication system, communication apparatus, and data retransmission control method | |
US20050144303A1 (en) | System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network | |
US20050259577A1 (en) | Method for transmitting data in mobile ad hoc network and network apparatus using the same | |
KR100393369B1 (en) | Method and apparatus for starting an acknowledgment timer | |
WO2010108144A1 (en) | Systems and methods for improved wireless interface aggregation | |
WO2014069642A1 (en) | Communication device, transmission data output control method, and program for same | |
CN108713311A (en) | A kind of transmission method, equipment and the system of transmission control protocol TCP message | |
JP2008104018A (en) | Communication system, communication equipment, and transmission control method | |
EP1278348A1 (en) | Long-lived TCP connection using ICMP messages in wireless mobile communications | |
JP4244159B2 (en) | Reception device, communication system, and program | |
JP4348168B2 (en) | COMMUNICATION DEVICE, TRANSMITTER, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM | |
KR100919056B1 (en) | Apparatus and method for optimizing a report-time in a mobile communication system | |
Daniel et al. | Adapting TCP for vertical handoffs in wireless networks | |
JP4203400B2 (en) | Reception device, communication system, and program | |
JP3158357B2 (en) | Retransmission control method | |
KR20060117050A (en) | Error and congestion control method for msctp handover | |
JP2005057397A (en) | Apparatus for controlling reliable data transmission in data communication network including mobile terminal | |
EP1601152A1 (en) | Method and apparatus for transmitting data packets in a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090622 |
|
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: 20090714 |
|
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: 20090717 |
|
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: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130724 Year of fee payment: 4 |
|
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 |