Methods, apparatuses, and computer programs related to providing feedback for data units
Patent Information
- Application Number
- CN202580016400.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-21
- Filing Date
- 2025-02-13
- Publication Date
- 2026-09-18
Smart Images

Figure CN122785271A_ABST
Abstract
Description
Technical Field
[0001] Various exemplary embodiments of this disclosure relate to a method, apparatus, and computer program, and particularly, but not exclusively, to providing feedback for data units. Background Technology
[0002] The transmission of data units may involve using data unit numbers to track the receipt of data units at the receiving entity.
[0003] The receiving entity can use the data unit number to provide feedback to the transmitting entity about the progress of data unit transmission. Summary of the Invention
[0004] Some exemplary embodiments of this disclosure will be described with reference to certain aspects. These aspects are not intended to indicate key or essential features of embodiments of this disclosure, nor are they intended to limit its scope. Other features, aspects, and elements will be apparent to those skilled in the art based on this disclosure.
[0005] An apparatus includes components for: determining, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, not waiting to receive one or more data units having the one or more data unit number values; and sending a status report to the transmission entity, wherein the status report indicates that it is no longer waiting to receive one or more data units having the one or more data unit number values.
[0006] The apparatus may include components for advancing the receiving window past one or more data unit number values, for which it has been determined that no data unit will be received.
[0007] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0008] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0009] A timer can be started in response to a predetermined number of requests to retransmit data units.
[0010] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0011] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0012] The device may be an access node, and the transmission entity may be a user equipment.
[0013] The device may be a user equipment, and the transmission entity may be an access node.
[0014] An apparatus includes components for: receiving a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjusting the position of a transmission window based at least on the one or more first data unit number values in the status report.
[0015] One or more data units may be one or more first-layer data units carrying one or more second-layer data units, and the apparatus may include a component for delivering an indication from the first layer to the second layer, indicating that the receiving entity has not yet received one or more second-layer data units and is no longer waiting to receive one or more second-layer data units.
[0016] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0017] The device may be an access node, and the receiving entity may be a user equipment.
[0018] The device may be a user equipment, and the receiving entity may be an access node.
[0019] An apparatus includes components for: determining, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having one or more data unit number values have not yet been received from a transmission entity, not waiting to receive one or more data units having one or more data unit number values; sending a first-level status report to the transmission entity, wherein the status report at least distinguishes: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait to receive data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait to receive data units having data unit number values.
[0020] The apparatus may include a component for sending an indication of the location of a second-layer receive window to the transmission entity.
[0021] One or more data units within the second-level receive window have been received, and are indicated to be sent without a bitmap field showing the second-level data unit number value for one or more received data units.
[0022] The indication is included in a second-level status report, which indicates one or more second-level data unit number values for one or more second-level data units that have been received.
[0023] The instruction may be included in the header of the second-level data unit.
[0024] The transmission of the indication is periodically triggered relative to the advancement of the second-layer receiving window.
[0025] The first-level status report can indicate a range of first-level data unit number values and specify one or more data unit number values within the range for which it is waiting for data units; and wherein the remaining first-level data unit number values within the range are data unit number values for data units that have been received, or data unit number values for which it has not yet received data units and has determined that it is not waiting to receive data units.
[0026] The apparatus may include components for advancing the first-layer receiving window past one or more data cell number values for which it has determined it will not wait to receive data cells.
[0027] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0028] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0029] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0030] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0031] The first layer can be the radio link control layer.
[0032] The second layer can be the packet data aggregation protocol layer.
[0033] The device may be an access node, and the transmission entity may be a user equipment.
[0034] The device may be a user equipment, and the transmission entity may be an access node.
[0035] An apparatus includes components for: receiving a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait to receive data units with data unit number values; and adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0036] The apparatus may include components for: receiving an indication of the position of the second-layer receiving window from a receiving entity; and adjusting the position of the second-layer transmission window based on the indication.
[0037] The apparatus may include a first-layer entity and a second-layer entity, and the apparatus includes components for delivering inter-layer status reports from the first-layer entity to the second-layer entity based on the first-layer status report.
[0038] The apparatus may include a control plane entity; and the apparatus includes components for sending an instruction from the control plane entity to a second-layer entity indicating that inter-layer status reports are not differentiated: (a) a data cell number value as a data cell number value for a received data cell; and (b) a data cell number value for which no data cell has been received and which has been determined not to wait for receiving a data cell.
[0039] The first layer can be the radio link control layer.
[0040] The second layer can be the packet data aggregation protocol layer.
[0041] The device may be an access node, and the receiving entity may be a user equipment.
[0042] The device may be a user equipment, and the receiving entity may be an access node.
[0043] An apparatus includes components for: sending a status report to a transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0044] The apparatus may include components for advancing the receiving window past one or more data cell number values for which it has determined it will not wait to receive data cells.
[0045] In response to the data unit number value for a data unit satisfying one or more conditions, it is determined not to wait for the received unreceived data unit.
[0046] One or more conditions for the data unit number value of a data unit that has not been received include: the expiration of a timer associated with the data unit number value of the data unit that has not been received.
[0047] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0048] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0049] One or more conditions for the data unit number value of a data unit that has not been received include: receiving an indication from the transmission entity that it is not waiting for the data unit that has not been received.
[0050] The status report can be a radio link control layer status report.
[0051] The device may be an access node, and the transmission entity may be a user equipment.
[0052] The device may be a user equipment, and the transmission entity may be an access node.
[0053] An apparatus includes components for: receiving a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusting the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0054] The apparatus may include components for adjusting the position of the second-layer transmission window based at least in part on the first data unit number value and the second data unit number value in the first-layer status report.
[0055] The apparatus may include a first layer entity and a second layer entity, and the apparatus includes components for sending an inter-layer status report from the first layer entity to the second layer entity, the inter-layer status report indicating: one or more second layer data unit number values corresponding to one or more first data unit number values, and one or more second layer data unit number values corresponding to one or more second data unit number values.
[0056] The apparatus may include components for adjusting the position of the second-layer transmission window based on (a) one or more second-layer data unit number values corresponding to one or more first data unit number values, (b) one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, and one or more assumptions regarding the adjustment of the second-layer receiving window at the receiving entity.
[0057] Adjusting the second-layer transmission window based on one or more assumptions about the adjustment of the second-layer receive window at the receiving entity includes: in response to the expiration of one or more timers, advancing the second-layer transmission window past one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, wherein the one or more timers are started when a second-layer data unit having one or more second-layer data unit number values corresponding to one or more second-layer data unit number values is submitted to the first-layer entity.
[0058] The apparatus may include components for identifying one or more second-layer data units for retransmission using one or more second-layer data unit number values corresponding to one or more first data unit number values and one or more second-layer data unit number values corresponding to one or more second-layer data unit number values.
[0059] The apparatus may include a plurality of first-layer entities, and the apparatus includes components for: identifying one or more second-layer data units using one or more second-layer data unit number values corresponding to one or more first-layer data unit number values and one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, in order to send an inter-layer drop instruction from the second-layer entities to one or more of the plurality of first-layer entities for the one or more second-layer data units.
[0060] The status report can be a radio link control layer status report.
[0061] The second layer can be the packet data aggregation protocol layer.
[0062] The apparatus may include a control plane entity, and the apparatus includes components for: sending an instruction from the control plane entity to a second-layer entity, the instruction indicating that the inter-layer status report distinguishes (a) a data unit number value as a received data unit and (b) a data unit number value for which it has not yet received a data unit and has determined not to wait for receiving a data unit.
[0063] A method includes: in response to determining that one or more data unit number values satisfy one or more conditions, while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having the one or more data unit number values; and sending a status report to the transmission entity, wherein the status report indicates that it is no longer waiting to receive one or more data units having the one or more data unit number values.
[0064] The method may include advancing the receive window past one or more data unit number values, for which it has been determined that no data unit will be received.
[0065] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0066] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0067] A timer can be started in response to a predetermined number of requests to retransmit data units.
[0068] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0069] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0070] The method can be executed at the access node, and the transmission entity can be a user equipment.
[0071] The method can be executed at the user equipment, and the transmission entity can be an access node.
[0072] One method includes: receiving a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjusting the position of a transmission window based at least on the one or more first data unit number values in the status report.
[0073] One or more data units may be one or more first-layer data units carrying one or more second-layer data units, and the method may include: delivering an indication from the first layer to the second layer that indicates that the receiving entity has not yet received one or more second-layer data units and is no longer waiting to receive one or more second-layer data units.
[0074] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0075] The method can be executed at the access node, and the receiving entity can be a user equipment.
[0076] The method can be executed at the user equipment, and the receiving entity can be an access node.
[0077] A method includes: in response to determining that one or more data unit number values satisfy one or more conditions, while one or more data units having one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having one or more data unit number values; sending a first-layer status report to the transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0078] The method may include sending an indication of the location of the second-layer receive window to the transmission entity.
[0079] One or more data units within the second-level receive window have been received, and are indicated to be sent without a bitmap field showing the second-level data unit number value for one or more received data units.
[0080] The indication is included in a second-level status report, which indicates one or more second-level data unit number values for one or more second-level data units that have been received.
[0081] The instruction may be included in the header of the second-level data unit.
[0082] The transmission of the indication is periodically triggered relative to the advancement of the second-layer receiving window.
[0083] The first-level status report can indicate a range of first-level data unit number values and specify one or more data unit number values within the range for which it is waiting for data units; and wherein the remaining first-level data unit number values within the range are data unit number values for data units that have been received, or data unit number values for which it has not yet received data units and has determined that it is not waiting to receive data units.
[0084] The method may include advancing the first-layer receive window past one or more data cell number values for which it has determined it is not waiting to receive data cells.
[0085] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0086] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0087] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0088] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0089] The first layer can be the radio link control layer.
[0090] The second layer can be the packet data aggregation protocol layer.
[0091] The method can be executed at the access node, and the transmission entity can be a user equipment.
[0092] The device can be executed at the user equipment, and the transmission entity can be an access node.
[0093] A method includes: receiving a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait for receiving data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait for receiving data units with data unit number values; and adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0094] The method may include: receiving an indication of the position of the second-layer receiving window from the receiving entity; and adjusting the position of the second-layer transmission window based on the indication.
[0095] The method may include: delivering inter-layer status reports from a first-layer entity to a second-layer entity based on a first-layer status report.
[0096] The method may include a control plane entity; and the method may include sending an indication from the control plane entity to a second-layer entity indicating that the inter-layer status report does not distinguish between: (a) a data cell number value as a data cell number value for a received data cell; and (b) a data cell number value for which it has not yet received a data cell and has determined not to wait for receiving a data cell.
[0097] The first layer can be the radio link control layer.
[0098] The second layer can be the packet data aggregation protocol layer.
[0099] The method can be executed at the access node, and the receiving entity can be a user equipment.
[0100] The device can be executed at the user equipment, and the receiving entity can be an access node.
[0101] A method includes sending a status report to a transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0102] The method may include: advancing the receive window past one or more data cell number values for which it has determined it is not waiting to receive data cells.
[0103] In response to the data unit number value for a data unit satisfying one or more conditions, it is determined not to wait for the received unreceived data unit.
[0104] One or more conditions for the data unit number value of a data unit that has not been received include: the expiration of a timer associated with the data unit number value of the data unit that has not been received.
[0105] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0106] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0107] One or more conditions for the data unit number value of a data unit that has not been received include: receiving an indication from the transmission entity that it is not waiting for the data unit that has not been received.
[0108] The status report can be a radio link control layer status report.
[0109] The method can be executed at the access node, and the transmission entity can be a user equipment.
[0110] The method can be executed at the user equipment, and the transmission entity can be an access node.
[0111] A method includes: receiving a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusting the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0112] The method may include: adjusting the position of the second-layer transmission window based at least in part on the first data unit number value and the second data unit number value in the first-layer status report.
[0113] The method may include: sending an inter-layer status report from a first-layer entity to a second-layer entity, the inter-layer status report indicating: one or more second-layer data unit number values corresponding to one or more first data unit number values, and one or more second-layer data unit number values corresponding to one or more second data unit number values.
[0114] The method may include: adjusting the position of the second-layer transmission window based on (a) one or more second-layer data unit number values corresponding to one or more first data unit number values, (b) one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, and one or more assumptions regarding the adjustment of the second-layer receiving window at the receiving entity.
[0115] Adjusting the second-layer transmission window based on one or more assumptions about the adjustment of the second-layer receive window at the receiving entity includes: in response to the expiration of one or more timers, advancing the second-layer transmission window past one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, wherein the one or more timers are started when a second-layer data unit having one or more second-layer data unit number values corresponding to one or more second-layer data unit number values is submitted to the first-layer entity.
[0116] The method may include components for identifying one or more second-layer data units for retransmission using one or more second-layer data unit number values corresponding to one or more first data unit number values and one or more second-layer data unit number values corresponding to one or more second-layer data unit number values.
[0117] The method may include: using one or more second-layer data unit number values corresponding to one or more first data unit number values and one or more second-layer data unit number values corresponding to one or more second data unit number values to identify one or more second-layer data units, so as to send an inter-layer drop indication from a second-layer entity to one or more first-layer entities among a plurality of first-layer entities for the one or more second-layer data units.
[0118] The status report can be a radio link control layer status report.
[0119] The second layer can be the packet data aggregation protocol layer.
[0120] The method may include: sending an instruction from a control plane entity to a second-layer entity, the instruction indicating that the inter-layer status report distinguishes between (a) a data unit number value that is a data unit number value that has been received and (b) a data unit number value that has not yet received a data unit and has been determined not to wait for receiving a data unit.
[0121] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to: determine, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, not to wait for receiving one or more data units having the one or more data unit number values; and to send a status report to the transmission entity, wherein the status report indicates that it is no longer waiting for receiving one or more data units having the one or more data unit number values.
[0122] At least one memory and computer program code are configured, together with at least one processor, to cause the means to: advance a receiving window past one or more data unit number values, for which it has been determined that no data unit will be received.
[0123] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0124] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0125] A timer can be started in response to a predetermined number of requests to retransmit data units.
[0126] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0127] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0128] The device may be an access node, and the transmission entity may be a user equipment.
[0129] The device may be a user equipment, and the transmission entity may be an access node.
[0130] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to: receive a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjust the position of a transmission window based at least on the one or more first data unit number values of the status report.
[0131] One or more data units may be one or more first-layer data units carrying one or more second-layer data units, and the apparatus may include a component for delivering an indication from the first layer to the second layer, the indication indicating that the receiving entity has not yet received one or more second-layer data units and is no longer waiting to receive one or more second-layer data units.
[0132] One or more data units may be one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
[0133] The device may be an access node, and the receiving entity may be a user equipment.
[0134] The device may be a user equipment, and the receiving entity may be an access node.
[0135] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to perform: in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having one or more data unit number values; and sending a first-level status report to the transmission entity, wherein the status report at least distinguishes: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0136] At least one memory and computer program code are configured, together with at least one processor, to cause the device to send an indication of the location of the second-layer receiving window to the transmission entity.
[0137] One or more data units within the second-level receive window have been received, and are indicated to be sent without a bitmap field showing the second-level data unit number value for one or more received data units.
[0138] The indication is included in a second-level status report, which indicates one or more second-level data unit number values for one or more second-level data units that have been received.
[0139] The instruction may be included in the header of the second-level data unit.
[0140] The transmission of the indication is periodically triggered relative to the advancement of the second-layer receiving window.
[0141] The first-level status report can indicate a range of first-level data unit number values and specify one or more data unit number values within the range for which it is waiting for data units; and wherein the remaining first-level data unit number values within the range are data unit number values for data units that have been received, or data unit number values for which it has not yet received data units and has determined that it is not waiting to receive data units.
[0142] At least one memory and computer program code are configured, together with at least one processor, to cause the means to advance a first-layer receiving window past a component for one or more data cell number values for which it has determined that it is not waiting to receive data cells.
[0143] One or more conditions for the data cell number value of a data cell that has not been received may include: the expiration of a timer associated with the data cell number value of the data cell that has not been received.
[0144] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0145] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0146] One or more conditions for the data unit number value of a data unit that has not been received may include: receiving an indication from the transmission entity not to wait for the data unit that has not been received.
[0147] The first layer can be the radio link control layer.
[0148] The second layer can be the packet data aggregation protocol layer.
[0149] The device may be an access node, and the transmission entity may be a user equipment.
[0150] The device may be a user equipment, and the transmission entity may be an access node.
[0151] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to: receive a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for data units that have been received, or data unit number values for data units that have not yet been received and for which it has been determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for data units that have not yet been received at the receiving entity and for which it has not yet been determined not to wait to receive data units with data unit number values; and adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0152] At least one memory and computer program code are configured, together with at least one processor, to enable the device to: receive an indication of the position of a second-layer receiving window from a receiving entity; and adjust the position of the second-layer transmission window based on the indication.
[0153] The device may include a first-layer entity and a second-layer entity, and at least one memory and computer program code are configured, together with at least one processor, to enable the device to deliver inter-layer status reports from the first-layer entity to the second-layer entity based on the first-layer status report.
[0154] The apparatus may include a control plane entity; and at least one memory and computer program code are configured, together with at least one processor, to cause the apparatus to: send an instruction from the control plane entity to a second-layer entity indicating that the inter-layer status report does not distinguish between: (a) a data unit number value as a data unit number value for a received data unit; and (b) a data unit number value for which it has not yet received a data unit and has determined not to wait for receiving a data unit.
[0155] The first layer can be the radio link control layer.
[0156] The second layer can be the packet data aggregation protocol layer.
[0157] The device may be an access node, and the receiving entity may be a user equipment.
[0158] The device may be a user equipment, and the receiving entity may be an access node.
[0159] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to perform: sending a status report to a transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0160] At least one memory and computer program code are configured, together with at least one processor, to cause the means to advance a receiving window past one or more data cell number values for which it has determined that it is not waiting to receive data cells.
[0161] In response to the data unit number value for a data unit satisfying one or more conditions, it is determined not to wait for the received unreceived data unit.
[0162] One or more conditions for the data unit number value of a data unit that has not been received include: the expiration of a timer associated with the data unit number value of the data unit that has not been received.
[0163] In response to receiving a data unit with a higher data unit number value than a data unit with no received data unit, a timer associated with the data unit number value of the data unit with no received data unit is started.
[0164] A timer is started in response to the number of data retransmission requests reaching a predetermined number.
[0165] One or more conditions for the data unit number value of a data unit that has not been received include: receiving an indication from the transmission entity that it is not waiting for the data unit that has not been received.
[0166] The status report can be a radio link control layer status report.
[0167] The device may be an access node, and the transmission entity may be a user equipment.
[0168] The device may be a user equipment, and the transmission entity may be an access node.
[0169] An apparatus includes: at least one processor; and at least one memory including computer program code configured to, together with the at least one processor, cause the apparatus to: receive a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusts the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0170] At least one memory and computer program code are configured, together with at least one processor, to enable the device to: adjust the position of the second-layer transmission window based at least in part on the first data unit number value and the second data unit number value in the first-layer status report.
[0171] The apparatus may include a first-layer entity and a second-layer entity, and at least one memory and computer program code are configured, together with at least one processor, to cause the apparatus to: send an inter-layer status report from the first-layer entity to the second-layer entity, the inter-layer status report indicating: one or more second-layer data unit number values corresponding to one or more first data unit number values, and one or more second-layer data unit number values corresponding to one or more second data unit number values.
[0172] At least one memory and computer program code are configured, together with at least one processor, to cause the device to adjust the position of the second-layer transmission window based on (a) one or more second-layer data unit number values corresponding to one or more first data unit number values, (b) one or more second-layer data unit number values corresponding to one or more second data unit number values, and one or more assumptions regarding the adjustment of the second-layer receiving window at the receiving entity.
[0173] Adjusting the second-layer transmission window based on one or more assumptions about the adjustment of the second-layer receive window at the receiving entity includes: in response to the expiration of one or more timers, advancing the second-layer transmission window past one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, wherein the one or more timers are started when a second-layer data unit having one or more second-layer data unit number values corresponding to one or more second-layer data unit number values is submitted to the first-layer entity.
[0174] At least one memory and computer program code are configured, together with at least one processor, to enable the means to identify one or more second-level data units for retransmission using one or more second-level data unit number values corresponding to one or more first data unit number values and one or more second-level data unit number values corresponding to one or more second-level data unit number values.
[0175] The apparatus may include a plurality of first-layer entities, and at least one memory and computer program code are configured, together with at least one processor, to enable the apparatus to: identify one or more second-layer data units using one or more second-layer data unit number values corresponding to one or more first-layer data unit number values and one or more second-layer data unit number values corresponding to one or more second-layer data unit number values, in order to send an inter-layer drop instruction from the second-layer entities to one or more of the plurality of first-layer entities for the one or more second-layer data units.
[0176] The status report can be a radio link control layer status report.
[0177] The second layer can be the packet data aggregation protocol layer.
[0178] The apparatus may include a control plane entity, and at least one memory and computer program code are configured, together with at least one processor, to cause the apparatus to: send an instruction from the control plane entity to a second-layer entity, the instruction indicating that an inter-layer status report distinguishes (a) a data unit number value as a received data unit and (b) a data unit number value for which it has not yet received a data unit and has determined not to wait for receiving a data unit.
[0179] An apparatus includes: a determining circuit for determining, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, to determine not to wait to receive one or more data units having the one or more data unit number values; and a transmitting circuit for transmitting a status report to the transmission entity, wherein the status report indicates that it is no longer waiting to receive one or more data units having the one or more data unit number values.
[0180] An apparatus includes: a receiving circuit for receiving a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and an adjustment circuit for adjusting the position of a transmission window based at least on the one or more first data unit number values of the status report.
[0181] An apparatus includes: a determining circuit for determining, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having one or more data unit number values have not yet been received from a transmission entity, to determine not to wait for receiving one or more data units having one or more data unit number values; and a transmitting circuit for transmitting a first-layer status report to the transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0182] An apparatus includes: a receiving circuit for receiving a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait to receive data units with data unit number values; and an adjustment circuit for adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0183] An apparatus includes: a transmitting circuit for transmitting a status report to a transmitting entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0184] An apparatus includes: a receiving circuit for receiving a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and an adjustment circuit for adjusting the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0185] A computer-readable medium includes program instructions stored thereon for performing: in response to determining that one or more data unit number values satisfy one or more conditions, while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having the one or more data unit number values; and sending a status report to the transmission entity, wherein the status report indicates that it is no longer waiting for receiving one or more data units having the one or more data unit number values.
[0186] A computer-readable medium includes program instructions stored thereon for performing: receiving a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjusting the position of a transmission window based at least on the one or more first data unit number values of the status report.
[0187] A computer-readable medium includes program instructions stored thereon for performing: in response to determining that one or more data unit number values satisfy one or more conditions, while one or more data units having one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having one or more data unit number values; sending a first-level status report to the transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0188] A computer-readable medium includes program instructions stored thereon for performing: receiving a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait to receive data units with data unit number values; and adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0189] A computer-readable medium includes program instructions stored thereon for performing: sending a status report to a transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0190] A computer-readable medium includes program instructions stored thereon for performing: receiving a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusting the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0191] A non-transitory computer-readable medium includes program instructions stored thereon for performing: in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having the one or more data unit number values; and sending a status report to the transmission entity, wherein the status report indicates that it is no longer waiting for receiving one or more data units having the one or more data unit number values.
[0192] A non-transitory computer-readable medium includes program instructions stored thereon for performing: receiving a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjusting the position of a transmission window based at least on the one or more first data unit number values of the status report.
[0193] A non-transitory computer-readable medium includes program instructions stored thereon for performing: in response to determining that one or more data unit number values satisfy one or more conditions, while one or more data units having one or more data unit number values have not yet been received from a transmission entity, determining not to wait for receiving one or more data units having one or more data unit number values; sending a first-level status report to the transmission entity, wherein the status report at least distinguishes: (i) one or more data unit number values that are data unit number values of received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0194] A non-transitory computer-readable medium includes program instructions stored thereon for performing: receiving a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait to receive data units with data unit number values; and adjusting the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0195] A non-transitory computer-readable medium includes program instructions stored thereon for performing: sending a status report to a transmission entity, wherein the status report distinguishes at least: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0196] A non-transitory computer-readable medium includes program instructions stored thereon for performing: receiving a first-layer status report from a receiving entity, wherein the first-layer status report distinguishes at least: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusting the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report.
[0197] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause means to at least: determine, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having the one or more data unit number values have not yet been received from a transmission entity, not to wait for receiving one or more data units having the one or more data unit number values; and send a status report to the transmission entity, wherein the status report indicates that it is no longer waiting for receiving one or more data units having the one or more data unit number values.
[0198] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause a device to at least: receive a status report from a receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, for which the receiving entity has not yet received one or more data units; and adjust the position of a transmission window based at least on the one or more first data unit number values of the status report.
[0199] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause a means to at least: determine, in response to determining that one or more data unit number values satisfy one or more conditions while one or more data units having one or more data unit number values have not yet been received from a transmission entity, not to wait for receiving one or more data units having one or more data unit number values; and send a first-level status report to the transmission entity, wherein the status report at least distinguishes: (i) one or more data unit number values that are data unit number values for received data units, or data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values; and (ii) one or more data unit number values for which it has not yet received data units and has determined not to wait for receiving data units having data unit number values.
[0200] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause a device to at least: receive a first-layer status report from a receiving entity, the first-layer status report distinguishing at least: (i) one or more first data unit number values, which are data unit number values for received data units, or data unit number values for data units for which it has not yet received data units and has determined not to wait to receive data units with data unit number values; and (ii) one or more second data unit number values for which it has not yet received data units at the receiving entity and has determined not to wait to receive data units with data unit number values; and adjust the position of a first-layer transmission window based on one or more first data unit number values in the first-layer status report.
[0201] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause a means to at least: send a status report to a transmission entity, wherein the status report at least distinguishes: (i) one or more data unit number values for data units that it has received; and (ii) one or more data unit number values for data units that it has not yet received and has determined not to wait to receive data units having data unit number values.
[0202] A computer program includes computer-executable code that, when executed on at least one processor, is configured to cause a device to at least: receive a first-layer status report from a receiving entity, wherein the first-layer status report at least distinguishes: (i) one or more first data unit number values for which it has already received data units at the receiving entity; and (ii) one or more second data unit number values for which it has not yet received data units and has determined not to wait for receiving data units; and adjusts the position of a first-layer transmission window based at least in part on the first data unit number values and second data unit number values in the first-layer status report. Attached Figure Description
[0203] Some exemplary embodiments will now be described by way of non-limiting and illustrative example only, with reference to the accompanying drawings, in which: Figure 1 An example representation of a communication system is shown; Figure 2 A representation of an example of a device for implementing one or more network functions of a communication system is shown; Figure 3 An example representation of a user equipment according to some example embodiments is shown; Figure 4 The illustration shows representations of examples of operations at the receiving entity and the transmitting entity according to some example embodiments; Figure 5 The illustration shows representations of examples of operations at the receiving entity and the transmitting entity according to some example embodiments; Figure 6 The illustration shows representations of examples of operations at the receiving entity and the transmitting entity according to some example embodiments; Figure 7 Representations of the receive window and the transmit window according to some example embodiments are shown; and Figure 8 An example of a signaling flow for establishing a bearer context at an access node is shown, according to some example embodiments. Detailed Implementation
[0204] In the following text, various example embodiments are illustrated using user equipment operating according to the 3GPP fifth generation (5G) communication protocol as an example, but these example embodiments may also be applied to user equipment operating according to other communication protocols.
[0205] Figure 1 A schematic diagram of a fifth-generation communication system (5GS) is shown. 5GS may include user equipment (UE), an access network such as a 5G radio access network (5G-RAN) or a next-generation radio access network (NG-RAN), a 5G core network (5GC), and one or more application functions. Application functions may be deployed as trusted application functions within the 5GS, or they may be deployed or hosted on one or more application servers in the data network; such application functions are untrusted application functions. 5GS connects the UE to the data network via the access network and the 5GC (e.g., the 5GC's UPF).
[0206] 5G-RAN may include one or more radio access nodes, such as gNodeBs (GNBs). A gNB may include one or more gNodeB (GNB) distributed units (gNB-DUs) connected to the gNodeB centralized cell control plane and user plane entities (gNB-CU-CP and gNB-CU-UP). The interface between the gNB-CU-CP entity and the gNB-CU-UP entity is called the E1 interface. The interface between the gNB-CU-CP entity and (multiple) gNB-DUs is called the F1-C interface. The interface between the gNB-CU-UP entity and (multiple) gNB-DUs is called the F1-U interface.
[0207] 5GC can include the following network functions: Network Slice Selection Function (NSSF); Network Open Function; Network Repository Function (NRF); Policy Control Function (PCF); Unified Data Management (UDM); Application Function (AF); Authentication Server Function (AUSF); Access and Mobility Management Function (AMF); Session Management Function (SMF); and User Plane Function (UPF). Figure 1It also shows the various interfaces (N1, N2, etc.) that can be implemented between the various elements of the system.
[0208] Figure 2 A functional example for implementing a radio access network is shown (e.g., Figure 1 An example of a control device 200 (of one or more gNB entities in the network). The control device 200 may include at least one random access memory (RAM) 211a, at least one read-only memory (ROM) 211b, at least one processor 212, 213, and an input / output network interface 214. At least one processor 212, 213 may be coupled to RAM 211a and ROM 211b. At least one processor 212, 213 may be configured to execute appropriate software code 215. Executing software code 215 may, for example, cause the device to perform one or more operations for implementing one or more aspects of this disclosure of an access network functional instance. Software code 215 may be stored in ROM 211b. The control device 200 may interconnect with another control device 200 to implement one or more instances of other functions of the access network or core network.
[0209] Figure 3 An example of a communication device 300 is shown, for example Figure 1 The user equipment (UE) shown and mentioned in the example embodiments described below. Communication device 300 can be provided by any device capable of transmitting and receiving radio signals. Non-limiting examples of communication device 300 include: user equipment; mobile station (MS) or mobile device, such as a mobile phone or so-called "smartphone"; computer equipped with a wireless interface card or other wireless interface facility (e.g., a USB adapter); personal digital assistant (PDA) or tablet device with wireless communication capabilities; machine-type communication (MTC) device; Internet of Things (IoT) communication device; or any combination of these devices. Communication device 300 may include a transceiver for transmitting and / or receiving wireless signals carrying communications (e.g., radio signals). Communications may include one or more of voice, email, text messages, multimedia data, machine data, etc.
[0210] Communication device 300 can receive wireless signals (e.g., radio signals) via air or radio interface 307 through suitable means for receiving, and can transmit wireless signals via suitable means for transmitting radio signals. Figure 3 In this diagram, the transceiver is schematically designated by block 306. Transceiver 306 may include, for example, radio components and an associated antenna arrangement. The antenna arrangement may be located inside or outside the mobile device and may include one or more antenna elements. The antenna arrangement may be a multiple-input multiple-output (MIMO) antenna.
[0211] Communication device 300 may include at least one processor 301, at least one ROM 302a, at least one RAM 302b, and other possible components 303 for performing its design tasks in a software and hardware-assisted manner, including controlling access to the network (e.g., Figure 1 Access and communication with 5G-RAN (or NG-RAN) and other communication devices, as shown. At least one processor 301 is coupled to RAM 302b and ROM 302a and can be configured to execute appropriate software code 308. The software code 308, for example, can cause the communication device to perform one or more operations and can be stored in ROM 302a.
[0212] The processor, ROM, RAM, transceiver, and other circuitry (e.g., modems) of the communication device can be located on a circuit board, in a chipset, or in a system-on-a-chip. The circuit board, chipset, or system-on-a-chip is indicated by reference numeral 304. The communication device 300 may optionally have a user interface, such as a keypad 305, a touch-sensitive screen or touchpad, or combinations thereof. Depending on the type of communication device, one or more of a display, speaker, and microphone may also be optionally provided.
[0213] It should be understood that the above references to various network functions (e.g., AMF, SMF, etc.) may include means for performing at least some of the functions associated with those network functions. Furthermore, means including a network function may include a virtual network function instance of that network function.
[0214] It should be understood that the device may include or be coupled to other units or modules, such as a radio section or radio head, for transmission and / or reception. Although the device has been described as a single entity, different modules and memories may be implemented in one or more physical or logical entities.
[0215] Figure 4 Examples of operation at the receiving and transmitting entities are illustrated according to some example embodiments. For the example of uplink transmission, the receiving (RX) entity may be a gNB; and the transmitting (TX) entity may be a user equipment (UE). As described above, the gNB may include a set of entities, such as gNB-DU, gNB-CU-CP, and gNB-CU-UP. For the example of downlink transmission, the RX entity may be a UE, and the TX entity may be a gNB. As described above, the gNB may include a set of entities, such as gNB-DU, gNB-CU-CP, and gNB-CU-UP.
[0216] The RX entity receives data units transmitted by the TX entity. Each data unit has a corresponding data unit number value (hereinafter referred to as DU#). Taking RLC as an example, the data unit number value can be called a sequence number value, which the RX entity uses to monitor the reception of data units and provide feedback to the TX entity. Unless otherwise explicitly stated, receiving a data unit means correctly receiving a data unit (receiving a data unit without errors).
[0217] As an example, a data unit is a lower-level data unit that has a corresponding lower-level DU# and carries an upper-level data unit with a corresponding upper-level DU#. Taking PDCP as an example, the upper-level data unit number value can be called a COUNT value. Only the least significant bit in the PDCP COUNT value (called the PDCP sequence number (SN)) can be indicated as part of a PDCP data unit. As an example, a data unit is a Radio Link Control (RLC) data unit that has a corresponding RLC sequence number value # and carries a Packet Data Convergence Protocol (PDCP) data unit with a corresponding PDCP COUNT value.
[0218] The TX entity maintains one or more TX windows, used to indicate the highest DU# of data units that the TX entity can continue transmitting. (See reference...) Figure 7 The top edge of the TX window (i.e., the highest DU# of data units that the TX entity can continue to transmit) is defined by the bottom edge of the TX window and the window size. The TX entity adjusts the TX window based on feedback from the RX entity.
[0219] Similarly, an RX entity maintains one or more RX windows to indicate the DU# range of data units whose payloads can be delivered to the upper layer. (See also...) Figure 7 The top edge of the RX window is defined by the bottom edge of the RX window and the window size. The RX entity continuously adjusts the RX window while receiving data units, and sends feedback to the transmission entity.
[0220] Feedback provided by the RX entity to the TX entity can take the form of a status report. Taking the RLC data unit as an example, the status report can be called an RLC status protocol data unit (PDU).
[0221] Reference Figure 4 In response to one or more DU#s satisfying one or more conditions, the RX entity determines that it will not wait to receive one or more unreceived data units with corresponding one or more DU#s (Operation 400).
[0222] For example, one or more conditions for making a "no wait" determination for DU#n may include: a timer associated with DU#n expiring. According to one example, the timer may be started in response to receiving a data unit with DU# higher than DU#n. According to another example, the timer may be started in response to a predetermined number of requests to retransmit data units with DU#n.
[0223] According to another example, one or more conditions for making a "no wait" determination for DU#n may include receiving a "no wait" indication for DU#n from the transport entity.
[0224] The RX entity sends a status report to the TX entity, indicating that the RX entity is no longer waiting to receive one or more unreceived data units for which it has made a "no waiting" determination (operation 402). An example implementation of this status report will be discussed further below.
[0225] The TX entity adjusts the position of at least one TX window based on the status report received from the RX entity (Operation 404).
[0226] Operations at the RX entity may include: adjusting the position of the RX window based at least in part on a "no wait" determination made for one or more DU#s.
[0227] Figure 5 This document illustrates operational examples of a transmission entity transmitting data units and a receiving entity receiving data units, according to some example embodiments. Both the RX and TX entities include an upper-layer entity and a lower-layer entity. The upper-layer and lower-layer entities may or may not be co-located. For the user equipment example, both the upper-layer and lower-layer entities are part of the user equipment. For the gNB example, the upper-layer entity may be gNB-CU-UP, and the lower-layer entity may be gNB-DU. gNB-CU-UP and gNB-DU may or may not be co-located. For the UE example, both the upper-layer and lower-layer entities are part of the UE.
[0228] The RX entity receives data units transmitted by the TX entity. Each data unit has a corresponding data unit number value (hereinafter referred to as DU#), which the RX entity uses to monitor data unit reception and provide feedback to the TX entity. Unless otherwise explicitly stated, receiving a data unit means receiving a data unit without errors. For example, in RLC, the data unit number value can be referred to as the sequence number value.
[0229] As an example, a data unit is a lower-layer data unit that has a corresponding lower-layer DU# and carries an upper-layer data unit with a corresponding upper-layer DU#. Taking Packet Data Convergence Protocol (PDCP) as an example, the upper-layer data unit number value can be referred to as the COUNT value. As an example, a data unit is a Radio Link Control (RLC) data unit that has a corresponding RLC sequence number value and carries a PDCP unit with a corresponding PDCP COUNT value.
[0230] In one example, the lower layer is RLC and the upper layer is PDCP.
[0231] In response to one or more DU#s satisfying one or more conditions, the RX lower-level entity determines that it will not wait to receive one or more unreceived lower-level data units with corresponding one or more DU#s (Operation 500).
[0232] For example, one or more conditions for making a "no wait" determination for DU#n may include the expiration of a timer associated with DU#n. According to one example, the timer may be started in response to receiving a data unit with DU# higher than DU#n. According to another example, the timer may be started in response to a predetermined number of requests to send retransmissions of data units with DU#n.
[0233] According to another example, one or more conditions for making a "no wait" determination for DU#n may include receiving a "no wait" indication for DU#n from the transport entity.
[0234] The RX lower-level entity sends a lower-level status report (operation 502) to the TX peer entity (TX lower-level entity). This lower-level status report distinguishes between: (i) one or more first lower-level DU#s that have received lower-level data units or have not yet received lower-level data units but have determined not to wait for receiving lower-level data units; and (ii) one or more second lower-level DU#s for which lower-level data units have not yet been received and for which it has not yet been determined not to wait for receiving lower-level data units. This lower-level status report does not distinguish between (a) one or more DU#s that have received lower-level data units and (b) one or more DU#s that have not yet received lower-level data units but have determined not to wait for receiving lower-level data units.
[0235] According to one example, the status report indicates the range of DU#s that provide feedback for its status report, and indicates each DU# within that range that provides a negative acknowledgment to its RX lower-level entity (hereinafter referred to as a NACK DU#). Therefore, all other DU#s within that range (i.e., all DU#s within that range that are not indicated as NACK DU#s) are implicitly indicated as DU#s that do not wait to receive data units for their RX lower-level entity (referred to as ACK DU#s in this example).
[0236] The TX lower-level entity adjusts the position of the lower-level TX window based on the status report (Operation 504). The adjustment of the lower-level TX window is based on implicit ACK DU#, whether these DU# are DU# of received data units or DU# of which the RX lower-level entity has determined not to wait for received data units; as mentioned above, the lower-level status report does not indicate this distinction.
[0237] The RX upper-layer entity sends a position indication of the upper-layer RX window to the TX peer entity (TX upper-layer entity) (operation 506). This position indication can be a DU# that defines the lower edge of the upper-layer RX window. Taking PDCP as an example, the position indication can include the value of a state variable (e.g., the state variable RX_DELIV), which stores the COUNT value of the first PDCP DU that has not yet been delivered to the upper layer but is still waiting. The TX upper-layer entity adjusts the position of the upper-layer TX window based on this indication.
[0238] According to one example, even if a higher-level DU with a COUNT value greater than RX_DELIV has been received, the position indication of the higher-level RX window can be sent without any bitmap fields.
[0239] As an example, the DU# indicator defining the lower edge of the upper-layer RX window is included in the upper-layer status report, which indicates the reception status of one or more upper-layer DU# received by the upper-layer RX entity via the lower-layer RX entity. The DU# indicator defining the lower edge of the upper-layer window can be incorporated into the header of the upper-layer data unit.
[0240] According to one example, the forward movement of the upper-layer entity of the RX relative to the upper-layer receive window periodically triggers the transmission of the window position indication.
[0241] Operations at the lower RX entity may include: adjusting the position of the lower RX window based at least in part on a "no wait" determination made for one or more DU#.
[0242] As discussed further below, according to an example, the TX upper-layer entity (e.g., the PDCP entity at gNB CU-UP) receives a control message from the TX control plane entity (e.g., gNB CU-CP). This control message instructs the RX lower-layer entity and the TX lower-layer entity to be configured not to distinguish between lower-layer DU#s that have received data units and lower-layer DU#s that have not yet received data units but have determined not to wait for data units in their lower-layer status reports. The control message instructs the TX upper-layer user plane entity to adjust the upper-layer TX window based on the position indication of the upper-layer RX window.
[0243] Figure 6Another operational example is illustrated, showing a transmission entity transmitting data units and a receiving entity receiving data units according to some example embodiments. Both the RX and TX entities include an upper-layer entity and a lower-layer entity. The upper-layer and lower-layer entities may or may not be co-located. For the user equipment example, both the upper-layer and lower-layer entities are part of the user equipment. For the gNB example, the upper-layer entity may be gNB-CU, and the lower-layer entity may be gNB-DU; gNB-CU and gNB-DU may or may not be co-located. For the UE example, both the upper-layer and lower-layer entities are part of the UE.
[0244] In one example, the lower layer is RLC and the upper layer is PDCP.
[0245] The RX entity receives data units transmitted by the TX entity. Each data unit has a corresponding data unit number value (hereinafter referred to as DU#), which the RX entity uses to monitor data unit reception and provide feedback to the TX entity. Unless otherwise explicitly stated, receiving a data unit means receiving a data unit without errors. For example, in RLC, the data unit number value can be referred to as the sequence number value.
[0246] As an example, a data unit is a lower-level data unit that has a corresponding lower-level DU# and carries an upper-level data unit with a corresponding upper-level DU#. Taking PDCP as an example, the upper-level data unit number value can be referred to as the COUNT value. As an example, a lower-level data unit is a Radio Link Control (RLC) data unit that has a corresponding RLC sequence number value and carries a PDCP data unit with a corresponding PDCP COUNT value.
[0247] In response to one or more DU#s satisfying one or more conditions, the RX lower-level entity determines that it will not wait to receive one or more unreceived lower-level data units with corresponding one or more DU#s (Operation 600).
[0248] For example, one or more conditions for making a "no wait" determination for DU#n may include the expiration of a timer associated with DU#n. According to one example, the timer for DU#n may be started in response to receiving a data unit with DU# higher than DU#n. According to another example, the timer for DU#n may be started in response to a predetermined number of requests to retransmit data units with DU#n.
[0249] According to another example, one or more conditions for making a "no wait" determination for DU#n may include receiving a "no wait" indication for DU#n from the transport entity.
[0250] The RX lower-level entity sends a lower-level status report (operation 602) to the TX peer entity (TX lower-level entity). The lower-level status report distinguishes at least: (i) one or more first lower-level DU#s that have received lower-level data units; and (ii) DU#s that have not yet received lower-level data units and have determined not to wait to receive lower-level data units.
[0251] According to one example, the status report indicates the range of DU#s for which feedback is provided, and indicates each DU# within that range that the RX lower-level entity has not yet received a data unit and has determined not to wait for receiving a data unit (hereinafter referred to as a forgotten DU#). According to this example, the status report may also indicate each DU# within that range that the RX lower-level entity has not yet received a data unit and has provided a negative acknowledgment (hereinafter referred to as a NACK DU#). All other DU#s within that range (e.g., all DU#s within that range that are not indicated as forgotten DU#s or NACK DU#s) are implicitly indicated as DU#s for which the RX lower-level entity has received a data unit (referred to as ACK DU#s in this example).
[0252] The lower-level entity TX sends an inter-layer status report to the upper-level entity TX (Operation 604). The inter-layer status report indicates: (a) one or more upper-level DU#s carried by one or more forgotten DU#s indicated by the lower-level status report (e.g., the COUNT value in the PDCP example); and (b) one or more upper-level DU#s carried by one or more lower-level ACK DU#s.
[0253] The lower-level TX entity adjusts the position of the lower-level TX window based on the status report (operation 606). The adjustment of the lower-level TX window is based on the implicit lower-level ACK DU# and the lower-level forgotten DU#.
[0254] Regarding the adjustment of the upper-level TX window position, the TX upper-level entity adjusts the position of the upper-level TX window based on the upper-level DU# carried by the lower-level ACKDU# as indicated in the inter-layer status report (operation 608). For an upper-level DU# corresponding to a lower-level forgotten DU#, the TX upper-level entity makes one or more assumptions regarding the adjustment of the upper-level RX window at the RX upper-level entity. According to one example, for each upper-level data unit submitted by the TX upper-level entity to the TX lower-level entity, the TX upper-level entity starts a timer when submitting the upper-level data unit and advances the upper-level TX window past the upper-level DU# of that data unit when the timer associated with that data unit expires.
[0255] Regarding the determination of which upper-layer data units to retransmit when retransmission is required (e.g., during handover), the TX upper-layer entity makes this determination based on the following two: (i) the upper-layer DU# corresponding to the lower-layer ACK DU indicated by the inter-layer status report; and (ii) the upper-layer DU# corresponding to the lower-layer forgotten DU# indicated by the inter-layer status report.
[0256] According to some examples, a TX upper-layer entity may submit upper-layer data units to multiple TX lower-layer entities for parallel transmission to an RX entity; and a TX upper-layer entity may send a drop indication to one or more of the multiple TX lower-layer entities based on an inter-layer status report received from another TX lower-layer entity. The TX upper-layer entity makes this determination based on two factors: (i) the upper-layer DU# corresponding to the lower-layer ACK DU indicated by the inter-layer status report; and (ii) the upper-layer DU# corresponding to the lower-layer forgotten DU# indicated by the inter-layer status report.
[0257] The user plane operations of the upper-layer entity (TX) depend on the configuration of the lower-layer entity. More specifically, the user plane operations depend on whether the lower-layer status report and the inter-layer status report distinguish between (a) DU#s that have received data units and (b) DU#s that have not yet received data units but have determined not to wait for receiving data units.
[0258] According to one example, the TX upper-layer entity (e.g., the PDCP entity at the gNB CU-UP) receives an indication from the TX control plane entity (e.g., the gNB CU-CP) indicating whether the lower-layer entity is configured to distinguish in the status report (a) DU# for which a data unit has been received from (b) a DU# for which a data unit has not yet been received and has been determined not to wait for a data unit. Taking RLC and PDCP as the lower and upper layers respectively, this indication could be... Figure 8 The example signaling flow shown is part of step 1 or step 4 for establishing a bearer context via the E1 and F1 interfaces. In this example, step 3 involves configuring one or more RLC entities of the bearer at the gNB-DU (determined by the gNB-CU-CP or by the gNB-DU based on, for example, Quality of Service (QoS) information from the gNB-CU-CP).
[0259] The following describes an example embodiment that includes modifications to certain clauses of 3GPP TS 38.323 and 3GPP TS 38.322. The modifications are shown in bold and underlined.
[0260] 3GPP TS 38.323 4.3.2 Services Expected from Lower Levels The PDCP entity expects the following services from the lower layer for each RLC entity (see TS 38.322[5] for details): - Confirm data transfer service, including successful delivery of PDCP PDUs. Or interrupt delivery Instructions; - Unconfirmed data transmission service.
[0261] If a PDCP entity is associated with an SRAP entity, the PDCP entity expects the following services from the SRAP entity (see TS 38.351
[22] for a detailed description): - Data transmission.
[0262] 5.1.2 PDCP Entity Reconstruction When the upper layer requests PDCP entity reconstruction, the UE shall execute the procedure described in this clause for the Uu or PC5 interface once more. After executing the procedure in this clause, the UE shall follow the procedure in clause 5.2.
[0263] When the upper layer requests PDCP entity reconstruction, the PDCP entity should: <…> - For AM DRBs where the PDCP entity in the Uu interface is paused, the successful delivery of its corresponding PDCP data PDU is crucial. or Interrupted delivery Starting with the first PDCP SDU not yet confirmed by the lower layer, for each PDCPSDU already associated with a PDCP SN: - Treat these PDCP SDUs as received from the upper layer; - As specified in Clause 5.2.1, without restarting discardTimer In the case of PDCP entity reconstruction, PDCP SDUs are transmitted in ascending order of the COUNT values associated with the PDCP SDUs before PDCP entity reconstruction. - For AM DRBs where PDCP entities are not paused, the successful delivery of their corresponding PDCP data PDUs. Or interrupt delivery Starting with the first PDCP SDU not yet confirmed by the lower layer, perform the following retransmission or transmission on all PDCP SDUs already associated with the PDCP SN, in ascending order of the COUNT values associated with the PDCP SDUs before PDCP entity reconstruction: - Use the ROHC specified in Clause 5.7.4 and / or the EHC specified in Clause 5.12.4 to perform header compression of PDCPSDU; - If configured drb-ContinueUDC And if the PDCP SDU has already been compressed: - Submit the previously compressed PDCP SDU to the integrity protection and encryption function; - Otherwise: - Perform uplink data compression on the PDCP SDU as specified in Clause 5.14.4 and submit the PDCP SDU to the integrity protection and encryption functions; - As specified in Clauses 5.9 and 5.8, the integrity protection and encryption of the PDCPSDU shall be performed using the COUNT value associated with the PDCP SDU; - Submit the obtained PDCP data PDU to the lower layer as specified in Clause 5.2.1.
[0264] The remainder of section 5.1.2 has been omitted.
[0265] 5.2 Data Transmission 5.2.1 Transmission Operation When receiving a PDCP SDU from the upper layer, the PDCP entity should: -Start the PDCP SDU associated with it. discardTimer (If configured).
[0266] For a PDCP SDU received from the upper layer, the PDCP entity should: - Associate the COUNT value corresponding to TX_NEXT with this PDCP SDU; Note 1: For example, when the PDCP SDU is discarded or not indicated Confirmation of successful delivery In certain transmission scenarios, associating more than half of the PDCP SN space with consecutive PDCP SDUs may lead to HFN synchronization issues. How to prevent HFN synchronization problems is determined by the UE implementation.
[0267] - Use the ROHC specified in Clause 5.7.4 and / or the EHC specified in Clause 5.12.4 to perform header compression of PDCPSDU; - Perform uplink data compression on the PDCP SDU as specified in Clause 5.14.4; - Perform integrity protection and encryption using TX_NEXT as specified in Clauses 5.9 and 5.8 respectively; - Set the PDCP SN of the PDCP data PDU to TX_NEXT modulo 2. [pdcp-SN-SizeUL] ; -Increment TX_NEXT by 1; - Submit the obtained PDCP data PDU to the lower layer, as described below.
[0268] The remainder of section 5.2.1 has been omitted.
[0269] 5.2.2 Receiving Operation 5.2.2.1 Actions when receiving PDCP data PDU from the lower layer <…> If the received PDCP data PDU with COUNT value = RCVD_COUNT is not discarded, then the receiving PDCP entity should: - Store the obtained PDCP SDU in the receive buffer; -If RCVD_COUNT>=RX_NEXT: - Update RX_NEXT to RCVD_COUNT+1.
[0270] -If configured outOfOrderDelivery : - After decompressing the header using EHC, the resulting PDCP SDU is delivered to the upper layer.
[0271] -If RCVD_COUNT=RX_DELIV: - If it has not been decompressed before, it will be delivered to the upper layer in ascending order of the associated COUNT value after the header decompression is performed; - Starting with COUNT = RX_DELIV, all stored PDCP SDUs with consecutively associated (multiple) COUNT values; - Update RX_DELIV to the COUNT value of the first PDCP SDU that has not yet been delivered to the upper layer, where the COUNT value > RX_DELIV; - If FMC_Report_Period is configured and RX_DELIV mod FMC_Report_Period=0: - Prepare and transmit a PDCP status report that does not contain bitmap fields, as specified in Clause 5.4.1; -if t-Reordering Running, and if RX_DELIV>=RX_REORD: - Stop and Reset t-Reordering .
[0272] -if t-Reordering Not running (including stopped due to the above actions) t-Reordering (the situation), and RX_DELIV <RX_NEXT: - Update RX_REORD to RX_NEXT; -start up t-Reordering .
[0273] 5.2.2.2 Actions when t-Reordering expires when t-Reordering Upon expiration, the receiving PDCP entity should: - If it has not been decompressed before, it will be delivered to the upper layer in ascending order of the associated COUNT value after the header decompression is performed: - All stored PDCP SDUs with associated COUNT values less than RX_REORD; - Starting from RX_REORD, all stored (multiple) PDCPSDUs with consecutively associated (multiple) COUNT values; - Update RX_DELIV to the COUNT value of the first PDCP SDU that has not yet been delivered to the upper layer, where the COUNT value >= RX_REORD; - If FMC_Report_Period is configured and RX_DELIV mod FMC_Report_Period=0 : - Prepare and transmit a PDCP status report that does not contain bitmap fields, as specified in Clause 5.4.1; -If RX_DELIV < RX_NEXT: - Update RX_REORD to RX_NEXT; -start up t-Reordering .
[0274] 5.4 Status Report 5.4.1 Transmission Operation For an AM DRB (statusReportRequired in TS 38.331[3]) configured by the upper layer to send PDCP status reports in the uplink, the receiving PDCP entity should trigger a PDCP status report under the following conditions: - The upper layer requests the reconstruction of the PDCP entity; - Upper layer requests PDCP data recovery; - Upper layer requests uplink data switching; - The upper layer reconfigures the PDCP entity to release DAPS, and configures it in TS 38.331[3]. daps- SourceRelease ; -RX_DELIV mod FMC_Report_Period=0, if FMC_Report_Period is configured .
[0275] The remainder of section 5.4.1 has been omitted.
[0276] 5.5 Data Recovery For AM DRB, when the upper layer requests the recovery of PDCP data on the radio bearer, the transmitting PDCP entity should: - Following the data submission procedure in Clause 5.2.1, retransmit all PDCP data PDUs previously submitted to the rebuilt or released AM RLC entities in ascending order of their associated COUNT values. For these PDCP data PDUs, their success or failure... Interrupted delivery It has not yet been confirmed by the lower levels.
[0277] After performing the above procedures, the PDCP entity to be transmitted shall follow the procedures in Clause 5.2.1.
[0278] 5.11.2 Discarding Duplicate PDUs For configuration pdcp-Duplication The PDCP entity, when transmitting the PDCP entity, should: -If the successful or interrupted delivery of the PDCP data PDU is confirmed by one of the associated AM RLC entities: - Instruct other AM RLC entities to discard the replicated PDCP data PDU; - If deactivation is applied to PDCP replication indicated by DRB: - Instruct all RLC entities other than the primary RLC entity to discard all replicated PDCP data PDUs; - If the deactivation of PDCP replication is indicated for at least one associated RLC entity: - Instruct the RLC entity that has been deactivated for PDCP replication to discard all replicated PDCP data PDUs.
[0279] 5.13 Uplink Data Switching For DAPS bearers, when the upper layer requests an uplink data handover, the PDCP entity should: - For AM DRB, the RLC entity associated with the source cell has not yet confirmed the successful or unsuccessful PDCP data PDU output. Interrupted delivery Starting with the first PDCP SDU, all PDCP SDUs already associated with the PDCP SN are retransmitted or transmitted to the RLC entity associated with the target cell in ascending order of the COUNT values associated with each PDCP SDU before the uplink data handover, as described below: - Perform header compression of the PDCP SDU using the ROHC specified in Clause 5.7.4; - As specified in Clauses 5.9 and 5.8 respectively, the integrity protection and encryption of the PDCPSDU shall be performed using the COUNT value associated with the PDCP SDU; - Submit the obtained PDCP data PDU to the lower layer as specified in Clause 5.2.1.
[0280] The remainder of section 5.13 has been omitted.
[0281] 7.2 Constants a) Window_Size This constant indicates the size of the reordering window. For SRB / DRB / MRB, its value is equal to 2. [pdcp-SN-SizeDL] – 1 For SLRB, its value is equal to 2. [sl-PDCP-SN-Size] – 1 .
[0282] b) FMC_Report_Period This constant indicates the FMC reporting cycle. This value is configured by the upper-level TS 38.331[3]. .
[0283] TS38.322 5.2.3 AM Data Transmission 5.2.3.2 Receive Operation 5.2.3.2.1 Overview The receiving side of an AM RLC entity shall maintain the reception window as follows according to the state variable RX_Next: - if RX_Next<=SN<RX_Next+AM_Window_Size, then SN falls within the reception window; - otherwise, SN falls outside the reception window.
[0284] When an AMD PDU is received from the lower layer, the receiving side of the AM RLC entity shall: - discard the received AMD PDU or place it in the reception buffer (see clause 5.2.3.2.2); - if the received AMD PDU is placed in the reception buffer: - update state variables as required, reassemble RLC SDUs and deliver them to the upper layer, and start / stop t- Reassembly and t-Forget (see clause 5.2.3.2.3).
[0285] when t -Reassembly or t-Forget expires, the receiving side of the AM RLC entity shall: - update state variables as required, and respectively start t-Reassembly or t-Forget ( respectively see clause 5.2.3.2.4 Or 5.2.3.2.5 ).
[0286] 5.2.3.2.3 Actions when an AMD PDU is Placed in the Reception Buffer When an AMD PDU with SN=x is placed in the reception buffer, the receiving side of the AM RLC entity shall: - if x>=RX_Next_Highest: - update RX_Next_Highest to x+1.
[0287] - if all bytes of the RLC SDU with SN=x are received: - Reassemble the RLC SDU from (multiple) AMD PDUs with SN = x, removing the RLC header during reassembly, and then deliver the reassembled RLC SDU to the upper layer; -If x=RX_Highest_Status: - Update RX_Highest_Status to the SN of the first RLC SDU, where SN > current RX_Highest_Status, not all bytes have been received.
[0288] -If x=RX_Next: - Update RX_Next to the SN of the first RLC SDU that is greater than the current RX_Next and has not yet received all bytes.
[0289] -if t-Reassembly Running: -If RX_Next_Status_Trigger=RX_Next; or - If RX_Next_Status_Trigger = RX_Next + 1, and there is no missing byte segment of the SDU associated with SN = RX_Next before the last byte of any of the received segments of this SDU; or - If RX_Next_Status_Trigger falls outside the receive window and RX_Next_Status_Trigger is not equal to RX_Next + AM_Window_Size: -Stop and reset t-Reassembly .
[0290] -if t-Reassembly Not running (including stopped due to the above actions) t-Reassembly (situation) -If RX_Next_Highest > RX_Next+1; or - If RX_Next_Highest = RX_Next + 1 and there is at least one missing byte segment of the SDU associated with SN = RX_Next before the last byte of all receive segments of this SDU: -start up t-Reassembly ; - Set RX_Next_Status_Trigger to RX_Next_Highest.
[0291] - if t-Forget Running: -If RX_Forget_Trigger=RX_Next; or - If RX_Forget_Trigger = RX_Next + 1 and before the last byte of all receive segments in this SDU There is no missing byte segment of the SDU associated with SN=RX_Next; or - If RX_Forget_Trigger falls outside the receive window and RX_Forget_Trigger is not equal to RX_ Next+AM_Window_Size: - stop and reset t-Forget .
[0292] - if t-Forget configured and not running (including t-Forget stopped due to the above actions condition): -If RX_Next_Highest > RX_Next+1; or - If RX_Next_Highest = RX_Next + 1 and is stored before the last byte of all receive segments in this SDU. At least one missing byte segment in the SDU associated with SN=RX_Next: -start up t-Forget ; - Set RX_Forget_Trigger to RX_Next_Highest.
[0293] 5.2.3.2.5 in t-Forget Actions upon expiration When t-Forget Upon expiry, the receiving side of an AM RLC entity shall: - update RX_Next to the first SN that is greater than or equal to RX_Forget_Trigger and for which all bytes have not yet been received; - discard all segments with SN less than the updated RX_Next; - if RX_Next_Highest > RX_Next + 1; or - if RX_Next_Highest = RX_Next + 1 and there exists at least one missing byte segment of the RLC SDU associated with SN = RX_Next before the last byte of all received segments of that RLC SDU: - start t-Forget; - set RX_Forget_Trigger to RX_Next_Highest.
[0294] 5.3.4 Status Report An AM RLC entity sends a Status PDU to its peer AM RLC entity to provide positive and / or negative acknowledgement for RLC SDUs (or parts thereof).
[0295] Trigger conditions for starting a STATUS report include: - a poll from its peer AM RLC entity: - when an AMD PDU with SN = x and the P field set to "1" is received from lower layers, the receiving side of an AM RLC entity shall: - if the AMD PDU is to be discarded as specified in clause 5.2.3.2.2; or - if x < RX_Highest_Status or x >= RX_Next + AM_Window_Size: - Trigger a status report.
[0296] Otherwise: - Delay triggering the status report until x<RX_Highest_Status or x>=RX_Next+AM_Window_Size.
[0297] Note 1: This ensures that an RLC status report is transmitted after HARQ reordering.
[0298] - Detect reception failure of an AMD PDU - When t-Reassembly expires, the receiving side of the AM RLC entity shall trigger a status report.
[0299] Note 2: t-Reassembly expiration triggers the update of RX_Highest_Status and triggers a status report, but the status report shall be triggered after RX_Highest_Status is updated.
[0300] - Forgot the AMD PDU that was not received -when t-Forget Upon expiration, the receiving side of the AM RLC entity should trigger a status report.
[0301] Note 3: t-Forget The expiration trigger RX_Next is updated and the status report is triggered, but the status report should... It is triggered after RX_Next is updated.
[0302] The remainder of section 5.3.4 has been omitted.
[0303] 5.4 SDU Discard Procedure When a specific RLC SDU is dropped as instructed from an upper layer (e.g., PDCP), the configuration is... t-Forget AM RLC entity The transmitting side should discard the indicated RLC SDU and any corresponding RLC data PDU. .
[0304] When discarding a specific RLC SDU is indicated by an upper layer (e.g., PDCP), if neither the RLC SDU nor any segments thereof have been submitted to the lower layer, the Not configured t-Forget transmitting side of the AM RLC entity or the transmitting UM RLC entity shall discard the indicated RLC SDU. Not configured t-Forget transmitting side of the AM RLC entity shall not introduce an RLC SN gap when discarding the RLC SDU.
[0305] 7.1 State Variables <…> Configuration t-Forget The receiver side of each AM RLC entity should maintain the following state variables: a) RX_Forget_Trigger- t-Forget State variables This state variable stores the trigger. t-Forget The value of SN after SN of RLC SDU.
[0306] <…> 7.3 Timers The following timers are configured by TS 38.331[5]: a) t-PollRetransmit This timer is used by the transmission side of the AM RLC entity for retransmission polling (see Clause 5.3.3).
[0307] b) t-Reassembly This timer is used by the receiving side of the AM RLC entity and the receiving UM RLC entity to detect the loss of RLCPDU at the lower layer (see Clauses 5.2.2.2 and 5.2.3.2). If t-Reassembly If it is running, then t-Reassembly It should not be additionally started, meaning that there should only be one of each RLC entity at any given time. t-Reassembly Running.
[0308] c) t-StatusProhibit This timer is used by the receiving side of the AM RLC entity to disable the transmission of status PDUs (see Clause 5.3.4).
[0309] d) t-Forget When configured, the receiving side of the AM RLC entity uses this timer to forget any unreceived AMD PDUs. (See Clause 5.2.3.2). If t-Forget If it is already running, it must not be started separately. t-Forget That is, every time given time Only one RLC entity runs. t-Forget .
[0310] In one example configuration, the duration of the t-Forget timer (which is used to maintain the state variable RX_Next, which serves as the lower edge of the receive window) is the same as or similar to that of the PDCP drop timer, i.e., reflecting the QoS parameter packet delay budget.
[0311] The above example embodiments provide a relatively simple technique for avoiding the retransmission of data that is outdated from an application-layer QoS requirement perspective. Avoiding the retransmission of outdated data can be particularly useful for applications with short packet latency budgets, such as extended reality (XR) applications.
[0312] It should be noted that although some embodiments are described in conjunction with 5G networks, similar principles can be applied to other networks and communication systems. Therefore, while certain embodiments have been described above by way of example and with reference to certain example architectures, technologies, and standards of wireless networks, these embodiments can be applied to any other suitable form of communication system beyond those shown and described herein.
[0313] It should also be noted that although exemplary embodiments have been described above, various changes and modifications can be made to the disclosed solutions without departing from the scope of the invention.
[0314] As used herein, “at least one of the following: ” and “at least one of ” and similar wording (where the list of two or more elements is connected by “and” or “or”) means at least any one of the elements, or at least any two or more of the elements, or at least all of the elements.
[0315] Generally, various embodiments can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects of this disclosure can be implemented in hardware, while others can be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device, but this disclosure is not limited thereto. Although various aspects of this disclosure may be shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that, as non-limiting examples, these blocks, apparatuses, systems, techniques, or methods described herein can be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.
[0316] As used herein, the term "circuit" may refer to one or more, or all of the following: (a) Hardware circuit implementation only (such as implementation in analog and / or digital circuits only), and (b) A combination of hardware circuitry and software, such as (if applicable): (i) A combination of (multiple) analog hardware circuits and / or (multiple) digital hardware circuits with software / firmware; and (ii) Any part of a hardware processor having software (including (multiple) digital signal processors, software, and (multiple) memories, which work together to enable a device (e.g., a mobile phone or a server) to perform various functions); and (iii) Multiple hardware circuits and / or multiple processors, such as multiple microprocessors or a portion thereof, require software (e.g., firmware) for operation, but the software may be absent if operation does not require it.
[0317] This definition of "circuit" applies to all uses of the term herein, including in any claim. As another example, as used herein, the term "circuit" also covers only hardware circuitry or a processor (or processors) or a portion thereof and its accompanying software and / or firmware implementation. The term "circuit" also covers, for example and if applicable to a particular claim element, baseband integrated circuits or processor integrated circuits for mobile devices or similar integrated circuits in servers, cellular network devices, or other computing or networking devices.
[0318] Embodiments of this disclosure can be implemented by computer software executed by a data processor of a mobile device (e.g., a data processor in a processor entity), by hardware, or by a combination of software and hardware. The computer software or program (also referred to as a program product, including software routines, applets, and / or macros) can be stored in any device-readable data storage medium and includes program instructions for performing a specific task. The computer program product may include one or more computer-executable components that are configured to implement the embodiments during program runtime. These one or more computer-executable components may be at least one piece of software code or a portion thereof.
[0319] Furthermore, it should be noted that any block in the logical flow diagram in the accompanying drawings may represent a program step, interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. Software may be stored on a physical medium, such as memory chips, memory blocks implemented within a processor, magnetic media such as hard disks or floppy disks, and optical media such as DVDs, their data variants, and CDs. This physical medium is non-transitory.
[0320] As used herein, the term “non-transient” refers to a limitation on the medium itself (i.e., tangible, not signaling), rather than a limitation on the persistence of data storage (e.g., RAM vs. ROM).
[0321] The memory can be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory, and removable memory. As a non-limiting example, the data processor can be of any type suitable for the local technical environment and can include one or more of general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), FPGAs, gate-level circuits, and processors based on multi-core processor architectures.
[0322] The various example embodiments of this disclosure can be implemented in a variety of components, such as integrated circuit modules. Integrated circuit design is generally a highly automated process. Complex and powerful software tools can be used to transform logic-level designs into semiconductor circuit designs that can be etched and formed on semiconductor substrates.
[0323] The scope of protection sought by the various exemplary embodiments of this disclosure is defined by the independent claims. Exemplary embodiments and features (if any) described in this disclosure that do not fall within the scope of the independent claims should be interpreted as examples that aid in understanding the various exemplary embodiments of this disclosure.
[0324] The foregoing description, through non-limiting and illustrative examples, has fully and adequately described various exemplary embodiments of the present disclosure. However, those skilled in the art, upon reading the foregoing description in conjunction with the accompanying drawings and claims, may conceive of various modifications and adjustments; all such and similar modifications will still fall within the various exemplary embodiments of the present disclosure as defined by the claims. As a non-limiting and illustrative example, there is also an exemplary embodiment that includes a combination of one or more exemplary embodiments with any other exemplary embodiments discussed above.
Claims
1. An apparatus comprising components for: In response to determining that one or more data unit number values satisfy one or more conditions, and that one or more data units having said one or more data unit number values have not yet been received from the transmission entity, it is determined not to wait for the reception of said one or more data units having said one or more data unit number values; and A status report is sent to the transmission entity, wherein the status report indicates that it is no longer waiting to receive the one or more data units having the one or more data unit number values.
2. The apparatus of claim 1, further comprising means for advancing the receiving window past one or more of the data unit number values, wherein it has been determined that no data unit will be received for the one or more data unit number values.
3. The apparatus of claim 1, wherein the one or more conditions for the data unit number value of a data unit that has not been received include: The timer associated with the data unit number value for the unreceived data unit expires.
4. The apparatus of claim 3, wherein in response to receiving a data unit with a data unit number value higher than the data unit number value of the unreceived data unit, the timer associated with the data unit number value of the unreceived data unit is started.
5. The apparatus of claim 3, wherein the timer is started in response to a predetermined number of requests to retransmit the data unit.
6. The apparatus of claim 1, wherein the one or more conditions for the data unit number value of a data unit that has not been received include: Receive an instruction from the transmission entity not to wait for the unreceived data unit.
7. The apparatus according to any of the preceding claims, wherein the one or more data units are one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
8. The apparatus according to any of the preceding claims, wherein the apparatus is an access node and the transmission entity is a user equipment.
9. The apparatus according to any one of claims 1 to 7, wherein the apparatus is a user equipment and the transmission entity is an access node.
10. An apparatus comprising components for: Receive a status report from the receiving entity, wherein the status report indicates that the receiving entity is no longer waiting to receive one or more data units having one or more first data unit number values, and that the receiving entity has not yet received one or more data units for the one or more first data unit number values; and The position of the transmission window is adjusted based at least on the one or more first data unit number values in the status report.
11. The apparatus of claim 10, wherein the one or more data units are one or more first-layer data units carrying one or more second-layer data units, and wherein the apparatus includes a component for delivering an indication from the first layer to the second layer, the indication indicating that the receiving entity has not yet received the one or more second-layer data units and is no longer waiting to receive the one or more second-layer data units.
12. The apparatus of claim 10 or claim 11, wherein the one or more data units are one or more radio link control layer data units carrying one or more packet data convergence protocol layer data units.
13. The apparatus according to any one of claims 10 to 12, wherein the apparatus is an access node and the receiving entity is a user equipment.
14. The apparatus according to any one of claims 10 to 12, wherein the apparatus is a user equipment and the receiving entity is an access node.