The present invention pertains to the field of packet-based data communications in a wireless network and in particular to a method and apparatus for reducing latencies in communications within the wireless network.
A radio access network (RAN) node in a Third Generation Partnership Project (3GPP) Fifth Generation (5G) system may be connected to a core network (CN) control plane entity through an interface known as N2 (or NG-C) and to a CN user plane entity through an interface known as N3 (or NG-U). The CN control plane entity is also connected to user equipment (UE) through an interface known as N1. In a 3GPP Long Term Evolution (LTE) system, similar interfaces exist.
A RAN node is also connected to a wireless device (WD) such as user equipment (UE) via an orthogonal frequency division multiplexed (OFDM) radio link interface, known as Uu, that comprises several entities associated with the radio link protocol stack: a physical layer (PHY) entity, a medium access control (MAC) entity, a radio link control (RLC) entity, a packet data convergence protocol (PDCP) entity, a service data adaptation protocol (SDAP) entity, and a radio resource control (RRC) entity.
The foregoing background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.
An object of embodiments of the present invention is to provide a method and apparatus for data segmentation and reassembly over multiple radio links in a wireless communication system. In embodiments herein, an RLC receiver is decomposed into two components: an RLC reassembly component, and two or more RLC reception components wherein each RLC reception component is associated with one of the radio links.
In accordance with a broad aspect, there is provided a method, for example for reconstructing a radio link control (RLC) service data unit (SDU) in a wireless network. The method includes receiving, by a RLC reassembly component, a first segment of the RLC SDU. The first segment may be forwarded by a first RLC reception component associated with a first radio link. The first segment includes one or more octets of the RLC SDU. For clarity, it is noted that the RLC SDU may have been segmented (e.g. divided) for transmission over multiple radio links of the wireless network, the multiple radio links in such embodiments include the first radio link. The method includes receiving, by the RLC reassembly component, a second segment of the RLC SDU. The second segment may be forwarded by a second RLC reception component associated with a second radio link (of multiple radio links) which is different from the first radio link. The second segment includes one or more of the octets of the RLC SDU. The octets of the RLC SDU included in the first and the octets of the RLC SDU included in the second segment are typically different, but possibly overlapping. The method includes outputting, by the RLC reassembly component, the reconstructed RLC SDU. The method may further include reconstructing the RLC SDU. The reconstructed RLC SDU is assembled based on at least the first segment and the second segment. The reconstructed RLC SDU is reconstructed so that it includes all octets of the RLC SDU. Providing the reconstructed RLC SDU may include generating the RLC SDU, outputting the RLC SDU to another internal part of a device, or transmitting the RLC SDU to an external device.
In accordance with the preceding broad aspect, the method further includes, when the reconstructed RLC SDU comprises all of the octets of the RLC SDU, forwarding the reconstructed RLC SDU to another entity in a wireless device or a radio access primary node in the wireless network configured to receive and handle the RLC SDU as a unit of data.
In accordance with any of the preceding aspects, the method includes receiving, by an RLC reception component associated with the first radio link (e.g. the first RLC reception component), the first segment of the RLC SDU; forwarding, by the RLC reception component, the first segment of the RLC SDU to the RLC reassembly component; and discarding, by the RLC reception component, the first segment of the RLC SDU.
In accordance with any of the preceding aspects, the first segment is received by the RLC reception component in response to an automatic repeat request (ARQ) transmitted by the RLC reception component.
In accordance with any of the preceding aspects, the method further includes sending, by the RLC reassembly component, a stop indication to at least one RLC reception component when the reconstructed RLC SDU comprises all of the octets of the RLC SDU, the stop indication associated with the RLC SDU.
In accordance with any of the preceding aspects, the method further includes starting, by the RLC reassembly component, a reassembly timer when the first segment of the RLC SDU is received and stopping the reassembly timer when the RLC reassembly component determines that the reconstructed RLC SDU comprises all of the octets of the RLC SDU.
In accordance with any of the preceding aspects, each of the first segment and the second segment comprise an end segment indication, and the method further includes determining when the reconstructed RLC SDU comprises all of the octets of the RLC SDU based on the end segment indication.
In accordance with any of the preceding aspects, the method further includes starting, by the RLC reassembly component, a reassembly timer when the first segment of the RLC SDU is received and discarding further received segments of the RLC SDU when the reassembly timer expires.
In accordance with any of the preceding aspects, a number of octets in the second segment of the RLC SDU is the same or different from a number of octets in the first segment of the RLC SDU.
In accordance with any of the preceding aspects, each of the first segment and the second segment comprise an indication of which octets of the RLC SDU are contained therein, and the method further includes reconstructing the RLC SDU based on the indication.
In accordance with a broad aspect, there is provided a radio access network (RAN) primary node (RPN) in a wireless network. The RPN may comprise a network interface. The RPN comprises a processor; and a non-transitory memory storing instructions that when executed by the processor cause the RPN to perform the following operations. The RPN receives a first segment of a radio link control (RLC) service data unit (SDU). The first segment may have been forwarded by a first RLC reception component associated with a first radio link. The first segment includes one or more octets of the RLC SDU. The RLC SDU may have been segmented for transmission across multiple radio links of the wireless network, the multiple radio links including the first radio link. The RPN also receives a second segment of the RLC SDU. The second segment includes one or more of the octets of the RLC SDU. The octets of the second segment may have been forwarded by a second RLC reception component associated with a second radio link of the multiple radio links. A number of octets of the RLC SDU in the second segment may be the same or different from a number of octets of the RLC SDU in the first segment. The RPN also outputs a reconstructed RLC SDU, the reconstructed RLC SDU being assembled based on at least the first segment and the second segment and including all octets of the RLC SDU.
In accordance with the preceding aspect, the RPN comprises a RAN node centralised unit (CU).
In accordance with any of the preceding aspects, the RPN comprises a master cell group (MCG) RAN node.
In accordance with any of the preceding aspects, the RPN is further configured, when the reconstructed RLC SDU comprises all of the octets of the RLC SDU, to forward the reconstructed RLC SDU to another entity in the RPN, or in the wireless network. The other entity may be configured to receive and handle the RLC SDU as a unit of data.
In accordance with any of the preceding aspects, each of the first segment and the second segment comprise an end segment indication, and the RPN is further configured to determine when the reconstructed RLC SDU comprises all of the octets of the RLC SDU based on the end segment indication.
In accordance with any of the preceding aspects, the RPN is further configured to transmit a stop indication associated with the RLC SDU to one or more RLC reception components, when the reconstructed RLC SDU comprises all of the octets of the RLC SDU.
In accordance with any of the preceding aspects, the RPN is further configured to start a reassembly timer when the first segment of the RLC SDU is received and to stop the reassembly timer when the RPN determines that the reconstructed RLC SDU comprises all of the octets of the RLC SDU.
In accordance with any of the preceding aspects, the RPN is further configured to start a reassembly timer when the first segment of the RLC SDU is received and to discard further segments of the RLC SDU (received from RLC reception components) when the RPN determines that the reassembly timer has expired.
In accordance with any of the preceding aspects, each of the first segment and the second segment comprise an indication of which octets of the RLC SDU are contained therein, the RPN further configured to reconstruct the RLC SDU based on the indication.
In accordance with a broad aspect, there is provided a system that comprises a first radio link control (RLC) reception component. The first RLC reception component is configured to wirelessly receive, over a first radio link, a first set of segments of a radio link control (RLC) service data unit (SDU). Each segment of the first set of segments includes one or more octets of the RLC SDU. The RLC SDU may be segmented for transmission across multiple radio links of a wireless network, and in such embodiments the multiple radio links include the first radio link. The first RLC reception component is configured to forward each segment of the first set of segments of the RLC SDU to an RLC reassembly component. The system further comprises a second RLC reception component. The second RLC reception component is configured to wirelessly receive a second set of segments of the RLC SDU. Each segment of the second set of segments may include one or more octets of the RLC SDU received over a second radio link of the multiple radio links. In such embodiments the second radio link is different from the first radio link. The second RLC reception component is further configured to forward each segment of the second set of segments of the RLC SDU to the RLC reassembly component. The system further comprises the RLC reassembly component. The RLC reassembly component is configured to receive the first set of segments of the RLC SDU; receive the second set of segments of the RLC SDU; and output a reconstructed RLC SDU. The reconstructed RLC SDU is assembled based on at least the first set of segments and the second set of segments, and may include all octets of the RLC SDU.
In accordance with the preceding aspect, the RLC reassembly component is located in a primary node of a radio access network (RAN), and each of the RLC reception components is located in a different respective secondary node of the RAN.
In accordance with any of the preceding aspects, the RLC reception component is configured to reliably receive the set of segments using an automatic repeat request (ARQ) protocol.
In accordance with any of the preceding aspects, the RLC reassembly component is further configured to send a stop indication associated with the RLC SDU to one or both of the first RLC reception component and the second RLC reception component when the reconstructed RLC SDU at the RLC reassembly component comprises all octets of the RLC SDU. In such embodiments, the first RLC reception component and the second RLC reception component are configured to stop reception operations for the RLC SDU upon receiving the stop indication.
In accordance with any of the preceding aspects, the first set of segments of the RLC SDU is associated with a first copy of the RLC SDU and the second set of segments of the RLC SDU is associated with a second copy of the RLC SDU.
In accordance with any of the preceding aspects, transmission of the first set of segments of the RLC SDU over the first radio link is performed independently of transmission of the second set of segments of the RLC SDU over the second radio link.
In accordance with any of the preceding aspects, a first segment from the first set of segments and a second segment from the second set of segments both include a same first one or more octets of the RLC SDU, and the RLC reassembly component is configured to reconstruct the RLC SDU by including, in the RLC SDU, either the first one or more octets from the first segment or the first one or more octets from the second segment.
Further features and advantages of the present invention will be apparent from the following detailed description, taken in combination with the appended drawings, in which:
Throughout the appended drawings, like features are identified by like reference numerals.
Embodiments of the present invention provide advantages by way of mechanisms for reducing latencies associated with the reliable transmission of data over multiple radio links. In particular, this disclosure describes a latency-reduction mechanism associated with the reconstruction of an error-free radio link control (RLC) service data unit (SDU) that has been segmented for transmission over two or more radio links.
As used herein, an RLC SDU comprises information received by an RLC transmitter entity from an upper layer protocol entity (such as a transmitting PDCP entity). The RLC SDU which comprise information is transmitted across a radio link, using a RLC protocol, to a RLC receiver entity for delivery to a corresponding upper layer protocol entity (such as a receiving PDCP entity). An RLC protocol data unit (PDU) comprises information transmitted from an RLC transmitter entity to a RLC receiver entity. In some instances, a RLC SDU may be transmitted across a radio link in a single RLC data PDU. In other instances, a RLC SDU may be divided into multiple segments by an RLC transmitter entity such that different RLC SDU segments are transmitted across a radio link in different RLC data PDUs; the RLC receiver entity reassembles the RLC SDU from the multiple RLC SDU segments (received in multiple RLC data PDUs) before delivering the reassembled RLC SDU to the upper layer protocol entity.
As used herein, the term “entity” or “component” may refer to a networked electronic device or portion thereof. The portion (e.g. referred to as entity or component) of an electronic device may include hardware, software, or both. The electronic device may be for example located in a core or access portion of a communication network. The electronic device may include a computer processor and memory or other electronic hardware and may include a non-transitory memory storing instructions that, when executed by the computer processor, cause the electronic device to perform operations associated with the entity or component. In some cases the electronic device may include electronic hardware that performs operations associated with a given entity or component. Different entities or components can be operatively coupled via wired, wireless or optical communication links. Multiple entities can be instantiated in the same physical hardware. In some cases, an entity or component (e.g. an entire networked electronic device) can be distributed across multiple hardware elements, for example in the case of virtualization or instantiation within a datacentre. In some cases, where explicitly stated or otherwise implied, different components can reside in different physical hardware, such as in the case of a PDCP component (an example of an entity) residing in a CU and an RLC component residing in a DU.
If a RLC SDU segment 260 is lost in transmission over the radio link (e.g. due to interference or due to an obstruction), the RLC reception entity 230 may request retransmission of the missing RLC SDU segment through an automatic repeat request (ARQ) 280. A reconstructed SDU 244 is only forwarded to the upper layer entity 254 by the RLC reception entity 230 if all RLC SDU segments have been received error-free.
A conventional RLC entity communicates with a peer RLC entity over a logical channel (LCH) 270 that may be configured by an upper layer control plane entity. An RLC entity in a WD may be configured by a RAN node using radio resource control (RRC) signalling. If an RLC LCH is configured for assured mode (AM) of operation, an RLC reception entity will attempt to recover missing RLC SDU segments through ARQ. If an RLC logical channel is configured for unassured mode (UM) of operation, an RLC reception entity will not attempt to recover missing RLC SDU segments. If an error-free RLC SDU cannot be reconstructed within a certain period of time, a partially received RLC SDU will be discarded and nothing is forwarded by the RLC reception entity.
In the conventional model 300 illustrated in
In the RAN, there is an upper layer PDCP receiver (Rx) entity 254 that is responsible for processing PDCP PDUs associated with a data radio bearer (DRB) or a signalling radio bearer (SRB). The PDCP receiver entity 254 is affiliated with multiple RLC receiver (Rx) entities and may be situated at a central location such as a RAN node CU 130. Each RLC Rx entity (e.g. 230A and 230B, generally referred to as RLC Rx entity 230 and collectively as RLC Rx entities 230) is responsible for uplink transmissions received over one of the radio links; an RLC Rx entity 230 may be situated at a location different from the PDCP entity 254 such as a RAN node DU 120.
Each RLC Rx entity 230 operates independently of the other RLC Rx entities and forwards an RLC SDU 244 (i.e. a PDCP PDU 274) to the PDCP Rx entity 254 once the RLC Rx entity 230 has completed reconstruction of a (possibly) segmented RLC SDU. The PDCP Rx entity 254 uses a sequence number associated with each PDCP PDU 274 to ignore replicated PDCP PDUs that it may receive.
If an RLC Rx entity 230 cannot reconstruct a complete error-free RLC SDU 244, nothing is forwarded to the PDCP Rx entity 254 by that RLC Rx entity.
Conventionally, each RLC Rx entity 230 attempts to independently reconstruct a complete error-free RLC SDU 244, possibly using ARQ to recover any lost RLC SDU segments 260. Therefore, processing of a PDCP PDU 274 by the PDCP Rx entity 254 is delayed until reconstruction of an error-free RLC SDU 244 has been completed by (at least) one of the RLC Rx entities 230.
If none of the RLC Rx entities 230 can reconstruct an error-free RLC SDU 244, then nothing is forwarded to the PDCP Rx entity 254 and all of the received RLC SDU segments 260 are discarded; this may occur even if a RLC SDU segment lost on one radio link was successfully received over a different radio link.
Embodiments of the present invention exploit the possibility that an RLC SDU segment lost when transmitted over one radio link may have been successfully received over another radio link. RLC SDU segments are used for reconstruction of a complete error-free RLC SDU regardless of which radio link was used to receive the segment. By reassembling RLC SDUs based on RLC SDU segments received over potentially multiple different radio links, performance indicators such as latency, spectral efficiency (due to reduced retransmissions) and packet loss rates can be potentially improved.
In embodiments herein, an RLC receiver (Rx) entity 230 is decomposed into two components: an RLC reassembly component, and two or more RLC reception components. As illustrated in
An RLC reassembly component 412 is associated with a radio bearer and, for a RAN RLC reassembly component, may be situated at a central location in a RAN primary node (RPN) 410 such as a RAN node centralized unit (CU). A RLC reassembly component 412 is responsible for reconstructing an error-free RLC SDU from RLC SDU segments forwarded by the RLC reception components 422; once an error-free RLC SDU has been reconstructed, the RLC SDU is forwarded to an upper layer entity, such as a PDCP Rx entity 254. More generally, the reconstructed RLC SDU can be forwarded to an entity in the wireless network configured to receive and handle (e.g. process or forward) the RLC SDU (or the corresponding PDCP PDU) as a unit of data. In this context, a unit of data refers to data which is processed or forwarded as a group and treated as a single entity for such processing or forwarding purposes, for example as in the case a packet or data unit.
The RLC reassembly component 412 may be co-located with one or more of the RLC reception components 422 or may be located in a different RAN node such as an RPN 410. As the RLC reassembly component 412 receives RLC SDU segments associated with the RLC SDU from the two or more RLC reception components 422, it attempts to assemble an error-free RLC SDU using the received RLC SDU segments. When the RLC reassembly component 412 completes assembly of an error-free RLC SDU, the reassembled RLC SDU is forwarded to an upper layer entity in the RAN (such as a PDCP receiver entity 254) for further processing.
Since it is possible that an RLC SDU segment that has been lost during transmission over one radio link has been successfully received over another radio link, reconstruction of the RLC SDU (e.g. assembly of an error-free RLC SDU) may not be impacted by delays normally associated with ARQ error recovery. Correctly received RLC SDU segments from different RLC reception components can be combined by the RLC reassembly component thus allowing one RLC reception component to provide RLC SDU segments that may not have been correctly received by other RLC reception components. As a consequence, latency associated with RLC SDU (i.e. PDCP PDU) reconstruction and forwarding can be reduced. Because RLC reception components forward RLC SDU segments as they are received rather than waiting for the entire RLC SDU to be successfully received, latency is further reduced. This leads to potential performance improvements as discussed above.
Each of the N RLC transmitting entities 426 may include an RLC segmentation component 528 (e.g. 528A and 528N, generally referred to as RLC segmentation component 528 and collectively as RLC segmentation components 528) and an RLC transmission (Tx) component 524 (e.g. 524A, 524B and 524N, generally referred to as RLC transmission component 524 and collectively as RLC transmission components 524). An RLC transmitter group 530 may include one or more RLC segmentation components 528. In one embodiment, one RLC segmentation component (e.g. 528A) may be associated with multiple RLC transmission components (e.g. 524A and 524B). In another embodiment, an RLC transmission component (e.g. 524N) may be associated with a dedicated RLC segmentation component (e.g. 528N). Each of the N RLC transmission components 524 is coupled over a Uu radio link to one of the N RLC reception components 422 through an RLC logical channel (LCH) dedicated for use by that transmitter-receiver pair. Each RLC reception component 422 can independently request retransmission of an RLC SDU segment by the corresponding RLC transmitting entity using ARQ 280.
In one embodiment, an ARQ is processed within the RLC transmitter group 530 by the RLC segmentation component 528 associated with the corresponding LCH and RLC transmission component 524. In another embodiment, an ARQ is processed by the RLC transmission component 524 associated with the corresponding LCH.
A similar RLC multi-link group (not shown) can be configured for transmission in the downlink direction corresponding to the decomposed RLC model 450 of
For uplink transmissions, within the RAN, an RLC reassembly component 412 may be situated within a RAN primary node (RPN) 410 such as a next generation RAN (NG-RAN) centralised unit (CU) or a RAN node serving a master cell group (MCG). Similarly, an RLC reception component may be situated within a RAN secondary node (RSN) 420 such as an NG-RAN distributed unit (DU) or a RAN node serving a secondary cell group (SCG). In some instances, multiple RLC reception components may be situated within the same RSN. In some instances, multiple RLC reassembly components may be situated within the same RPN or within different RPNs. In some instances, one or more RSNs may be collocated with an RPN. If an RSN is not collocated with its associated RPN, RLC data PDUs may be forwarded from the RSN to the RPN over a transport network layer (TNL) using a protocol such as F1.
A RLC data PDU 600 exchanged over a radio link between an RLC transmitting entity and an RLC reception component includes the following information elements:
segment offset (SO) 630 indicates the starting position of this segment relative to the first octet of the RLC SDU, where the first octet is at position zero. The SO field is not included in an RLC PDU if the SI field indicates that this is the first or the only segment of an RLC SDU.
In various embodiments, each RLC data PDU 600 can include an indication of which octets of the overall RLC SDU are contained in the segment included in the RLC data PDU 600. This indication can be provided in the form of the SN and SI, or the SN, SI and SO, for example. Embodiments of the present invention then further include reconstructing the RLC SDU to include all of its octets, based on the indications included in each of the RLC data PDUs 600.
In addition, the RLC reception component associated with each radio link operates independently when attempting to recover RLC SDU segments that have been lost in transmission over the radio link. If a logical channel has been configured for operation in an assured mode (AM), an RLC reception component will use ARQ to try to recover a lost RLC SDU segment even though (a portion of) the RLC SDU segment may have already been correctly received by an RLC reception component associated with a different radio link. An RLC reception component will, however, immediately forward RLC SDU segments to its RLC reassembly component as they are received.
Independence of the radio links also allows higher throughput radio links to be used in parallel with lower throughput links without coupling between RLC transmitter entities. For example, a radio link with a high signal to interference ratio (SIR) may be able to increase throughput by using a higher rate modulation and coding scheme (MCS) compared to a radio link experiencing lower SIR. This may also result in different sizes for segments used on the two radio links. The decision on MCS and segment size may be made independently by the different RLC transmitter entities without affecting operations at the corresponding RLC reception components or at the RLC reassembly component. The RLC reassembly component simply uses the first instance of a received octet for reconstruction of an RLC SDU, regardless of the radio link where the octet was received.
An SDU identifier (SID) is assigned to an RLC SDU by the RLC transmitter group before copies are created to ensure that the same SID appears in the SN field of each RLC data PDU associated with the RLC SDU regardless of the radio link used to convey the RLC data PDU, via an RLC reception component, to the RLC reassembly component. The SID must be unique across all RLC SDUs that are currently being processed within the RLC MLG. The SID may, for example, be based on a counter maintained by the RLC transmitter group or may be based on an identifier associated with an upper layer PDU; for example, the SID may be derived from the sequence number associated with a PDCP data PDU that is being conveyed across the Uu interface as an RLC SDU. A SID may be reused if an RLC SDU previously associated with that SID is no longer being processed due, for example, to successful completion of the RLC SDU reconstruction or to aborting of the RLC SDU reconstruction due to an unrecoverable radio link failure.
In the example of
During initial transmission over their respective radio links, RLC data PDUs 1.2 and 1.4 and RLC data PDU 2.2 are lost. Independently, each of the associated RLC reception components may use ARQ to recover the lost segments. Reconstruction of the RLC SDU by the RLC reassembly component would be delayed until an error-free RLC data PDU 1.2 or 2.2 is received by one of the RLC reception components, however reconstruction is not delayed waiting for recovery of lost RLC data PDU 1.4 since those octets had been successfully received in RLC data PDU 2.5.
A given octet may be received by the RLC reassembly component from different reception components at different times. As a result, the reconstructed RLC SDU 840 may be assembled from the following fragments:
The RLC reassembly component may be configured to identify available fragments and reconstruct an RLC SDU based on the available fragments. The RLC SDU can be reconstructed once all of the octets, equalling the RLC SDU length, are available at the RLC reassembly component. The availability of different octets can be determined based on the information provided in each of the received RLC data PDUs 600, such as SN, SI and SO information as illustrated for example in
If the RLC SDU can be transmitted in a single PHY transport block (TB), it is not necessary to segment the RLC SDU and the RLC SDU can be transmitted in a single RLC data PDU where the segment information (SI) indicates that the segment data (SD) contains the only segment of the RLC SDU. In this case, the RLC reassembly component can forward the first copy of the RLC SDU that it receives.
In some instances, different RLC data PDUs may be contemporaneously transmitted over different radio links of an MLG 510 to increase throughput or to provide load balancing. Selection of the radio link (and its associated RLC transmission component such as 524A and 524B) to be used for transmission of an RLC data PDU is performed by the RLC segmentation component (such as 528A). Several criteria may be used to determine which radio link should be selected for initial transmission of an RLC data PDU; for example:
If an RLC data PDU (i.e. an RLC SDU segment) is lost during transmission over a radio link, the associated RLC reception component 422 may perform ARQ to recover the lost segment. Within the RLC transmitter entity, ARQ 280 requests are handled by the RLC segmentation component 528 which may decide to retransmit the lost RLC SDU segment via the same radio link or via a different radio link. If necessary, the retransmitted RLC SDU segment may be re-segmented by the RLC segmentation component 528 and the resulting RLC data PDUs may be transmitted via the same or via different radio links.
Since the SDU identifier (SID) assigned to an RLC SDU by the RLC transmitter group must be unique across all RLC SDUs that are currently being processed within the RLC MLG, the RLC reassembly component in the RLC receiver entity is able to use the RLC SDU segments received via any of the RLC reception components to reassemble the RLC SDU.
In the example of
RLC data PDUs B.3 and B.4 are lost in transmission (860) and RLC reception component 422B sends an ARQ requesting retransmission of the lost RLC SDU segments. Due to poor signal conditions on radio link 2, the RLC segmentation component 528A selects RLC transmission component 524A for re-transmission of the lost RLC data PDUs over radio link 1. In addition, the RLC segmentation component 528A re-segments RLC data PDU B.3 into two RLC data PDUs B.3.1 and B.3.2 (870) for transmission over radio link 1. As a result, the RLC reassembly component 412 may reconstruct RLC SDU B from the following segments (880):
At operation 902, a RLC reception component receives an RLC data PDU 600 from a lower layer MAC entity. The MAC entity also identifies the logical channel (LCD) and the length (L) included in the MAC data PDU 700 associated with the RLC data PDU 600.
At operation 904, the RLC reception component determines whether, for the indicated LCID, the SID included in the SN 610 of the RLC data PDU 600 is associated with a RLC SDU that is currently being processed by the RLC reception component.
At operation 906, if there is no RLC SDU being processed that corresponds to the SID, the RLC reception component initialises a reception map indicating that none of the octets for the RLC SDU corresponding to the SID have been received. Optionally, the RLC reception component may also initialise an RLC reception timer associated with the RLC SDU corresponding to the SID.
At operation 908, the RLC reception component forwards the RLC data PDU 600 to the RLC reassembly component. After successful forwarding, the RLC data PDU segment data (SD) 640 may be discarded.
At operation 910, in the reception map associated with the RLC SDU corresponding to the SID, the RLC reception component indicates that L octets have been received starting at the offset indicated by SO 630 in the RLC data PDU 600.
At operation 912, the RLC reception component determines whether the LCID has been configured for assured mode (AM) of operation.
At operation 914, if the LCID has been configured for AM, the RLC reception component determines whether any octets are missing for the RLC SDU corresponding to the SID—e.g. whether there are any octets prior to the SO 630 that should have been received but have not been received.
At operation 916, if there are missing octets, the RLC reception component may send an ARQ to its peer RLC transmitting entity requesting retransmission of the missing octets for the indicated LCID and SID.
At operation 918, the RLC reception component determines, using the reception map, whether all octets associated with the RLC SDU corresponding to the SID have been received. The number of octets in the RLC SDU can be determined from an RLC data PDU where the segment information (SI) 620 indicates that this is the last or only segment associated with the RLC SDU.
At operation 920, if all octets associated with the RLC SDU corresponding to the SID have been received, the RLC reception component may stop the RLC reception timer associated with the RLC SDU corresponding to the SID if the timer was started in operation 906.
At operation 922, the RLC reception component determines whether the RLC reception timer associated with the RLC SDU corresponding to the SID has expired, if the timer was started in operation 906.
At operation 924, if the timer has not expired, the RLC reception component determines whether it has received a stop indication from the RLC reassembly component for the RLC SDU corresponding to the LCID and SID of this RLC SDU.
At operation 926, if all octets associated with the RLC SDU corresponding to the SID have been received, or if the RLC reception timer associated with the RLC SDU corresponding to the SID has expired, or if a stop indication corresponding to the RLC SDU corresponding to the SID has been received, the RLC reception component discards the reception map corresponding to the LCID and SID of this RLC SDU and the RLC reception component will generally stop reception operations for the RLC SDU corresponding to the SID.
At this point, the RLC reception component returns to operation 902 to await the arrival of the next RLC data PDU.
At operation 1002, an RLC reassembly component receives an RLC data PDU 600 from an RLC reception component and determines the associated logical channel identifier (LCID) and length (L). Within the RAN, this may be determined, for example, from TNL information provided by the RLC reception component or from the MAC data PDU 700 carrying the RLC data PDU. Within a WD, this may be determined directly from the MAC data PDU 700 carrying the RLC data PDU. The LCID may be used by the RLC reassembly component to identify the corresponding MLG 510.
At operation 1004, the RLC reassembly component determines whether the SID included in the SN 610 of the RLC data PDU 600 is associated with a RLC SDU that is currently being processed for the MLG 510 by the RLC reassembly component.
At operation 1006, if there is no RLC SDU being processed that corresponds to the SID, the RLC reassembly component initialises a reassembly map indicating that none of the octets for the RLC SDU corresponding to the SID have been assembled. The RLC reassembly component may also allocate an RLC reassembly buffer and initialise an RLC reassembly timer for the RLC SDU corresponding to the SID.
At operation 1008, the RLC reassembly component inserts the L octets of segment data (SD) 640 from the RLC data PDU 600 into the reassembly buffer corresponding to the SID starting at the offset indicated by SO 630. In some situations, one or more octets in the received RLC data PDU 600 may have already been inserted into the reassembly buffer due, for example, to the previous arrival of an RLC data PDU from another RLC reception component.
At operation 1010, in the reassembly map associated with the RLC SDU corresponding to the SID, the RLC reassembly component indicates that L octets have been assembled starting at the offset indicated by SO 630 in the RLC data PDU 600.
At operation 1012, the RLC reassembly component determines, using the reassembly map, whether all octets associated with the RLC SDU corresponding to the SID have been assembled. The number of octets in the RLC SDU can be determined from an RLC data PDU 600 where the segment information (SI) 620 indicates that this is the last or only segment associated with the RLC SDU.
At operation 1014, if all octets associated with the RLC SDU corresponding to the SID have been assembled, the RLC reassembly component forwards the reconstructed RLC SDU to an upper layer entity (e.g. a PDCP receiver entity) and stops the reassembly timer associated with the RLC SDU corresponding to the SID.
At operation 1016, the RLC reassembly component determines whether the RLC reassembly timer associated with the RLC SDU corresponding to the SID has expired.
At operation 1018, if all octets associated with the RLC SDU corresponding to the SID have been assembled, or if the RLC reassembly timer associated with the RLC SDU corresponding to the SID has expired, the RLC reassembly component may optionally send a stop indication corresponding to the LCID and SID of this RLC SDU to each of the RLC reception components in the MLG 510.
At operation 1020, if all octets associated with the RLC SDU corresponding to the SID have been assembled, or if the RLC reassembly timer associated with the RLC SDU corresponding to the SID has expired, the RLC reassembly component discards the reassembly map and releases the reassembly buffer corresponding to the LCID and SID of this RLC SDU. The RLC reassembly component will generally stop reassembly operations for the current RLC SDU corresponding to the SID.
At this point, the RLC reassembly component returns to operation 1002 to await the arrival of the next RLC data PDU.
At operation 1110, receiving, by an RLC reassembly component, a first segment of an RLC SDU, the first segment including one or more octets of the RLC SDU received over a first radio link, the RLC SDU being segmented for transmission across multiple radio links of a wireless network, the multiple radio links including the first radio link.
At operation 1120, receiving, by the RLC reassembly component 412, a second segment of the RLC SDU, the second segment including one or more octets of the RLC SDU received over a second radio link of the multiple radio links, a number of octets in the second segment being the same or different from a number of octets in the first segment.
At operation 1130, assembling, by the RLC reassembly component, a reconstructed RLC SDU using the first segment and the second segment.
According to various embodiments, a method in a wireless communication network for receiving segments of an RLC SDU may include the following. In a first operation, an RLC reception component associated with a first radio link receives a first segment of the RLC SDU. The first segment may be received by the RLC reception component in response to an automatic repeat request (ARQ) transmitted by the RLC reception component. In a second operation, the RLC reception component forwards the first segment of the RLC SDU to an RLC reassembly component. In a third operation, the RLC reception component discards the first segment of the RLC SDU. In a fourth operation a second RLC reception component associated with a second radio link receives a second segment of the RLC SDU, forwards the second segment of the RLC SDU to the RLC reassembly component, and discards the second segment of the RLC SDU. The second segment may include octets of the RLC SDU that are the same as octets of the first segment or that are different from octets of the first segment.
Potential advantages and benefits provided by the RLC multi-link segmentation and reassembly in the embodiments herein may be as follows. For definiteness, the below potential advantages are not necessarily present in all embodiments of the present invention.
The memory 1256 may comprise any type of non-transitory system memory, readable by the processor 1254, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or a combination thereof. In an embodiment, the memory 1256 may include more than one type of memory, such as ROM for use at boot-up, and DRAM for program and data storage for use while executing programs. The bus 1260 may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, or a video bus.
The ED 1252 may also include one or more network interfaces 1258, which may include at least one of a wired network interface and a wireless network interface. As illustrated in
The mass storage 1262 may comprise any type of non-transitory storage device configured to store data, programs and other information and to make the data, programs and other information accessible via the bus 1260. The mass storage 1262 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive or an optical disk drive. In some embodiments, mass storage 1262 may be remote to ED 1252 and accessible through use of a network interface such as interface 1258. In the illustrated embodiment, mass storage 1262 is distinct from memory 1256 where it is included and may generally perform storage tasks compatible with higher latency but may generally provide lesser or no volatility. In some embodiments, mass storage 1262 may be integrated with a heterogeneous memory 1256.
The optional video adapter 1264 and the I/O interface 1268 (shown in dashed outline) provide interface to couple the ED 1252 to external input and output devices. Examples of input and output devices include a display 1266 coupled to the video adapter 1264 and an I/O device 1270 such as a touch-screen coupled to the I/O interface 1268. Other devices may be coupled to the ED 1252, and additional or fewer interfaces may be utilized. For example, a serial interface such as a Universal Serial Bus (USB) (not shown) may be used to provide an interface for an external device. Those skilled in the art will appreciate that in embodiments in which ED 1252 is part of a data center, I/O interface 1268 and video adapter 1264 may be virtualized and provided through network interface 1258.
In some embodiments, ED 1252 may be a stand-alone device, while in other embodiments ED 1252 may be resident within a data center. A data center, as will be understood in the art, is a collection of computing resources (typically in the form of services) that can be used as a collective computing and storage resource. Within a data center, a plurality of services can be connected together to provide a computing resource pool upon which virtualized entities can be instantiated.
It should also be understood that any or all of the functions discussed above with respect to the NG-RAN 1312 may be virtualized within, for example, the resource pool of a network data center.
As a further example, a RSN in a wireless network may include a network interface, a radio link interface, a processor, and a non-transitory memory. The non-transitory memory may store instructions that when executed by the processor may cause the RSN to receive, using the radio link interface, a segment of a RLC SDU. The RLC SDU segment may include one or more octets of the RLC SDU and the RLC SDU may be segmented for transmission across the radio link. When the instructions stored in the non-transitory memory are executed by the processor, the RSN may forward, using the network interface, the segment of the RLC SDU and may subsequently discard the segment of the RLC SDU. The segment of the RLC SDU may be received by the RSN in response to an ARQ transmitted using a radio link interface. The RSN may comprise a RAN node DU or a SCG RAN node. The RSN may be configured to forward a segment of the RLC SDU to an RLC reassembly component that may receive RLC SDU information from more than one RSNs. The RSN may also be configured to receive plural segments of the RLC SDU and may forward each RLC SDU segment after successful reception of the RLC SDU segment independent of receiving other RLC SDU segments.
An example of a WD in a wireless network may include a radio link interface, a processor, and a non-transitory memory. The non-transitory memory may store instructions that when executed by the processor may cause the WD to receive, using a radio link interface, a first segment of a RLC SDU. The first RLC SDU segment may include one or more octets of the RLC SDU received over the first radio link. The RLC SDU may be segmented for transmission across multiple radio links of the wireless network. The multiple radio links may include the first radio link. The WD may receive, using the radio link interface, a second segment of the RLC SDU when the processor executes other instructions stored in the non-transitory memory. The second RLC SDU segment may include one or more octets of the RLC SDU received over a second (of multiple) radio links. The processor may also execute instructions stored in the non-transitory memory that may cause the WD to provide a reconstructed RLC SDU. The reconstructed RLC SDU may be assembled based on at least the first RLC SDU segment and the second RLC SDU segment.
An example RAN node in a wireless network may include a first network interface, a second network interface, a processor, and a non-transitory memory. The non-transitory memory may store instructions that when executed by the processor cause the RAN node to receive, using the first network interface, a segment of a RLC SDU. The first segment may include one or more octets of the RLC SDU received over a first radio link. The RLC SDU may be segmented for transmission across multiple radio links of the wireless network. The multiple radio links include the first radio link. Instructions stored in the non-transitory memory that are executed by the processor may cause the RAN node to receive, using the second network interface, a second segment of the RLC SDU. The second segment of the RLC SDU may include one or more octets of the RLC SDU received over a second radio link of the multiple radio links. Instructions stored in the non-transitory memory that are executed by the processor may cause the RAN node to assemble a reconstructed RLC SDU. The reconstructed RLC SDU may be assembled based on at least the first RLC SDU segment and the second RLC SDU segment.
Although various embodiments of the present invention are discussed in terms of increasing transmission reliability, it should be understood that such embodiments can additionally be implemented in order to increase spectral efficiency or decrease latency. This may be achieved by reducing or avoiding unnecessary retransmission of certain PDUs or portions thereof, which have been reliably received via other radio links.
Through the descriptions of the preceding embodiments, the present invention may be implemented by using hardware only or by using software and a necessary universal hardware platform. Based on such understandings, the technical solution of the present invention may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present invention. For example, such an execution may correspond to a simulation of the logical operations as described herein. The software product may additionally or alternatively include number of instructions that enable a computer device to execute operations for configuring or programming a digital logic apparatus in accordance with embodiments of the present invention.
Although the present invention has been described with reference to specific features and embodiments thereof, it is evident that various modifications and combinations can be made thereto without departing from the invention. The specification and drawings are, accordingly, to be regarded simply as an illustration of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention.
This application claims priority to U.S. Provisional Patent Application No. 62/871,013 entitled “Method and Apparatus for Data Segmentation and Reassembly over Multiple Wireless Links” filed Jul. 5, 2019, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62871013 | Jul 2019 | US |