CN111132225B - Receiving side of RLC entity in AM mode and method for receiving data - Google Patents
Receiving side of RLC entity in AM mode and method for receiving data Download PDFInfo
- Publication number
- CN111132225B CN111132225B CN201911005886.8A CN201911005886A CN111132225B CN 111132225 B CN111132225 B CN 111132225B CN 201911005886 A CN201911005886 A CN 201911005886A CN 111132225 B CN111132225 B CN 111132225B
- Authority
- CN
- China
- Prior art keywords
- receiving
- unit
- data
- pdu
- window
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1657—Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
The application discloses a receiving side of an RLC entity in an AM mode. The RLC control unit is configured to receive RLC control PDUs from the routing unit. The routing unit is used for receiving the data PDU from the bottom layer and transmitting the data PDU to the receiving window unit. The receiving window unit is used for judging the data PDU transmitted by the routing unit and the receiving window. The reordering unit is used for arranging the buffered data PDUs in an ascending order of the received sequence numbers. The sliding window judging unit is used for packaging the sequenced data PDU; and is further used for normally updating the receiving window when there is no missing packet in the received data PDU, and for forcibly updating the receiving window when a specific condition is met when there is a missing packet in the received data PDU. The SDU reassembly unit reassembles the segmented data SDUs into one complete data SDU. The method and the device reduce the delay of the real-time service through the newly added operation of forcibly updating the receiving window; and the method also has the advantages of reducing memory consumption and improving TCP flow control.
Description
Technical Field
The present invention relates to an RLC entity in a mobile communication system, and more particularly, to a receiving side of an RLC entity in an AM mode and a receiving method thereof.
Background
An RLC (Radio Link Control) entity of an LTE (Long-Term Evolution) mobile communication system has three operating modes, wherein an AM (Acknowledged Mode) is mainly used for reliable data transmission.
The RLC entity (RLC entity) in the AM mode is divided into a receiving side (receiving side) and a transmitting side (transmitting side). In order to ensure reliable data transmission, i.e. no disorder and no packet loss, a reordering (reordering) function is used at the receiving side when receiving data. The receiving side buffers the PDUs (Protocol Data units) received by the bottom layer by a receiving window (receiving window) according to the ascending order of the receiving sequence numbers (receiving SNs). If the missing packet occurs, the receiving side sends a STATUS packet (STATUS PDU) to request retransmission and waits until the missing packet is successfully received or other abnormal link release occurs. The receiving side does not transmit data to the upper layer any more while waiting for a missing packet. If the waiting time is too long, the following problems are caused.
First, caching data consumes excessive memory. Since the buffered data is not transferred to the upper layer, in the most extreme case, the size of the buffered receiving window of the receiving side of the RLC entity in the AM mode is reduced by one PDU, each PDU has thousands of bytes, which results in excessively large memory consumption, which is unacceptable for some cost-sensitive products such as communication chips.
Second, it causes a decrease in TCP (Transmission Control Protocol) throughput. Since the buffered data cannot be transmitted to the upper layer, the TCP receiving end cannot respond (ACK), and the TCP sending end starts measures such as flow control and quick retransmission after not receiving the response message after exceeding a certain time threshold, so that the TCP throughput rate fluctuates and even drops pits.
Third, the real-time quality of service is poor. The RLC entity in AM mode is used to carry real-time services such as voice, video chat, etc. If the buffering time of the receiving side is too long, the overtime packet loss of an upper layer Jitter Buffer (Jitter Buffer) is caused, so that the real-time service quality is greatly changed along with the packet loss rate.
Therefore, on the premise of ensuring that the RLC protocol function is not affected, how to reduce the memory consumption and ensure the stable TCP throughput and the quality of service of the real-time service at the same time becomes a technical problem to be solved urgently.
Disclosure of Invention
The technical problem to be solved by the present application is to provide a receiving side of an RLC entity in an AM mode, which can solve the above-mentioned defects of the receiving side of the RLC entity in the existing AM mode. For this reason, the present application also provides a method for receiving data by a receiving side of the RLC entity in the corresponding AM mode.
In order to solve the above technical problem, the present application provides a receiving side of an RLC entity in an AM mode, including an RLC control unit, a routing unit, a receiving window unit, a reordering unit, a sliding window decision unit, and an SDU reassembly unit. The RLC control unit is used for receiving RLC control PDU from the routing unit, receiving updated receiving window information from the sliding window judging unit and serving as a basis for reporting the RLC control packet. The routing unit is used for receiving data PDU from the bottom layer and transmitting the data PDU to the receiving window unit, and is also used for receiving RLC control PDU from the bottom layer and transmitting the RLC control PDU to the RLC control unit. The receiving window unit is used for judging the data PDU transmitted by the routing unit and the receiving window; the length of the receiving window is fixed, the lower edge of the receiving window is a variable VR (R), and the upper edge of the receiving window is a variable VR (MR); wherein vr (r) indicates that the receiving side has consecutively received the next reception sequence number next to the largest reception sequence number of the PDUs; VR (MR) is the sum of VR (R) and the fixed length of the receive window; if the received PDU's received sequence number is outside the receive window, discarding the PDU; if the received PDU's received sequence number is within the receive window, the PDU is buffered and presented to the reordering unit. The reordering unit is used for arranging the data PDUs buffered by the receiving window unit according to the ascending order of the receiving sequence numbers. The sliding window judging unit is used for packaging the sequenced data PDUs, delivering the parsed data SDUs or segments of the data SDUs to an upper layer and discarding all SDUs or segments of the SDUs which cannot be parsed. The sliding window decision unit is further configured to normally update the receiving window when vr (r) ═ vr (h); this means that when k data PDUs are consecutively received from vr (r), the k value is synchronously increased up by the lower edge vr (r) and the upper edge vr (mr) of the receiving window; vr (h) indicates that the receiving side has received the next reception sequence number next to the largest reception sequence number of the PDU. The sliding window judging unit is further used for calculating the current packet loss rate VR (LR) when VR (R) ≠ VR (H) and VR (H) -VR (R) is not less than A; if VR (LR) is less than the threshold value of the packet loss rate, the receiving window is forcibly updated; this means that the new VR (R) is set to the existing VR (H), and VR (MR) is synchronously adjusted, which increases the VR (H) -VR (R) value synchronously upwards for the lower edge and the upper edge of the receiving window; wherein, vr (lr) represents the current packet loss rate at the receiving side, and the calculation formula is as follows:
the sliding window decision unit is further used for informing the RLC control unit of the updated receiving window information. The SDU reassembly unit reassembles the segmented data SDUs into one complete data SDU.
The receiving side of the RLC entity in the AM mode reduces the time delay of the real-time service through the operation of newly adding the forced updating receiving window.
Further, if the PDU received by the receiving window unit has a missing packet, the sliding window decision unit parses the data SDU or the segment of the data SDU from the data PDU, and delivers the data SDU or the segment of the data SDU that can be parsed from the data PDU to the SDU reassembly unit; when the condition of forcibly updating the receiving window is met, the sliding window judging unit forcibly updates the receiving window; thereafter, if the receiving window unit receives the previously missed data PDU again, the PDU is discarded. The data PDU is packaged in advance when VR (R) ≠ VR (H), so that the occupation of the data cached in the receiving window on the memory is reduced.
Further, the constant a is set to be between 200 and 300. The smaller the value of the constant a is, the smaller the memory resource occupied by the receiving window is. This is a preferred implementation.
Further, VR (H) -VR (R) ≧ A is changed to VR (H) -VR (R) ≦ A. In this case, the constant a is used to strictly limit the memory resources occupied by the receiving window.
Further, the packet loss rate threshold is set to be greater than 0 and less than or equal to 5%. This is a preferred implementation.
The application also provides a method for receiving data by the RLC entity in the AM mode, which comprises the following steps.
Step S210: data PDUs are received from the bottom layer. Step S220: judging the received data PDU and a receiving window; if the received PDU's sequence number is in the receiving window, buffering the PDU; if the received PDU's received sequence number is outside the receive window, the PDU is discarded. Step S230: and arranging the buffered data PDUs according to the ascending order of the received sequence numbers. Step S240: determine whether vr (r) is equal to vr (h)? If yes, go to step S290; otherwise, the process proceeds to step S250. Step S250: determine if vr (h) -vr (r) is greater than or equal to a constant a? If yes, go to step S260; otherwise, the flow is exited and the receiving is finished. Step S260: and calculating the current packet loss rate VR (LR) according to VR (R) and VR (H).
Step S270: determine whether vr (lr) is greater than or equal to packet loss threshold? If yes, the process is exited, and the receiving is finished; otherwise, the process proceeds to step S280. Step S280: packing the data PDU received from VR (R) to VR (H), delivering the parsed data SDU or the segment of the data SDU to the upper layer, and discarding all SDU or SDU segments which can not be parsed; meanwhile, forcibly updating the receiving window, namely setting the new VR (R) to be the existing VR (H), synchronously adjusting VR (MR), and enabling the lower edge and the upper edge of the receiving window to synchronously increase the VR (H) -VR (R) value upwards; subsequently, the process proceeds to step S295. Step S290: packaging the received data PDU, delivering the analyzed data SDU or the segments of the data SDU to an upper layer, and discarding all SDU or SDU segments which cannot be analyzed; and normally updating the receiving window, namely, if k data PDUs are continuously received from VR (R), increasing the k value synchronously upwards at the lower edge VR (R) and the upper edge VR (MR) of the receiving window. Step S295: the segmented data SDUs are reassembled into one complete data SDU.
In the method for receiving data by the RLC entity in the AM mode, the data PDU is packed in advance when vr (r) ≠ vr (h), which reduces the occupation of the data cached in the receiving window on the memory; the delay of the real-time service is reduced by the newly added operation of forcibly updating the receiving window.
Further, in step S230, if a packet missing in the buffered data PDU is found, a reordering timer is started to wait; if the timeout is not received, a status packet is sent to request the sender to retransmit. This is an alternative implementation. In fact, since the present application forces the receiving window to be updated in step S280, the processing of the missing packet is not so important.
Further, if the reordering timer is started in step S230, the reordering timer is turned off in step S280. This is an alternative implementation.
Further, in the step S250, "whether vr (h) -vr (r) is greater than or equal to the constant a" is changed to "whether vr (h) -vr (r) is less than or equal to the constant a". In this case, the constant a is used to strictly limit the memory resources occupied by the receiving window.
Further, the step S210 is implemented by a routing unit in the RLC entity in the AM mode. The step S220 is implemented by a receiving window unit in the RLC entity in the AM mode. The step S230 is implemented by a reordering unit in the RLC entity in the AM mode. The steps S240 to S290 are implemented by a sliding window decision unit in the RLC entity in the AM mode. Said step S295 is implemented by an SDU reassembly unit in the RLC entity in AM mode. This is a preferred implementation.
The method and the device have the technical effects of reducing memory consumption, improving TCP flow control and reducing delay of transmitting real-time data.
Drawings
Fig. 1 is a schematic structural diagram of a receiving side of an RLC entity in an AM mode provided in the present application.
Fig. 2 is a flowchart of a method for receiving data by a receiving side of an RLC entity in AM mode provided in the present application.
The reference numbers in the figures illustrate: 100 is the receiving side of the RLC entity in AM mode; 110 is an RLC control unit; 120 is a routing unit; 130 is a receiving window unit; 140 is a reordering unit; 150 is a sliding window decision unit; 160 is an SDU reassembly unit.
Detailed Description
Please refer to fig. 1, which is a diagram illustrating a receiving side of an RLC entity in AM mode according to the present application. The receiving side 100 of the RLC entity in the AM mode includes an RLC control Unit 110, a routing Unit 120, a receiving window Unit 130, a reordering Unit 140, a sliding window decision Unit 150, and an SDU (Service Data Unit ) reassembly Unit 160.
The RLC Control unit 110 is configured to receive an RLC Control pdu (RLC Control pdu) from the routing unit 120. The RLC control unit 110 is further configured to receive updated receiving window information from the sliding window determining unit 150, and use the updated receiving window information as a basis for reporting an RLC control packet.
The routing unit 120 is used to receive data PDUs from the bottom layer and transmit them to the receive window unit 130. The routing unit 120 is also used to receive RLC control PDUs from the underlying layer and transmit them to the RLC control unit 110.
The receiving window unit 130 is used for determining the data PDU from the routing unit 120 and the receiving window. If the received PDU's received sequence number is outside the receive window, the PDU is discarded. If the received PDU has a reception sequence number within the reception window, the PDU is buffered and submitted to the reordering unit 140.
The length of the receiving window is fixed, the lower edge of the receiving window is variable VR (R), and the upper edge of the receiving window is variable VR (MR). Vr (r) indicates the next reception sequence number next to the largest reception sequence number of PDUs which have been consecutively received by the reception side. The PDUs before vr (r) have been received consecutively by the receiving side, so vr (r) indicates the received sequence number of the first PDU not received consecutively in the receiving window, and also the received sequence number of the next PDU expected to be received by the receiving side. VR (MR) is the sum of VR (R) and the fixed length of the receive window.
Further, if the PDU received by the receiving window unit 130 has a missing packet, the sliding window determining unit 150 determines whether to package the packet and update the receiving window.
The reordering unit 140 is used to arrange the data PDUs (out of order) buffered by the receive window unit 130 in the ascending order of the received sequence numbers.
Further, if the reordering unit 140 finds that there is a missing packet in the data PDU buffered by the receiving window unit 130, the reordering timer is started to wait. If the timeout is not received, a status packet is sent to request the sender to retransmit.
The sliding window decision unit 150 is configured to perform a packing operation on the sequenced data PDUs, where the packing operation refers to parsing out data SDUs from the data PDUs, or parsing out segments of the data SDUs from the data PDUs according to segment information in a header (header) of the data PDUs. The sliding window decision unit 150 then hands the parsed data SDU or segment of data SDU to the upper layer and discards all SDUs or SDU segments that cannot be parsed.
The sliding window decision unit 150 is further configured to normally update the receiving window when vr (r) ═ vr (h). When vr (r) ═ vr (h) indicates that the currently received data PDU has no missing packets. At this time, if k data PDUs are continuously received from vr (r), the lower edge vr (r) and the upper edge vr (mr) of the receiving window are synchronously increased by k. This is the normal operation of updating the receive window as defined by the existing protocol.
The sliding window decision unit 150 is further configured to calculate the current packet loss rate vr (lr) when vr (r) ≠ vr (h) and vr (h) -vr (r) ≧ a. And if VR (LR) < the packet loss rate threshold, forcibly updating the receiving window. The forced updating of the receiving window means that the new VR (R) is set to the existing VR (H), and the VR (MR) is synchronously adjusted, so that the lower edge and the upper edge of the receiving window are synchronously and upwards increased by the value of VR (H) -VR (R). This is the operation of the present application designed to force an update of the receive window when certain conditions are met.
Vr (h) is a variable indicating that the receiving side has received the next received sequence number next to the largest received sequence number of the PDU.
Vr (lr) is a variable indicating the current packet Loss Rate (Loss Rate) of the receiving side, and is initialized to 0. VR (LR) is calculated as follows.
The constant a represents the threshold in one decision condition that forces an update of the receive window. In general, the sending end rate of the data PDU is relatively stable, and the time for sending a data PDUs is also relatively stable, i.e. a represents a time span. The length of the receiving window is fixed, and the condition of forcibly updating the receiving window can be adjusted by adjusting the constant A, so that the condition of the early-package packet is adjusted. When A becomes smaller, the memory resource occupied by the receiving window can be reduced. Preferably, the constant a is set between 200 and 300. This can prevent the reception of the PDU waiting time in the reception window unit 130 from being too long.
As a variation, a decision condition VR (H) -VR (R) ≧ A for the forced update of the receive window may be changed to VR (H) -VR (R) ≦ A. In this case, the constant a is used to strictly limit the memory resources occupied by the receiving window.
Preferably, the packet loss rate threshold is set to be greater than 0 and less than or equal to 5%. Therefore, the packet loss rate can be ensured not to cause TCP flow control.
The sliding window decision unit 150 is further configured to notify the RLC control unit 110 of the updated receiving window information.
The SDU reassembly unit 160 reassembles the segmented data SDUs into one complete data SDU.
Further, if the data PDU received by the receive window unit 130 has a missing packet, the sliding window decision unit 150 parses the data SDU from the data PDU, or parses a segment of the data SDU from the data PDU according to the segment information in the header of the data PDU; the data SDU or a segment of the data SDU that can be parsed from the data PDU is then handed over to the SDU reassembly unit 160. How to meet the condition of forcibly updating the receiving window, the sliding window decision unit 150 forcibly updates the receiving window. Thereafter, if the reception window unit 130 receives the data PDU missed previously again. At this time, since the receiving window is updated, the receiving sequence number of the data PDU that was missed before must fall outside the new receiving window, and the receiving window unit 130 discards the PDU.
Referring to fig. 2, corresponding to the receiving side of the RLC entity in the AM mode shown in fig. 1, the present application further provides a method for receiving data by the RLC entity in the AM mode. The method comprises the following steps.
Step S210: data PDUs are received from the bottom layer. This is for example implemented by the routing unit 120 in the RLC entity in AM mode.
Step S220: and judging the received data PDU and the receiving window. If the received PDU's received sequence number is within the receive window, the PDU is buffered. If the received PDU's received sequence number is outside the receive window, the PDU is discarded. This is for example achieved by the receive window unit 130 in the RLC entity in AM mode.
Step S230: the buffered data PDUs (out of order) are arranged in ascending order of received sequence numbers. This is for example achieved by the reordering unit 140 in the RLC entity in AM mode.
Further, if the buffered data PDU is found to have a missing packet, a reordering timer is started to wait. If the timeout is not received, a status packet is sent to request the sender to retransmit.
Step S240: determine whether vr (r) is equal to vr (h)? If yes, it indicates that the currently received data PDU has no missing packet, and the process proceeds to step S290. If not, indicating that the currently received data PDU has a missing packet, and proceeding to step S250. This is for example implemented by the sliding window decision unit 150 in the RLC entity in AM mode.
Step S250: determine if vr (h) -vr (r) is greater than or equal to a constant a? If so, the process proceeds to step S260. If not, the process is exited, and the receiving is finished. This is for example implemented by the sliding window decision unit 150 in the RLC entity in AM mode.
In this step, as a variation, it is determined whether the condition "vr (h) -vr (r) is greater than or equal to the constant a" may be changed to "vr (h) -vr (r) is less than or equal to the constant a". In this case, the constant a is used to strictly limit the memory resources occupied by the receiving window.
Step S260: and calculating the current packet loss rate VR (LR) according to VR (R) and VR (H). This is for example implemented by the sliding window decision unit 150 in the RLC entity in AM mode.
Step S270: determine whether the current packet loss rate vr (lr) is greater than or equal to the packet loss rate threshold? If yes, the process is exited, and the receiving is finished. If not, the process proceeds to step S280. This is for example implemented by the sliding window decision unit 150 in the RLC entity in AM mode.
Step S280: packing the data PDU received from VR (R) to VR (H), delivering the parsed data SDU or the segment of the data SDU to the upper layer, and discarding all SDU or SDU segments which can not be parsed; and meanwhile, forcibly updating the receiving window, namely setting the new VR (R) to be the existing VR (H), and synchronously adjusting VR (MR), so that the lower edge and the upper edge of the receiving window are synchronously and upwards increased by VR (H) -VR (R) values. Subsequently, the process proceeds to step S295. This is for example implemented by the sliding window decision unit 150 in the RLC entity in AM mode.
Further, if the reordering timer is started in step S230, the reordering timer is turned off in this step.
Step S290: packaging the received data PDU, delivering the analyzed data SDU or the segments of the data SDU to an upper layer, and discarding all SDU or SDU segments which cannot be analyzed; and normally updating the receiving window, namely, if k data PDUs are continuously received from VR (R), increasing the k value synchronously upwards at the lower edge VR (R) and the upper edge VR (MR) of the receiving window.
Step S295: the segmented data SDUs are reassembled into one complete data SDU. This is for example achieved by the SDU reassembly unit 160 in the RLC entity in AM mode.
The receiving side of the RLC entity in the AM mode and the method for receiving data thereof enhance the implementation of the reordering function by the newly added operation of forcibly updating the receiving window, and have the following advantages.
First, memory consumption can be reduced. The receiving window needs to buffer the data volume of the complete window size, namely 512 SDUs or SDU segments, and the method and the device can pack in advance under the condition that the PDU has a missing packet, and do not need to wait for the packing after all the PDUs are received, so that the actually needed buffer value of the receiving window can be reduced. For example: if the constant a is 200, the actual buffer value required by the receiving window is reduced to 40%. The effect of reducing the memory consumption is different according to different values selected by the constant A, and the effect can be adjusted according to requirements. Further, the decision conditions involved in constant A may also be changed from VR (H) -VR (R) ≧ A to VR (H) -VR (R) ≦ A. In this case, the constant a is used to strictly limit the memory resources occupied by the receiving window.
Second, TCP flow control can be improved. TCP flow control depends on 2 conditions, one is packet loss rate and one is Round Trip Time (RTT). The existing method enforces the packet loss rate, but increases the RTT, and if the RTT is too large, TCP flow control is also caused. The method and the device control the time of waiting for the forced packet packing at most on the premise of ensuring that the TCP is not subjected to flow control through the constant A, can find a balance between the packet loss rate and the RTT, and improve the condition of TCP flow control.
Third, there is also a lower delay in transmitting real-time data. In the existing method, the packet loss rate is forcibly guaranteed to be 0, data can be cached in a receiving window for a long time, so that the real-time data delay is too high, and the timeliness of the data is possibly lost after the data reaches an application layer. According to the method and the device, a balance can be found between the packet loss rate and the delay time, the real-time data delay is reduced, and the pause phenomenon of the real-time service is improved.
The above are merely preferred embodiments of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (10)
1. A receiving side of RLC entity under AM mode is characterized by comprising RLC control unit, route unit, receiving window unit, reordering unit, sliding window decision unit and SDU recombination unit;
the RLC control unit is used for receiving RLC control PDU from the routing unit, receiving updated receiving window information from the sliding window judging unit and serving as a basis for reporting an RLC control packet;
the routing unit is used for receiving data PDU from the bottom layer and transmitting the data PDU to the receiving window unit, and is also used for receiving RLC control PDU from the bottom layer and transmitting the RLC control PDU to the RLC control unit;
the receiving window unit is used for judging the data PDU transmitted by the routing unit and the receiving window; the length of the receiving window is fixed, the lower edge of the receiving window is a variable VR (R), and the upper edge of the receiving window is a variable VR (MR); wherein vr (r) indicates that the receiving side has consecutively received the next reception sequence number next to the largest reception sequence number of the PDUs; VR (MR) is the sum of VR (R) and the fixed length of the receive window; if the received PDU's received sequence number is outside the receive window, discarding the PDU; if the received PDU's sequence number is in the receiving window, buffering the PDU and submitting it to the reordering unit;
the reordering unit is used for arranging the data PDU buffered by the receiving window unit according to the ascending order of the receiving sequence number;
the sliding window judging unit is used for packaging the sequenced data PDUs, handing the parsed data SDUs or segments of the data SDUs to an upper layer and discarding all SDUs or segments of the SDUs which cannot be parsed;
the sliding window decision unit is further configured to normally update the receiving window when vr (r) ═ vr (h); this means that when k data PDUs are consecutively received from vr (r), the k value is synchronously increased up by the lower edge vr (r) and the upper edge vr (mr) of the receiving window; wherein, vr (h) indicates that the receiving side has received the next reception sequence number next to the largest reception sequence number of the PDU;
the sliding window judging unit is further used for calculating the current packet loss rate VR (LR) when VR (R) ≠ VR (H) and VR (H) -VR (R) is not less than A; the constant a represents a threshold value in one decision condition for forcibly updating the reception window; if VR (LR) is less than the threshold value of the packet loss rate, the receiving window is forcibly updated; this means that the new VR (R) is set to the existing VR (H), and VR (MR) is synchronously adjusted, which increases the VR (H) -VR (R) value synchronously upwards for the lower edge and the upper edge of the receiving window; wherein, vr (lr) represents the current packet loss rate at the receiving side, and the calculation formula is as follows:
the sliding window judging unit is also used for informing the RLC control unit of the updated receiving window information;
the SDU reassembly unit reassembles the segmented data SDUs into one complete data SDU.
2. The receiving side of the RLC entity in AM mode according to claim 1, wherein if the PDU received by the receiving window unit has a missing packet, the sliding window decision unit parses the data SDU or the segment of the data SDU from the data PDU, and delivers the data SDU or the segment of the data SDU that can be parsed from the data PDU to the SDU reassembly unit; when the condition of forcibly updating the receiving window is met, the sliding window judging unit forcibly updates the receiving window; thereafter, if the receiving window unit receives the previously missed data PDU again, the PDU is discarded.
3. The receiving side of the RLC entity in the AM mode according to claim 1, wherein the constant a is set to be between 200 and 300; the smaller the value of the constant a is, the smaller the memory resource occupied by the receiving window is.
4. The receiving side of the RLC entity in AM mode of claim 1, wherein VR (H) -VR (R) ≧ A instead of VR (H) -VR (R) ≦ A.
5. The receiving side of the RLC entity in the AM mode according to claim 1, wherein the packet loss rate threshold is set to be greater than 0 and less than or equal to 5%.
6. A method for RLC entity receiving data under AM mode is characterized by comprising the following steps:
step S210: receiving a data PDU from the bottom layer;
step S220: judging the received data PDU and a receiving window; if the received PDU's sequence number is in the receiving window, buffering the PDU; if the received PDU's received sequence number is outside the receive window, discarding the PDU;
step S230: arranging the buffered data PDUs according to the ascending order of the received sequence numbers;
step S240: determining whether VR (R) is equal to VR (H); if yes, go to step S290; otherwise, entering step S250; wherein vr (r) indicates that the receiving side has consecutively received the next reception sequence number next to the largest reception sequence number of the PDUs; vr (h) indicates that the receiving side has received the next reception sequence number next to the largest reception sequence number of the PDU;
step S250: determining whether VR (H) -VR (R) is greater than or equal to a constant A; if yes, go to step S260; otherwise, the process is exited, and the receiving is finished;
step S260: calculating the current packet loss rate VR (LR) according to VR (R) and VR (H);
step S270: judging whether VR (LR) is larger than or equal to a packet loss rate threshold value; if yes, the process is exited, and the receiving is finished; otherwise, go to step S280;
step S280: packing the data PDU received from VR (R) to VR (H), delivering the parsed data SDU or the segment of the data SDU to the upper layer, and discarding all SDU or SDU segments which can not be parsed; meanwhile, forcibly updating the receiving window, namely setting the new VR (R) to be the existing VR (H), synchronously adjusting VR (MR), and enabling the lower edge and the upper edge of the receiving window to synchronously increase the VR (H) -VR (R) value upwards; VR (MR) is the sum of VR (R) and the fixed length of the receive window; subsequently, the process proceeds to step S295;
step S290: packaging the received data PDU, delivering the analyzed data SDU or the segments of the data SDU to an upper layer, and discarding all SDU or SDU segments which cannot be analyzed; normally updating the receiving window at the same time, namely, if k data PDUs are continuously received from VR (R), increasing k value synchronously upwards at the lower edge VR (R) and the upper edge VR (MR) of the receiving window;
step S295: the segmented data SDUs are reassembled into one complete data SDU.
7. The method of claim 6, wherein in step S230, if the buffered data PDU is found to have a missing packet, a reordering timer is started to wait; if the timeout is not received, a status packet is sent to request the sender to retransmit.
8. The method of claim 7, wherein if the reordering timer is started in the step S230, the reordering timer is turned off in the step S280.
9. The method of claim 6, wherein in step S250, if "VR (H) -VR (R) is greater than or equal to the constant A" is changed to "VR (H) -VR (R) is less than or equal to the constant A".
10. The method of claim 6, wherein the step S210 is implemented by a routing unit in the RLC entity in the AM mode;
the step S220 is implemented by a receiving window unit in the RLC entity in the AM mode;
the step S230 is implemented by a reordering unit in the RLC entity in the AM mode;
the steps S240 to S290 are implemented by a sliding window decision unit in the RLC entity in the AM mode;
said step S295 is implemented by an SDU reassembly unit in the RLC entity in AM mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005886.8A CN111132225B (en) | 2019-10-22 | 2019-10-22 | Receiving side of RLC entity in AM mode and method for receiving data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005886.8A CN111132225B (en) | 2019-10-22 | 2019-10-22 | Receiving side of RLC entity in AM mode and method for receiving data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111132225A CN111132225A (en) | 2020-05-08 |
CN111132225B true CN111132225B (en) | 2021-12-31 |
Family
ID=70495405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911005886.8A Active CN111132225B (en) | 2019-10-22 | 2019-10-22 | Receiving side of RLC entity in AM mode and method for receiving data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111132225B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113573357B (en) * | 2021-07-29 | 2024-07-16 | 锐迪科微电子科技(上海)有限公司 | Method, system, storage medium and terminal for receiving downlink data |
CN115515180B (en) * | 2022-08-29 | 2023-09-15 | 翱捷科技股份有限公司 | Method and device for updating NR RLC receiving window of AM mode |
CN118118134A (en) * | 2022-11-30 | 2024-05-31 | 维沃移动通信有限公司 | Data receiving method and device, network side equipment and terminal equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043302A (en) * | 2006-03-22 | 2007-09-26 | 华为技术有限公司 | Wireless network communication apparatus |
CN102868504A (en) * | 2012-08-24 | 2013-01-09 | 中兴通讯股份有限公司 | Method for sending status report and radio link control (RLC) receiving entity |
CN103856287A (en) * | 2012-12-03 | 2014-06-11 | 电信科学技术研究院 | Wireless communication data packet transmission method and device |
CN107659959A (en) * | 2016-07-25 | 2018-02-02 | 普天信息技术有限公司 | The method for receiving data mode is reported in a kind of private network wireless communication system |
CN107801200A (en) * | 2016-09-06 | 2018-03-13 | 中兴通讯股份有限公司 | The sending method and device of state report |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017194326A1 (en) * | 2016-05-13 | 2017-11-16 | Sony Corporation | Apparatuses and methods for using arq processes in a relay device |
-
2019
- 2019-10-22 CN CN201911005886.8A patent/CN111132225B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043302A (en) * | 2006-03-22 | 2007-09-26 | 华为技术有限公司 | Wireless network communication apparatus |
CN102868504A (en) * | 2012-08-24 | 2013-01-09 | 中兴通讯股份有限公司 | Method for sending status report and radio link control (RLC) receiving entity |
CN103856287A (en) * | 2012-12-03 | 2014-06-11 | 电信科学技术研究院 | Wireless communication data packet transmission method and device |
CN107659959A (en) * | 2016-07-25 | 2018-02-02 | 普天信息技术有限公司 | The method for receiving data mode is reported in a kind of private network wireless communication system |
CN107801200A (en) * | 2016-09-06 | 2018-03-13 | 中兴通讯股份有限公司 | The sending method and device of state report |
Non-Patent Citations (3)
Title |
---|
LTE协议栈RLC层ARQ机制的研究及分析;杨星宇,李小文,谢伟;《广东通信技术》;20100430;全文 * |
LTE系统中RLC层发送过程与接收过程的详细研究及测试;陈发堂,朱明;《广东通信技术》;20130228;全文 * |
R2-073901,Combined RLC ARQ text proposals;Nokia Corporation, Nokia Siemens Networks;《3GPP TSG-RAN WG2 Meeting #59bis》;20071002;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111132225A (en) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1876779B1 (en) | Congestion and delay handling in a packet data network | |
CN111132225B (en) | Receiving side of RLC entity in AM mode and method for receiving data | |
US8169909B2 (en) | Optimization of a transfer layer protocol connection | |
CN101931516B (en) | Quick-retransmission method and device in wireless chain control layer determination mode | |
US8111720B2 (en) | Method and apparatus to indicate maximum scheduling delay for jitter buffer implementations | |
RU2543996C2 (en) | Managing overload in communication network | |
US9686716B2 (en) | Introducing simple RLC functionality to Node B | |
CN102239666A (en) | Method and device for enabling indication of congestion in a telecommunications network | |
CN112352449B (en) | Congestion management in a wireless communication network | |
US11129048B2 (en) | Data transmission method, base station, and wireless communications device | |
EP1471695B1 (en) | Method for flow control in a communication system | |
US9900802B2 (en) | Data transmission method and apparatus, base station, and user equipment | |
Paul et al. | An AQM based congestion control for eNB RLC in 4G/LTE network | |
EP2040423A1 (en) | Improved utilization of data links | |
WO2013139165A1 (en) | Acknowledgement packet processing method, device and system | |
US9641447B2 (en) | Adaptive relative bitrate manager for TCP depending flow control | |
CN112995048A (en) | Blocking control and scheduling fusion method for data center network and terminal equipment | |
US9385931B1 (en) | Determining a reordering timer | |
US20240334244A1 (en) | RAN and UE Driven L4S Marking and Processing for Congestion Management in an O-RAN Based Network Architecture | |
US20240334243A1 (en) | RAN Driven L4S Marking and Processing for Congestion Management in an O-RAN Based Network Architecture | |
EP4440074A1 (en) | Ran and ue driven l4s marking and processing for congestion management in an o-ran based network architecture | |
JPWO2015186332A1 (en) | Transmission data amount control device, control system, control method, and control program | |
WO2017051860A1 (en) | Data communication device, method for controlling data communication, and program | |
JP2005057620A (en) | Transmission quality control method and its device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |