A communication method and related device

CN122996725APending Publication Date: 2026-10-27HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480089117.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-18
Filing Date
2024-12-19
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

During data transmission, if the sending end discards the data packet, the receiving end cannot retransmit it, resulting in data transmission freeze and no recovery.

Method used

The sender sends a discard report to the receiver, indicating the discarded data packet, so that the receiver exits the waiting state.

Benefits of technology

It avoids data transmission deadlock between the sender and the receiver, and ensures the normal recovery of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122996725A_ABST
    Figure CN122996725A_ABST
Patent Text Reader

Abstract

The application provides a communication method and related equipment, and belongs to the technical field of communication. In the method, in the process that a sending end sends data to a receiving end, when the sending end discards part of data packets, the sending end can send a discard report for indicating the discarded data packets to the receiving end, so as to inform the receiving end of the discarded data packets of the sending end through the discard report, and make the receiving end exit a waiting state, thereby avoiding a dead situation of data transmission between the sending end and the receiving end.
Need to check novelty before this filing date? Find Prior Art

Description

A communication method and related equipment

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on March 18, 2024, with application number 202410312951.6 and application name “A Communication Method and Related Equipment”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a communication method and related equipment. Background Art

[0003] Layer 2 (L2) of the new radio (NR) includes the service data adaptation protocol (SDAP), packet data convergence protocol (PDCP), radio link control (RLC), media access control (MAC), and physical (PHY) layers. When a transmitter (e.g., user equipment (UE)) sends data to a receiver (e.g., a network device), the RLC layer at the transmitter can append RLC header information to the PDCP service data unit (SDU), encapsulating it into an RLC SDU. The SDU enters the RLC layer's send queue and delivers it to the MAC layer. The MAC layer then encapsulates the RLC SDU into a MAC SDU and sends it to the receiver via the PHY layer.

[0004] In some scenarios, the sender may discard some packets while transmitting data to the receiver. After the sender discards a packet, the receiver, unable to receive it, enters a pending state. This may trigger the sender to retransmit the packet. However, the sender has already discarded the packet and cannot retransmit it. This causes the receiver to remain in a pending state, resulting in data transmission deadlock between the sender and receiver. Summary of the Invention

[0005] The embodiments of the present application provide a communication method and related devices, in which a sending end can notify a receiving end of discarded data packets, so that the receiving end exits the waiting state, thereby avoiding data transmission deadlock between the sending end and the receiving end.

[0006] In a first aspect, a communication method is provided, which is applied to a transmitting end, and the method includes: determining a discarded data packet; and sending a first message to a receiving end, wherein the first message is used to indicate the discarded data packet.

[0007] The first message may be the discard report mentioned in this application.

[0008] In this implementation, the sending end can send a discard report indicating the discarded data packet to the receiving end, so that the receiving end determines the discarded data packet based on the discard report and then exits the waiting state for receiving the data packet, avoiding deadlock between the sending end and the receiving end.

[0009] Optionally, the discarded data packet may be an SDU or a PDU.

[0010] Optionally, the discarded data packet may be a data packet of the RLC layer, a data packet of the PDCP layer, or a data packet of other layers.

[0011] Optionally, the discard report may be a fixed size or a fixed size message.

[0012] In a possible implementation of the first aspect above, sending a first message to a receiving end includes: detecting that a first condition is met, and sending the first message to the receiving end; the first condition includes at least one of the following: the number of data packets included in the discarded data packets is greater than a first number; the time since the last time the first message was sent reaches a first time, or the timer used to indicate the time since the last time the first message was sent stops running; there is at least one data packet among the discarded data packets that has not been completely received by the receiving end, or confirmation feedback for at least one data packet among the discarded data packets is not received.

[0013] The first condition may be the condition for sending the discard report mentioned in this application.

[0014] When the sending end meets the sending condition of the discard report, the sending end may send the discard report to the receiving end. The number of data packets included in the data packets discarded by the sending condition is greater than the first number (for example, 100, 200, etc.);

[0015] The time length since the last discard report was sent reaches a first time length (for example, 30 seconds, 35 seconds, etc.), or the timer used to indicate the time length since the last discard report was sent stops running (that is, the timer used to indicate the time length since the last discard report was sent times out);

[0016] There is at least one data packet among the discarded data packets that has not been completely received by the receiving end, or confirmation feedback of at least one data packet among the discarded data packets has not been received.

[0017] In a possible implementation of the first aspect, the first message includes first information, and the first message is a data packet that is indicated to be discarded by the first information.

[0018] In a possible implementation of the first aspect above, the first information includes: a first field, used to indicate a sequence number or a COUNT value of a discarded data packet.

[0019] The first field may be the Discard_SN field or the Discard_COUNT field in the discard report mentioned in this application, or may be the FDS field or the FDC field in the discard report mentioned in this application.

[0020] The Discard_SN field may be used to indicate the SN of each data packet discarded by the RLC layer, or may be used to indicate the SN of the first data packet of consecutively discarded data packets or a single discarded data packet among the data packets discarded by the RLC layer.

[0021] The Discard_COUNT field may be used to indicate the SN of each data packet discarded by the PDCP layer, and may also be used to indicate the COUNT value of the first data packet of consecutively discarded data packets or a single discarded data packet among the data packets discarded by the RLC layer.

[0022] The FDS field is used to indicate the sequence number of the first data packet among the data packets discarded by the RLC layer.

[0023] The FDC field is used to indicate the COUNT value of the first data packet among the data packets discarded by the PDCP layer.

[0024] Optionally, the Discard_SN field and the FDS field occupy 12 bits or 18 bits, and the Discard_COUNT field and the FDC field occupy 32 bits.

[0025] In a possible implementation of the first aspect above, the first message further includes: second information used to indicate that the first message is a control message; and third information used to indicate that the first message is a message indicating a discarded data packet.

[0026] Optionally, the second information includes a D / C field, which occupies 1 bit. When the D / C field has a first value (e.g., 0), it indicates that the discard report is a data message. When the D / C field has a second value (e.g., 1), it indicates that the discard report is a control message. The value of the D / C field is the second value.

[0027] The third information CPT field or PDU TYPE field occupies 3 bits. The CPT field is used to indicate that the discard report is a message indicating that the data packet was discarded by the RLC layer. The PDU TYPE field is used to indicate that the discard report is a message indicating that the data packet was discarded by the PDCP layer.

[0028] Optionally, the CPT field or PDU TYPE field in the discard report is located after the D / C field. For example, the D / C field occupies bit 0 of byte 0 of the discard report. The CPT field or PDU TYPE field occupies bits 1 to 3 of byte 0 of the discard report.

[0029] In a possible implementation of the first aspect above, the first information also includes at least one of the following fields: a second field, the second field is used to indicate whether there are continuously discarded data packets; a third field, the third field is used to indicate the number of continuously discarded data packets; a fourth field, used to indicate the number of discard information carried in the first message, wherein one discard information is used to indicate one discarded data packet, or multiple continuously discarded data packets; a fifth field, the fifth field is used to indicate whether there is still discard information; a sixth field, used to indicate the discard status of at least one data packet, the discard status including discarded or not discarded; and a seventh field, used to indicate the length of the sixth field.

[0030] The second field may be the S field in the discard report mentioned in this application, which occupies 1 bit.

[0031] The third field may be the range field in the discard report mentioned in this application, which occupies 8 bits or 10 bits.

[0032] The fourth field may be the number field in the discard report mentioned in this application, occupying 4-8 bits.

[0033] The fifth field may be the P1 field in the discard report mentioned in this application, which occupies 1 bit.

[0034] The sixth field may be the Bitmap field in the discard report mentioned in this application.

[0035] The seventh field may be the Length field in the discard report mentioned in this application.

[0036] Optionally, the fields included in the discard report may be combined in the following ways, but not limited to:

[0037] (a) D / C field, CPT field, Discard_SN field. Or, D / C field, PDU TYPE field, Discard_COUNT field.

[0038] (b) D / C field, CPT field, Discard_SN field, S field, range field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field; range field.

[0039] (c) D / C field, CPT field, FDS field, Bitmap field. Or, D / C field, PDU TYPE field, FDC field, Bitmap field.

[0040] (d) D / C field, CPT field, Discard_SN field, S field, range field, number field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field, range field, number field.

[0041] (e) D / C field, CPT field, Discard_SN field, S field, range field, P1 field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field, range field, P1 field.

[0042] (f) D / C field, CPT field, FDS field, Bitmap field, Length field. Or, D / C field, PDU TYPE field, FDC field, Bitmap field, Length field.

[0043] Optionally, when the combination of fields included in the discard report may be the above combination (a), the discard report may indicate the discarded data packet through the Discard_SN field or the Discard_COUNT field.

[0044] In a possible implementation of the first aspect above, the discarded data packets include P data packets, and the first information includes M first fields, where P and M are positive integers and M≥P; wherein the first P first fields of the M first fields are used to indicate the sequence number or COUNT value of the P data packets.

[0045] Optionally, the discard report includes one D / C field, one CPT field, and M Discard_SN fields, where the M Discard_SN fields are located after the CPT field. Alternatively, the discard report includes one D / C field, one PDU TYPE field, and M Discard_COUNT fields, where the M Discard_COUNT fields are located after the PDU TYPE field.

[0046] Optionally, the discard report is a fixed-size message, and the discard report includes one D / C field, one CPT field, and M Discard_SN fields. The first P of the M Discard_SN fields are used to indicate the SNs of the P data packets discarded by the RLC layer. The value of the last MP of the M Discard_SN fields can be 0, indicating that the field does not exist. For example, when M = 2 and P = 1, the first Discard_SN field of the discard report is used to indicate the sequence number of the data packet discarded by the RLC layer, and the value of the second Discard_SN field of the discard report is 0.

[0047] Optionally, the discard report corresponds to a fixed-size packet, and the discard report includes one D / C field, one PDU TYPE field, and M Discard_COUNT fields. The first P of the M Discard_COUNT fields are used to indicate the COUNT value of P data packets discarded by the PDCP layer. The value of the last MP of the M Discard_COUNT fields can be 0, indicating that the field does not exist. For example, when M = 2 and P = 1, the first Discard_COUNT field of the discard report is used to indicate the COUNT value of one data packet discarded by the PDCP layer, and the value of the second Discard_COUNT field of the discard report is 0.

[0048] In a possible implementation of the first aspect above, the first field is used to indicate the serial number of the discarded data packet, and the first field is 12 bits: the i-th first field occupies the 12i-8th to 12i+3th bits of the first message; the first field is used to indicate the serial number of the discarded data packet, and the first field is 18 bits: the i-th first field occupies the 18i-14th to 18i+3th bits of the first message; the first field is used to indicate the COUNT value of the discarded data packet: the i-th first field occupies the 32i-14th to 32i+8th bits of the first message, where i is a positive integer and 1≤i≤M.

[0049] Optionally, corresponding to the RLC layer, the discard report includes 1 D / C field, 1 PDU TYPE field and M Discard_COUNT fields: the D / C field occupies the 0th bit of the discard report, and the CPT field occupies bits 1 to 3 of the discard report; when the Discard_SN field occupies 12 bits, the i-th Discard_SN field occupies bits 12i-8 to bits 12i+3 of the discard report; when the Discard_SN field occupies 18 bits, the i-th Discard_SN field occupies bits 18i-14 to bits 18i+3 of the discard report, where 1≤i≤M.

[0050] Optionally, corresponding to the PDCP layer, a discard report includes one D / C field, one PDU TYPE field, and M Discard_COUNT fields. The D / C field occupies bit 0 of the discard report. The PDU TYPE field occupies bits 1 to 3 of the discard report. The i-th Discard_COUNT field occupies bits 32i-14 to 32i+8 of the discard report.

[0051] In a possible implementation of the first aspect above, the first information includes a first field, a second field and a third field; wherein the first field is used to indicate the sequence number or COUNT value of the first data packet among consecutively discarded data packets, or to indicate the sequence number or COUNT value of a data packet discarded individually.

[0052] The discard report includes the combination of fields corresponding to the combination (b) above. The discard report includes a D / C field, a CPT field, a Discard_SN field, an S field, and a range field. Alternatively, the D / C field, the PDU TYPE field, the Discard_COUNT field, the S field, and the range field. The Discard_SN field indicates the sequence number of the first packet in a series of discarded packets, or indicates the sequence number of a single discarded packet. The Discard_COUNT field indicates the COUNT value of the first packet in a series of discarded packets, or indicates the COUNT value of a single discarded packet.

[0053] In a possible implementation of the first aspect above, the discarded data packets include J groups of data packets, and a group of data packets in the J groups of data packets includes a group of continuously discarded data packets or a single discarded data packet; the first information includes M first fields, second fields, and third fields, and the first J first fields, second fields, and third fields in the first information are used to indicate J groups of data packets, where J and M are positive integers and M≥J.

[0054] Optionally, corresponding to the RLC layer, the discard report includes one D / C field, one CPT field, M Discard_SN fields, M S fields, and M range fields, that is, includes one D / C field, one CPT field, and M discard information. The first J Discard_SN fields, the first J S fields, and the first J range fields of the discard report are used to indicate J discard information. These J discard information are used to indicate J groups of data packets discarded by the RLC layer. A group of data in the J group of data packets includes a group of multiple consecutively discarded data packets or a single discarded data packet. J and M are positive integers, and M ≥ J.

[0055] The values ​​of the jth Discard_SN field, jth S field, and jth Range field in the first J discard messages of a discard report are the values ​​of the Discard_SN field, S field, and Range field corresponding to the jth packet discarded by the RLC layer. The values ​​of the Discard_SN field, S field, and Range field in the last MJ discard messages of a discard report can be 0, indicating that they do not exist. Where j is a positive integer and 1≤j≤J.

[0056] Optionally, when the Discard_SN field occupies 12 bits and the Range field occupies 10 bits:

[0057] In some embodiments, the i-th Discard_SN field occupies bits 0 to 3 of the 4i-3 byte and the 4i-2 byte of the discard report, the i-th S field occupies any one of bits 4 to 7 of the 4i-2 byte of the discard report, and the i-th range field occupies bits 0 and 1 of the 4i-1 byte and the 4i byte of the discard report.

[0058] Exemplarily, corresponding to M=4, the discard report includes 4 Discard_SN fields, 4 S fields and 4 range fields.

[0059] The first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies bits 0 to 1 of the third byte and bits 4 of the fourth byte of the discard report.

[0060] The second Discard_SN field occupies bits 0 to 3 of the 5th byte and the 6th byte of the discard report, the second S field occupies bit 4 of the 6th byte of the discard report, and the second range field occupies bits 0 to 1 of the 7th byte and the 8th byte of the discard report.

[0061] The 3rd Discard_SN field occupies the 9th byte and bits 0 to 3 of the 10th byte of the discard report, the 3rd S field occupies the 4th bit of the 10th byte of the discard report, and the 3rd range field occupies bits 0 to 1 of the 11th byte and bits 12 of the discard report.

[0062] The 4th Discard_SN field occupies the 13th byte and bits 0 to 3 of the 14th byte of the discard report, the 4th S field occupies the 4th bit of the 14th byte of the discard report, and the 4th range field occupies bits 0 to 1 of the 15th byte and bits 16 of the discard report.

[0063] In other embodiments, the i-th Discard_SN field occupies bits 0 to 3 of the 3i-2 byte and the 3i-1 byte of the discard report, the i-th S field occupies bits 4 or 5 of the 3i-1 byte of the discard report, and the i-th range field occupies bits 6 to 7 of the 3i-1 byte of the discard report and the 3i byte of the discard data report.

[0064] Exemplarily, corresponding to M=1, the discard report includes 1 Discard_SN field, 1 S field, and 1 range field. The first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies bits 6 to 7 of the second byte of the discard report and the third byte of the discard report.

[0065] In other embodiments, the i-th Discard_SN field occupies bits 4 to 7 of the 4i-4th byte and the 4i-3th byte of the discard report, the i-th S field occupies bit 0 of the 4i-2th byte of the discard report, and the i-th range field occupies bits 1 to 7 of the 4i-2th byte and bits 0 to 3 of the 4i-1th byte of the discard report.

[0066] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_SN fields, 2 S fields, and 2 range fields. The first Discard_SN field occupies bits 4 to 7 of byte 0 and byte 1 of the discard report, the first S field occupies bit 0 of byte 2 of the discard report, and the first range field occupies bits 0 to 7 of byte 2 and bits 0 to 3 of byte 3 of the discard report.

[0067] The second Discard_SN field occupies bits 4 to 7 and 5 of the fourth byte of the discard report, the second S field occupies bit 0 of the sixth byte of the discard report, and the second range field occupies bits 0 to 2 of the seventh byte of the discard report.

[0068] Optionally, when the Discard_SN field occupies 12 bits, the Range field occupies 10 bits, and M is greater than 1:

[0069] In some embodiments, the first Discard_SN field occupies bits 4 to 7 of the 0th byte and the 1st byte of the discard report; the k+1th Discard_SN field occupies bits 0 to 3 of the 3k+1th byte and the 3k+2th byte of the discard report, where k is a positive integer and 1≤k≤M-1.

[0070] The first S field occupies any one of the 0th to 5th bits of the 2nd byte of the discard report; the k+1th S field occupies the 4th or 5th bit of the 3k+2th byte of the discard report.

[0071] The first range field occupies bits 6 to 7 of the second byte of the discard report and the third byte of the discard report; the k+1th range field occupies bits 6 to 7 of the 3k-1th byte of the discard report and the 3kth byte of the range field.

[0072] For example, corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields, and 3 range fields. Among them, the first Discard_SN field occupies bits 4 to 7 of the 0th byte of the discard report and the 1st byte of the discard report; the first S field occupies bit 0 of the 2nd byte of the discard report; and the first range field occupies bits 6 to 7 of the 2nd byte of the discard report and the 3rd byte of the discard report.

[0073] The second Discard_SN field occupies bits 0 to 3 of the 4th byte and the 5th byte of the discard report; the second S field occupies bit 4 of the 5th byte of the discard report; the second range field occupies bits 6 to 7 of the 5th byte of the discard report and the 6th byte of the discard report.

[0074] The 3rd Discard_SN field occupies bits 0 to 3 of the 7th byte and the 8th byte of the discard report, the 3rd S field occupies bit 4 of the 8th byte of the discard report, and the 3rd range field occupies bits 6 to 7 of the 8th byte and the 9th byte of the discard report.

[0075] Optionally, when the Discard_SN field occupies 18 bits and the Range field occupies 8 bits:

[0076] In some embodiments, the i-th Discard_SN field occupies bits 0 to 1 of the 4i-3 byte, the 4i-2 byte, and the 4i-1 byte of the discard report, the i-th S field occupies any one of bits 2 to 7 of the 4i-1 byte of the discard report, and the i-th range field occupies the 4i byte of the discard report.

[0077] Exemplarily, corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields and 3 range fields.

[0078] The first Discard_SN field occupies the first byte, bits 0 to 1 of the second and third bytes of the discard report, the first S field occupies the second bit of the third byte of the discard report, and the first range field occupies the fourth byte of the discard report.

[0079] The second Discard_SN field occupies the 5th byte, bits 0 to 1 of the 6th byte and the 7th byte of the discard report, the first S field occupies the 2nd bit of the 7th byte of the discard report, and the first range field occupies the 8th byte of the discard report.

[0080] The third Discard_SN field occupies the 9th byte, the 10th byte, and bits 0 to 1 of the 11th byte of the discard report, the third S field occupies the 2nd bit of the 11th byte of the discard report, and the third range field occupies the 12th byte of the discard report.

[0081] Optionally, corresponding to the PDCP layer, the discard report includes 1 D / C field, 1 PDU TYPE field, M Discard_COUNT fields, M S fields, and M range fields, that is, it includes 1 D / C field, 1 PDU TYPE field, and M discard information. The first J Discard_SN fields, the first J S fields, and the first J range fields of the discard report are used to indicate J discard information. The J discard information is used to indicate J groups of data packets discarded by the RLC layer. A group of data in the J group of data packets includes a group of multiple data packets discarded continuously or a single discarded data packet. J and M are positive integers, and M ≥ J.

[0082] The values ​​of the jth Discard_COUNT field, jth S field, and jth Range field in the first J discard information of the discard report are the values ​​of the Discard_COUN field, S field, and Range field corresponding to the jth data packet discarded by the PDCP layer. The values ​​of the Discard_COUN field, S field, and Range field in the last MJ discard information of the discard report can be 0, indicating that they do not exist.

[0083] In some embodiments, when the range field occupies 10 bits, the i-th Discard_COUNT field occupies the 6i-5th to 6i-2th bytes of the discard report, the i-th S field occupies any one of the 0th to 5th bits of the 6i-1th byte of the discard report, and the i-th range field occupies the 6th to 7th bits and the 6i-1th byte of the discard report.

[0084] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields and 2 range fields.

[0085] The first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th to 7th bits and the 6th byte of the 5th byte of the discard report.

[0086] The second Discard_COUNT field occupies the 7th to 10th bytes of the discard report, the second S field occupies the 0th bit of the 11th byte of the discard report, and the second range field occupies the 6th to 7th bits of the 11th byte and the 12th byte of the discard report.

[0087] In other embodiments, when the range field occupies 10 bits, the i-th Discard_COUNT field occupies the 7i-6th to 7i-3th bytes of the discard report, the i-th S field occupies any one of the 0th to 7th bits of the 7i-2th byte of the discard report, and the i-th range field occupies the 7i-1th byte and the 0th to 1st bits of the 7i-1th byte of the discard report.

[0088] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields and 2 range fields.

[0089] The first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th and 7th bits of the 6th and 7th bytes of the discard report.

[0090] The second Discard_COUNT field occupies the 8th to 11th bytes of the discard report, the second S field occupies the 0th bit of the 12th byte of the discard report, and the second range field occupies the 0th to 1st bits of the 13th and 14th bytes of the discard report.

[0091] In a possible implementation of the first aspect, the first information further includes a fourth field. Optionally, the fourth field is located before the first first field.

[0092] Optionally, for a non-fixed-size discard report, the fields included in the discard report may be combined in the aforementioned combination (d). The number field precedes the discard information (e.g., the Discard_SN field or the Discard_COUNT field). When the number field precedes the first discard information, it indicates the number of discard information included in the discard report. When the number field precedes the first discard information and between the second discard information, it indicates the number of discard information included in addition to the first discard information.

[0093] Optionally, corresponding to the RLC layer, the discard report includes 1 D / C field, 1 CPT field, M Discard_SN fields, M S fields, M range fields and 1 number field.

[0094] In some embodiments, when the Discard_SN field occupies 12 bits, the range field occupies 8 bits, and the number field occupies 4 bits:

[0095] The number field occupies bits 4 to 7 of byte 0 of the discard report;

[0096] The i-th Discard_SN field occupies bits 0 to 3 of the 3i-2th byte and the 3i-1th byte of the discard report;

[0097] The i-th S field occupies any one of the 4th to 7th bits of the 3i-1th byte of the discard report;

[0098] The i-th range field occupies the 3i-th byte of the discard report.

[0099] Exemplarily, the discard report includes 3 Discard_SN fields, 3 S fields and 3 range fields.

[0100] The first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies the third byte of the discard report.

[0101] The second Discard_SN field occupies bits 0 to 3 of the 4th byte and the 5th byte of the discard report, the second S field occupies bit 4 of the 5th byte of the discard report, and the second range field occupies the 6th byte of the discard report.

[0102] The third Discard_SN field occupies the 7th byte and bits 0 to 3 of the 8th byte of the discard report, the third S field occupies the 4th bit of the 8th byte of the discard report, and the third range field occupies the 9th byte of the discard report.

[0103] In some embodiments, when the Discard_SN field occupies 12 bits, the range field occupies 8 bits, the number field occupies 6 bits, and M is greater than 1:

[0104] The number field occupies bits 4 to 7 of byte 0 and bits 0 to 1 of byte 1 of the discard report.

[0105] The first Discard_SN field occupies bits 2 to 7 of the first byte and bits 0 to 5 of the second byte of the discard report; the k+1th Discard_SN field occupies bits 0 to 3 of the 3k+1 byte and 3k+2 bytes of the discard report.

[0106] The first S field occupies the 6th or 7th bit of the 2nd byte of the discard report; the k+1th S field occupies any one of the 4th to 7th bits of the 3k+2 bytes of the discard report.

[0107] The k+1th range field occupies 3k bytes of the drop report.

[0108] Exemplarily, corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields and 3 range fields.

[0109] The first Discard_SN field occupies bits 2 to 7 of the first byte and bits 0 to 5 of the second byte of the discard report, the first S field occupies bit 6 of the second byte of the discard report, and the first range field occupies the third byte of the discard report.

[0110] The second Discard_SN field occupies the 4-byte and 5-byte bits 0 to 3 of the discard report, the second S field occupies the 4th bit of the 5-byte discard report, and the second range field occupies the 6-byte discard report.

[0111] The 3rd Discard_SN field occupies bits 0 to 3 of byte 7 and byte 8 of the discard report, the 3rd S field occupies bit 4 of byte 8 of the discard report, and the 3rd range field occupies 9 bytes of the discard report.

[0112] Optionally, corresponding to the PDCP layer, the discard report includes 1 D / C field, 1 PDU TYPE field, M Discard_COUNT fields, M S fields, M range fields and 1 number field.

[0113] In some embodiments, when the range field occupies 8 bits and the number field occupies 4 bits:

[0114] The number field occupies bits 4 to 7 of byte 0 of the discard report;

[0115] The i-th Discard_COUNT field occupies bytes 6i-5 to 6i-2 of the discard report;

[0116] The i-th S field occupies any one of bits 0 to 8 of the 6i-1-th byte of the discard report;

[0117] The i-th range field occupies the 6i-th byte of the discard report.

[0118] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields and 2 range fields.

[0119] The first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th byte of the discard report.

[0120] The second Discard_COUNT field occupies bytes 7 to 10 of the discard report, the second S field occupies bit 0 of the 11th byte of the discard report, and the second range field occupies the 12th byte of the discard report.

[0121] When the range field occupies 8 bits, the number field occupies 6 bits, and M is greater than 1:

[0122] The number field occupies bits 4 to 7 of byte 0 and bits 0 to 1 of byte 1 of the discard report;

[0123] The first S field occupies any one of the 2nd to 7th bits of the first byte of the discard report; the k+1th S field occupies any one of the 4th to 7th bits of the 6k+1th byte of the discard report;

[0124] The first Discard_COUNT field occupies the 2nd to 5th bytes of the discard report; the k+1th Discard_COUNT field occupies the 6k-4th to 6k-1th bytes of the discard report;

[0125] The kth range field occupies the first 6k bytes of the discard report.

[0126] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields and 2 range fields.

[0127] The first S field occupies the second bit of the first byte of the discard report, the first Discard_COUNT field occupies the second to fifth bytes of the discard report, and the first range field occupies the sixth byte of the discard report.

[0128] The second S field occupies the 0th bit of the 7th byte of the discard report, the second Discard_COUNT field occupies the 8th to 11th bytes of the discard report, and the second range field occupies the 12th byte of the discard report.

[0129] In a possible implementation of the first aspect above, the first information includes a first field, a second field, a third field and a fifth field; wherein the first field is used to indicate the sequence number or COUNT value of the first data packet among the consecutively discarded data packets, or to indicate the sequence number or COUNT value of the corresponding individually discarded data packet.

[0130] Optionally, the i-th fifth field is located after the i-th first field; the i-th second field is located after the i-th fifth field.

[0131] For a discard report of a non-fixed size, the combination of fields included in the discard report may be the above combination (e).

[0132] Optionally, corresponding to the RLC layer, the discard report includes 1 D / C field, 1 CPT field, M Discard_SN fields, M S fields, M range fields and M P1 fields.

[0133] In some embodiments, when the Discard_SN field occupies 18 bits and the Range field occupies 8 bits:

[0134] The i-th Discard_SN field occupies bits 0 to 1 of the 4i-3rd, 4i-2nd, and 4i-1st bytes of the discard report;

[0135] The i-th P1 field occupies the 3rd bit of the 4i-1th byte of the discard report;

[0136] The i-th S field occupies any one of the 3rd to 8th bits of the 4i-1th byte of the discard report;

[0137] The i-th range field occupies the 4i-th byte of the discard report.

[0138] Exemplarily, corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields, 3 range fields and 3 P1 fields.

[0139] The first Discard_SN field occupies the first byte, bits 0 to 1 of the second and third bytes of the discard report, the first P1 field occupies the second bit of the third byte of the discard report, the first S field occupies the third bit of the third byte of the discard report, and the first range field occupies the fourth byte of the discard report.

[0140] The second Discard_SN field occupies the 5th byte, bits 0 to 1 of the 6th and 7th bytes of the discard report, the second P1 field occupies the 2nd bit of the 7th byte of the discard report, the second S field occupies the 3rd bit of the 7th byte of the discard report, and the first range field occupies the 8th byte of the discard report.

[0141] The 3rd Discard_SN field occupies the 9th byte, the 10th byte and bits 0 to 1 of the 11th byte of the discard report, the 3rd P1 field occupies the 2nd bit of the 11th byte of the discard report, the 3rd S field occupies the 3rd bit of the 11th byte of the discard report, and the 3rd range field occupies the 12th byte of the discard report.

[0142] In some embodiments, when the Discard_SN field occupies 12 bits and the Range field occupies 8 bits:

[0143] The i-th Discard_SN field occupies bits 0 to 1 of the 3i-2th and 3i-1th bytes of the discard report;

[0144] The i-th P1 field occupies the 3rd bit of the 3i-1th byte of the discard report;

[0145] The i-th S field occupies any one of the 3rd to 8th bits of the 3i-1th byte of the discard report;

[0146] The i-th range field occupies the 3i-th byte of the discard report.

[0147] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_SN fields, 2 S fields, 2 range fields and 2 P1 fields.

[0148] The first Discard_SN field occupies the first byte and bits 0 to 1 of the second byte of the discard report, the first P1 field occupies the third bit of the second byte of the discard report, the first S field occupies the third bit of the second byte of the discard report, and the first range field occupies the third byte of the discard report.

[0149] The second Discard_SN field occupies bits 0 to 1 of the 4th byte and the 5th byte of the discard report, the second P1 field occupies the 3rd bit of the 5th byte of the discard report, the second S field occupies the 3rd bit of the 5th byte of the discard report, and the second range field occupies the 6th byte of the discard report.

[0150] Optionally, corresponding to the PDCP layer, the discard report includes 1 D / C field, 1 PDU TYPE field, M Discard_COUNT fields, M S fields, M range fields and M P1 fields.

[0151] In some embodiments, when the range field occupies 8 bits:

[0152] The i-th Discard_COUNT field occupies bytes 6i-5 to 6i-2 of the discard report;

[0153] The i-th P1 field occupies the first bit of the 6i-1-th byte of the discard report;

[0154] The i-th S field occupies any one of the 1st to 8th bits of the 6i-1th byte of the discard report;

[0155] The i-th range field occupies the 6i-th byte of the discard report.

[0156] Exemplarily, corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, 2 range fields and 2 P1 fields.

[0157] The first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first P1 field occupies the 0th bit of the 5th byte of the discard report, the first S field occupies the 1st bit of the 5th byte of the discard report, and the first range field occupies the 6th byte of the discard report.

[0158] The second Discard_COUNT field occupies the 7th to 10th bytes of the discard report, the second P1 field occupies the 0th bit of the 11th byte of the discard report, the second S field occupies the 1st bit of the 11th byte of the discard report, and the second range field occupies the 12th byte of the discard report.

[0159] In a possible implementation of the first aspect, the first information includes a first field and a sixth field; wherein the first field is used to indicate the sequence number or COUNT value of the first data packet among the discarded data packets. Optionally, the sixth field is located after the first field.

[0160] Corresponding to a discard report of a fixed size, the combination of fields included in the discard report may also be the above-mentioned combination (c).

[0161] Optionally, corresponding to the RLC layer, the discard report includes a D / C field, a CPT field, an FDS field and a Bitmap field.

[0162] In some embodiments, when the FDS field occupies 12 bits and the length of the Bitmap field is Z (Z is a positive integer) bytes: the FDS field occupies bits 4 to 7 and byte 2 of section 0 of the discard report, and the Bitmap field occupies bytes 2 to 1+Z of the discard report. For example, when Z=4, the Bitmap field occupies bytes 2 to 5 of the discard report.

[0163] In some other embodiments, when the FDS field occupies 12 bits and the length of the Bitmap field is Y bits: the FDS field occupies bits 4 to 7 and byte 2 of section 0 of the discard report, and the Bitmap field occupies bits 16 to 16+Y of the discard report. For example, when Y=14, the Bitmap field occupies bits 16 to 30 of the discard report.

[0164] In some embodiments, where the FDS field occupies 18 bits and the Bitmap field occupies Z bytes: the FDS field occupies bits 6 to 7 of section 0, section 1, and section 2 of the discard report; the Bitmap field occupies bytes 3 to 2+Z of the discard report. For example, when Z=4, the Bitmap field occupies bytes 3 to 6 of the discard report.

[0165] In some other embodiments, when the FDS field occupies 18 bits and the length of the Bitmap field is Y bits: the FDS field occupies bits 6 to 7 of section 0, section 1, and section 2 of the discard report; and the Bitmap field occupies bits 24 to 24+Y of the discard report. For example, when Y=14, the Bitmap field occupies bits 24 to 38 of the discard report.

[0166] Optionally, corresponding to the PDCP layer, the discard report includes a D / C field, a CPT field, an FDC field and a Bitmap field.

[0167] In some embodiments, when the Bitmap field occupies Z bytes, the FDC field occupies bytes 1 to 4 of the discard report, and the Bitmap field occupies bytes 5 to 4+Z of the discard report. For example, when X=4, the Bitmap field occupies bytes 5 to 8 of the discard report.

[0168] In some other embodiments, when the length of the Bitmap field is Y bits, the FDC field occupies the 1st to 4th bytes of the discard report, and the Bitmap field occupies the 40th to 40+Y bits of the discard report. For example, when Y=14, the Bitmap field occupies the 40th to 54th bits of the discard report.

[0169] In a possible implementation of the first aspect, the first information further includes a seventh field. Optionally, the seventh field is located before the sixth field.

[0170] Corresponding to a discard report of a non-fixed size, the combination of fields included in the discard report may also be the above-mentioned combination (f).

[0171] Optionally, corresponding to the PDCP layer, the discard report includes a D / C field, a PDU TYPE field, an FDC field, a Bitmap field and a Length field.

[0172] In some embodiments, corresponding to the Length field occupying L bits, the Bitmap field occupies Z bytes, and 8j+1≤L≤8j+4, where j is an integer greater than or equal to 0, the Length field occupies bits 4 to L+4 of the discard report, the FDC field occupies bytes j+1 to j+4, and the Bitmap field occupies bytes j+5 to j+5+Z of the discard report. Corresponding to the Length field occupying L bits, the Bitmap field occupies Z bytes, and 8j+5≤L≤8j+8, the Length field occupies bits 4 to L+4 of the discard report, the FDC field occupies bytes j+2 to j+5, and the Bitmap field occupies bytes j+6 to j+6+Z of the discard report.

[0173] In some embodiments, when the Length field occupies 2 bits and the Length field indicates that the Bitmap field occupies N bytes, the Length field occupies bits 4 to 5 of byte 0 of the discard report, and the FDC field occupies bytes 1 to 4 of the discard report. When N=1, the Bitmap field occupies bytes 5 to 4+N of the discard report.

[0174] Optionally, corresponding to the RLC layer, the discard report includes a D / C field, a CPT field, an FDS field, a Bitmap field and a Length field.

[0175] In some embodiments, when the Length field occupies 2 bits, the Length field indicates that the Bitmap field occupies N bytes, and the FDS field occupies 12 bits, the Length field occupies bits 4 to 5 of the 0th byte of the discard report, and the FDS field occupies bits 0 to 3 of the 1st byte and the 2nd byte of the discard report. When N=1, the Bitmap field occupies the 3rd byte of the discard report. When N>1, the Bitmap field occupies bytes 3 to 2+N of the discard report.

[0176] In other embodiments, when the Length field occupies 2 bits, the Length field indicates that the Bitmap field occupies N bytes, and the FDS field occupies 18 bits, the Length field occupies bits 4 and 5 of byte 0 of the discard report, the FDS field occupies bits 6 and 7 of byte 0 of the discard report, and bytes 1 and 2 of the discard report. When N=1, the Bitmap field occupies bytes 3 of the discard report. When N>1, the Bitmap field occupies bytes 3 to 2+N of the discard report.

[0177] In a possible implementation of the first aspect, the structure of the first message is the same as the structure of the second message;

[0178] The second message includes an eighth field, a ninth field, a tenth field, an eleventh field, a twelfth field, a thirteenth field, a fourteenth field, a fifteenth field, and a sixteenth field;

[0179] The eighth field is a second value different from the first value, wherein the first value is a value taken when the second message is used to indicate the reception status of a data packet, and the second value is a value taken when the second message is used to indicate a discarded data packet; when the eighth field is the first value: the ninth field is a field for indicating the sequence number of a data packet that has not been reported as lost and has not been received by the receiving endpoint;

[0180] The tenth field is a field for indicating whether the thirteenth field, the fourteenth field, and the fifteenth field are subsequently present;

[0181] The eleventh field is a field for indicating the sequence number of the lost data packet detected at the receiving end;

[0182] The twelfth field is a field for indicating whether the thirteenth field and the fourteenth field are subsequently present;

[0183] The thirteenth field is a field for indicating the sequence number of the first data packet among the consecutively discarded data packets;

[0184] The fourteenth field is a field for indicating the sequence number of the last data packet among the consecutively discarded data packets;

[0185] The fifteenth field is a field for indicating whether there are consecutive data packets that have not been received by the receiving end;

[0186] The sixteenth field is a field for indicating the number of packets discarded consecutively starting from the packet indicated by the fourteenth field;

[0187] When the eighth field is the second value:

[0188] The ninth field is used to indicate the sequence number following the maximum sequence number in the discarded data packet;

[0189] The tenth field is used to indicate whether there is subsequent discard information;

[0190] The eleventh field is used to indicate the sequence number of the discarded data packet;

[0191] The twelfth field is 0 or R bit;

[0192] The thirteenth field is used to indicate the sequence number of the first packet among the consecutive discarded packets;

[0193] The fourteenth field is used to indicate the sequence number of the last packet among the consecutively discarded packets;

[0194] The fifteenth field is used to indicate whether there are consecutive data packets;

[0195] The sixteenth field is used to indicate the number of consecutively discarded packets.

[0196] Among them, the second message may be the status report mentioned in this application.

[0197] The eighth field may be the CPT field in the status report mentioned in this application.

[0198] The ninth field may be the ACK_SN field in the status report mentioned in this application.

[0199] The tenth field may be the E1 field in the status report mentioned in this application.

[0200] The eleventh field may be the NACK_SN field in the status report mentioned in this application.

[0201] The twelfth field may be the E2 field in the status report mentioned in this application.

[0202] The thirteenth field may be the SOstart field in the status report mentioned in this application.

[0203] The fourteenth field may be the SOend field in the status report mentioned in this application.

[0204] The fifteenth field may be the E3 field in the status report mentioned in this application.

[0205] The sixteenth field may be the NACK range field in the status report mentioned in this application.

[0206] Optionally, when the CPT field in the status report of the RLC layer is applied is the second value, other fields in the status report may be interpreted as the following newly added definitions:

[0207] (1) ACK_SN field, used to indicate the SN following the largest SN among the SNs of the discarded data packets, for example, the next SN of the largest SN.

[0208] (2) The E1 field is used to indicate whether there is subsequent discard information.

[0209] (3) NACK_SN field, used to indicate the SN corresponding to the discarded data packet (RLC SDU or RLC segment).

[0210] (4) The E2 field can be 0 or R bits and does not contain valid information.

[0211] (5) The SOstart field does not exist, or the SOstart field (together with the SOend field) is used to indicate that a portion (segment) of the RLC SDU whose SN is NACK_SN is detected and discarded.

[0212] (6) The SOend field does not exist, or the SOend field (together with the SOstart field) is used to indicate that a portion (segment) of the RLC SDU whose SN is NACK_SN (SOend-related NACK_SN) is detected and discarded.

[0213] (7) E3 field, used to indicate whether there are continuously discarded data packets.

[0214] (8) NACK range, used to indicate the number of consecutive discarded data packets.

[0215] In a possible implementation of the first aspect above,

[0216] The structure of the first message is the same as that of the second message;

[0217] The second message includes a seventeenth field, an eighteenth field, and a nineteenth field;

[0218] The seventeenth field is a second value different from the first value, wherein the first value is a value taken when the second message is used to indicate the reception status of a data packet, and the second value is a value taken when the second message is used to indicate a discarded data packet; when the seventeenth field is the first value:

[0219] The eighteenth field is a field for indicating the sequence number or COUNT value of the first lost data packet;

[0220] The nineteenth field is used to indicate the lost data packets or the correctly received data packets among the received data packets;

[0221] When the seventeenth field is the second value:

[0222] The eighteenth field is used to indicate the sequence number or COUNT value of the first discarded data packet;

[0223] The nineteenth field is used to indicate the discard status of the data packet.

[0224] The seventeenth field may be the PDU Type field in the status report mentioned in this application.

[0225] The eighteenth field may be the FMC field or the FMS field in the status report mentioned in this application.

[0226] The nineteenth field may be the Bitmap field in the status report mentioned in this application.

[0227] Optionally, when the PDU Type field in the status report is the second value, the other fields in the status report may be interpreted as the following newly added definitions:

[0228] (1) For the PDCP layer, the FMC field is used to indicate the COUNT value of the first discarded packet. Alternatively, for the RLC layer, the FMS field is used to indicate the sequence number of the first discarded packet.

[0229] (2) Bitmap field, used to indicate the discard status of the data packet.

[0230] In the second aspect, a sending end device is provided, comprising: one or more processors; one or more memories; the one or more memories storing one or more computer programs, the one or more computer programs comprising instructions, which, when executed by the one or more processors, enable the terminal device to execute the method described in the first aspect above.

[0231] In a third aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer-executable program instructions, and when the computer-executable program instructions are executed on a computer, the computer executes the method as described in any implementation of the first aspect above.

[0232] In a fourth aspect, a computer program product is provided, comprising a computer program code, which, when executed on a computer, causes the computer to execute the method as described in any one of the implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0233] FIG1A is a schematic diagram showing a user plane protocol architecture according to some embodiments of the present application;

[0234] FIG1B shows a schematic diagram of a process of transmitting a set of protocol data units from a transmitting end to a receiving end according to some embodiments of the present application;

[0235] FIG1C shows a schematic diagram of a control plane protocol architecture according to some embodiments of the present application;

[0236] FIG2A is a schematic diagram showing a downlink data transmission protocol architecture according to some embodiments of the present application;

[0237] FIG2B is a schematic diagram showing an uplink data transmission protocol architecture according to some embodiments of the present application;

[0238] FIG3 shows a schematic diagram of a receiving window according to some embodiments of the present application;

[0239] FIG4 shows a schematic diagram of a status report according to some embodiments of the present application;

[0240] FIG5 is a schematic diagram showing another status report according to some embodiments of the present application;

[0241] FIG6 shows a schematic diagram of a reordering window according to some embodiments of the present application;

[0242] FIG7 shows a schematic diagram of a Bitmap according to some embodiments of the present application;

[0243] FIG8 is a schematic diagram showing another status report according to some embodiments of the present application;

[0244] FIG9 shows a schematic diagram of a communication scenario according to some embodiments of the present application;

[0245] FIG10 shows a schematic diagram of a discard report according to some embodiments of the present application;

[0246] FIG11 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0247] FIG12 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0248] FIG13 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0249] FIG14 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0250] FIG15 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0251] FIG16 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0252] FIG17 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0253] FIG18A is a schematic diagram showing another discard report according to some embodiments of the present application;

[0254] FIG18B is a schematic diagram showing another discard report according to some embodiments of the present application;

[0255] FIG19 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0256] FIG20 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0257] FIG21 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0258] FIG22 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0259] FIG23 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0260] FIG24 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0261] FIG25 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0262] FIG26 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0263] FIG27 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0264] FIG28 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0265] FIG29 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0266] FIG30 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0267] FIG31 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0268] FIG32 is a schematic diagram showing another discard report according to some embodiments of the present application;

[0269] FIG33 is a schematic diagram showing a communication method according to some embodiments of the present application;

[0270] FIG34 is a schematic diagram showing a system architecture according to some embodiments of the present application;

[0271] Figure 35 shows a schematic structural diagram of a transmitting device according to some embodiments of the present application. DETAILED DESCRIPTION

[0272] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly specifying the number of the technical features indicated. Therefore, the definition of "first" and "second" features may explicitly or implicitly include one or more of the features.

[0273] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in yet other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0274] In order to facilitate understanding of the communication method provided by this application, the concepts or terms that may be involved in the following embodiments are first introduced.

[0275] 1. Protocol Data Unit Set

[0276] According to the definition of SA, a protocol data unit set can be used as a data unit in the data transmission process. A protocol data unit set consists of one or more data packets, each of which can carry a payload that constitutes an information unit. The application layer at the receiving end can obtain a complete information unit based on the payload carried by all protocol data units (PDU) in a protocol data unit set, such as the information corresponding to a video frame or a picture frame. In an embodiment of the present application, the data unit may include a frame and a video slice. Among them, the frame can be understood as a carrier of transmitted data, and the video slice can be understood as a specific type of data unit in a video service. From the perspective of the carrier of transmitted data, in some cases, a protocol data unit set can correspond to a frame; from the perspective of the type of transmitted data, in some cases, in a video service, the data carried by a protocol data unit set can correspond to a video slice.

[0277] Generally speaking, the application layer at the receiving end needs to receive all packets in the protocol data unit set to obtain a complete information unit. Discarding one or more packets may result in the receiving end not being able to obtain the entire information unit. However, in some cases, the application layer at the receiving end can also use certain algorithms to calculate the discarded data based on the data of the obtained PDU. In this way, even if some (such as a small number or less important) PDUs are discarded, the application layer at the receiving end can still recover all or part of the information unit.

[0278] SA proposed the concept of PDU set, which is defined as follows:

[0279] PDU Set: A PDU Set is composed of one or more PDUs carrying the payload of one unit of information generated at the application level (e.g., a frame or video slice for XRM Services, as used in TR26.926

[0027] ). In some implementations all PDUs in a PDU Set are needed by the application layer to use the corresponding unit of information. In other implementations, the application layer can still recover parts all or of the information unit, when some PDUs are missing. In other words, a PDU set consists of one or more PDUs that carry the payload of an information unit generated by the application layer, such as a frame or a video slice. The above definition indicates that in some implementations, the application layer needs to receive all PDUs in a PDU set to obtain the information unit; in another implementation, the application layer can still recover all or part of the information unit when some PDUs are lost.

[0280] A protocol data unit set can be used as a data unit, which can specifically correspond to a frame or a video slice. A protocol data unit set includes multiple data packets, each of which has a serial number (such as PDU SN) that is different from other data packets, and the payloads carried by the multiple data packets can constitute information units (such as a video frame, a picture, etc.). Different protocol data unit sets can be set with different importance levels. For example, a protocol data unit set with a high importance level can be used to transmit frames of high importance, and a protocol data unit set with a low importance level can be used to transmit frames of low importance, thereby realizing the separate transmission of frames of different importance so that these frames can be processed differently later.

[0281] For the same set of payloads, the data packets divided at different layers may be different, and the number and sequence numbers of data packets at different layers may also be different. For ease of description, in the following embodiments, the sequence number of the RLC layer data packet (e.g., RLC SDU or RLC PDU) is referred to as the RLC SN, and the sequence number of the PDCP layer data packet (e.g., PDCP SDU or PDCP PDU) is referred to as the PDCP SN.

[0282] 2. User Plane Protocol Architecture

[0283] 1A , the user plane protocol architecture may include a service data adaptation protocol (SDAP) layer, a packet data convergence protocol (PDCP) layer, a radio link control protocol (RLC) layer, a medium access control (MAC) layer, and a physical layer.

[0284] Referring to Figure 1B , based on the user plane protocol architecture of Figure 1A , the process of transmitting a data packet containing a set of protocol data units from a transmitter to a receiver may include: the SDAP layer obtains the IP data packet transmitted by its upper layer (application layer or transport layer), performs radio bearer (RB) processing on the IP data packet, and generates a data packet including a header and a physical portion SDAP SDU (i.e., payload). This data packet may be marked as an SDAP PDU data packet. The SDAP layer then transmits the SDAP PDU data packet to the PDCP layer. After obtaining the SDAP PDU data packet, the PDCP layer processes the data packet according to the PDCP protocol, generating a data packet including a header H and a physical portion PDCP SDU (including the SDAP SDU and the SDAP layer header). This data packet may be marked as a PDCP PDU data packet. The PDCP layer then further transmits the PDCP PDU data packet to the RLC layer. After the RLC layer obtains the PDCP PDU packet, it processes it according to the RLC protocol, generating a packet including a header (H) and a physical portion (RLC SDU) (including the PDCP SDU and the PDCP layer header). This packet can be marked as an RLC PDU packet. The RLC layer then transmits the RLC PDU packet to the MAC layer. After the MAC layer obtains the RLC PDU packet, it processes it according to the MAC protocol, generating a packet including a header (H) and a physical portion (MAC SDU) (including the RLC SDU and the RLC layer header). This packet can be marked as a MAC PDU packet.

[0285] Following this process, the MAC layer can obtain multiple MAC PDU packets corresponding to a data unit. Based on these MAC PDU packets, the MAC layer can ultimately obtain a MAC PDU transport block containing multiple data packets. The MAC layer can then transmit the generated MAC PDU transport block to the receiving end using air interface resources.

[0286] After receiving the PDU, the receiving end can parse the PDU according to the reverse process of generating the PDU, so that the application layer of the receiving end can obtain the data carried by all PDUs in the PDU set based on the parsed results, and then obtain the information unit based on the payload carried by all PDUs. The specific method and process for parsing the data in the PDU set by the receiving end can be set according to the relevant protocol or actual needs.

[0287] 3. Control Plane Protocol Architecture

[0288] Referring to Figure 1C, in the control plane protocol framework, the UE side may include the non-access stratum (NAS) layer, radio resource control (RRC) layer, PDCP layer, RLC layer, MAC layer and PHY layer; the gNB side may include the RRC layer, PDCP layer, RLC layer, MAC layer and PHY layer; the access and mobility management function (AMF) side may include the NAS layer.

[0289] The NAS layer can be used for UE mobility and session management procedures, and to establish and maintain IP connections between the UE and the PDN GW.

[0290] The main services and functions of the RRC layer include broadcasting system information related to the Non-Access Stratum (NAS), paging, establishment, maintenance, and release of RRC connections between the UE and the E-UTRAN, security functions including key management, establishment, configuration, maintenance, and release of point-to-point radio bearers, broadcasting system messages of the NAS and AS layers, paging functions, establishment, maintenance, and release of RRC connections, establishment, modification, and release of end-to-end radio bearers, and mobility management including UE measurement reporting, cell handover, and UE cell selection and reselection. The RRC layer protocol terminates at the eNode B.

[0291] The PDCP layer can be used to send or receive packet data to or from a peer PDCP entity. For example, the PDCP layer can compress and decompress IP headers, encrypt data and signaling, and protect signaling integrity.

[0292] The RLC layer is responsible for segmentation and concatenation, error correction, retransmission processing, and sequential transmission of higher-layer data. The RLC layer operates in three modes: transparent mode (TM), unacknowledged mode (UM), and acknowledged mode (AM). AM mode can be used for Transmission Control Protocol (TCP) services, such as file transfer; UM mode can be used by higher-layers to provide sequential data transmission; and TM mode can be used for specialized purposes, such as random access.

[0293] The MAC layer is responsible for mapping logical channels to transport channels, scheduling and prioritizing logical channels based on quality of service (QoS), and processing hybrid automatic repeat request (HARQ) retransmissions and uplink and downlink scheduling.

[0294] The PHY layer handles coding, modulation and demodulation, multi-antenna mapping, and other telecommunication physical layer functions.

[0295] 4. L2 data transmission protocol architecture

[0296] (1) Downlink data transmission

[0297] Referring to Figure 2A , during data transmission from the network to the terminal, the SDAP layer on the network side obtains data transmitted by its upper layer (application layer or transport layer) and maps the obtained data to the corresponding QoS flow according to QoS requirements. It then performs QoS flow processing on the QoS flow, such as assigning a unique identifier to each QoS flow and creating, modifying, and deleting QoS flows. The SDAP layer then transmits the processed data to the PDCP layer via a radio bearer. The PDCP layer then performs robust header compression (ROHC) (such as IP header compression and decompression) and security processing (such as encryption and decryption) on the data from the SDAP layer, and transmits the processed data to the RLC layer via an RLC channel. The RLC layer then uses the Segmentation Automatic Repeat Request (Segm ARQ) mechanism to detect and correct transmission errors before transmitting the data to the MAC layer via a logical channel. The MAC layer then multiplexes data from multiple RLC entities onto the same physical channel and schedules the data based on priority and available resources to ensure timely transmission of high-priority data. It also uses the HARQ mechanism to detect and correct errors to avoid transmission errors. The MAC layer then transmits the data from the RLC layer via a transport channel to the PHY layer, which then transmits the data to the terminal.

[0298] (2) Uplink data transmission

[0299] Referring to Figure 2B , during data transmission from the terminal to the network, the UE's SDAP layer obtains data transmitted by its upper layer (application layer or transport layer) and maps the obtained data to the corresponding QoS flow according to QoS requirements. It then performs QoS flow processing on the QoS flow, such as assigning a unique identifier to each QoS flow and creating, modifying, and deleting QoS flows. The SDAP layer then transmits the processed data to the PDCP layer via a radio bearer. The PDCP layer then performs robust header compression (ROHC) (such as IP header compression and decompression) and security processing (such as encryption and decryption) on the data from the SDAP layer, and transmits the processed data to the RLC layer via an RLC channel. The RLC layer then uses the Segment Automatic Repeat Request mechanism to detect and correct transmission errors before transmitting the data to the MAC layer via a logical channel. The MAC layer then multiplexes the data from the RLC layer onto the same physical channel and schedules the data based on priority and available resources to ensure timely transmission of high-priority data. It also uses the HARQ mechanism for error detection and correction to avoid transmission errors. The MAC layer then transmits the data from the RLC layer to the PHY layer via a transport channel, and the PHY layer transmits the data to the network side.

[0300] 5. PDU set discard mechanism

[0301] (1) RLC layer discard process

[0302] When indicated from upper layer (e.g. PDCP) to discard a particular RLC SDU, the transmitting side of an AM RLC entity or the transmitting UM RLC entity shall discard the indicated RLC SDU, if neither the RLC SDU nor a segment thereof has been submitted to the lower layers. The transmitting side of an AM RLC entity shall not introduce an RLC SN gap when discarding an RLC SDU. That is, when the PDCP layer indicates to discard a particular RLC SDU, the transmitting side of an AM RLC entity or the transmitting side of an UM RLC entity will discard the indicated RLC SDU, and the RLC SDU or the segment of the RLC SDU has not been submitted to the lower layers.

[0303] (2) PDCP layer discard process

[0304] When the PDCP layer receives a data packet from a higher layer, the discard timer is started. When the discard timer times out, that is, the discard timing reaches the preset discard time, the data packet is discarded. When the PDCP layer receives a data packet from a higher layer, the discard timer is started. When the discard timer times out and the discard of the PDU set is configured, all data packets of the PDU set are discarded.

[0305] 4. Receive Window

[0306] Referring to FIG3 , the status parameters of the receive window may include but are not limited to: RX_Next, RX_Next_Highest, AM_Window_Size, RX_Highest_Status, and RX_Next_Status_Trigger.

[0307] RX_Next: This state variable holds the value of the SN following the last in-sequence completely received RLC SDU, and it serves as the lower edge of the receiving window. It is initially set to 0, and is updated whenever the AM RLC entity receives an RLC SDU with SN=RX_Next.

[0308] The RX_Next state variable is the SN next to the SN of the most recently received RLC SDU in sequence and is the lower boundary of the receive window. It is updated whenever the AM RLC entity receives a packet with the SN RX_Next.

[0309] It can also be understood that RX_Next is the RLC SN of the next RLC SDU to be received. RLC SDUs with RLC SNs less than this value have all been completely received, which is the lower boundary of the receive window. If the RLC SN of the RLC SDU received by the AM RLC entity is the same as RX_Next, RX_Next can be updated. The upper boundary of the receive window is RX_Next + AM_Window_Size;

[0310] RX_Next_Highest: This state variable holds the value of the SN following the SN of the RLC SDU with the highest SN among received RLC SDUs.It is initially set to 0.

[0311] The RX_Next_Highest state variable is the next SN after the highest SN in the received RLC SDU. It is the maximum RLC SN of the currently received RLC SDU + 1. The initial value of RX_Next_Highest is 0.

[0312] AM_Window_Size: AM window size. When using a 12-bit SN, the size is 2048; when using an 18-bit SN, the size is 131072.

[0313] RX_Highest_Status: This state variable holds the highest possible value of the SN which can be indicated by "ACK_SN" when a STATUS PDU needs to be constructed. It is initially set to 0.

[0314] The RX_Highest_Status status variable is the highest possible SN number when the status PDU needs to be constructed. This SN number can be indicated as "ACK_SN (acknowledgement feedback)".

[0315] Alternatively, RX_Highest_Status can be understood as the maximum RLC SN of the RLC SDUs that were completely received when the status report was sent. It is updated when the t-Reassembly timer expires or the received RLC SN equals its value. Alternatively, RX_Highest_Status can be the sequence number of the packet following the most recently completely received packet at the receiving end.

[0316] RX_Next_Status_Trigger: This state variable holds the value of the SN following the SN of the RLC SDU which triggered t-Reassembly.

[0317] RX_Next_Status_Trigger is the next SN of the RLC SDU that triggers the reassembly timer.

[0318] It can also be understood as the value of RX_Next_Highest when the timer t-Reassembly times out.

[0319] t-Reassembly: Reassembly timer, which sends a status report when it times out. The actual timeout period may depend on the specific implementation and is continuously started in a loop.

[0320] t-StatusProhibit: The status report prohibition timer starts after the status report is sent. The status report can be sent only after the timeout.

[0321] It should be understood that the status parameters of the receiving window may also include t-Reassembly, t-StatusProhibit, etc. For details, please refer to the relevant protocols and will not be described in detail here.

[0322] 5. Status Report

[0323] A status report is a control message sent by a receiving end to a sending end to inform the sending end of data packets that have been successfully received or data packets that have been detected as lost at the receiving end.

[0324] a) The RLC layer status report consists of a status report payload and an RLC control PDU header. The RLC control PDU header includes a D / C field and a CPT field. The status report payload may include the following information:

[0325] (1) ACK_SN field, occupies 12 bits or 18 bits.

[0326] The current protocol describes the ACK_SN field as follows:

[0327] The ACK_SN field indicates the SN of the next not received RLC SDU which is not reported as missing in the STATUS PDU.When the transmitting side of an AM RLC entity receives aSTATUS PDU,it interprets that all RLC SDUs up to but not including the RLC SDU with SN=ACK_SN have been received by its peer AM RLC entity,excluding those RLC SDUs indicated in the STATUS PDU with NACK_SN,portions of RLC SDUs indicated in the STATUS PDU with NACK_SN,S0start and S0end,RLC SDUs indicated in the STATUS PDU with NACK_SN and NACK_range,and portions of RLC SDUs indicated in the STATUS PDU with NACK_SN,NACK range,S0start and S0end. When the transmitter receives the status report, in addition to the RLC SDUs indicated in the status report (1) indicating NACK_SN; (2) indicating NACK_SN and SOstart and SOend RLC SDUs; (3) indicating NACK_SN and NACK_range RLC SDUs; (4) NACK_SN, NACK range, SOstart and SOend RLC SDUs.

[0328] That is to say, after receiving the status report, the sender will assume that all SDUs from the first SDU to ACK_SN-1 (excluding ACK_SN) have been correctly received, unless the status report clearly indicates that there is lost or partially lost SDU information.

[0329] (2) E1 field, occupies 1 bit.

[0330] The current protocol describes the E1 field as follows:

[0331] The E1 field indicates whether or not a set of NACK_SN,E1,E2 and E3 follows.The interpretation of the E1 field is provided in Table 6.2.3.11-1.

[0332] Table 6.2.3.11-1:E1 field interpretation

[0333] That is, the E1 field is used to indicate whether the NACK_SN field, E1 field, E2 field, and E3 field are subsequently present. When the value of the E1 field is 0, the E1 field indicates that the NACK_SN field, E1 field, E2 field, and E3 field are not subsequently present. When the value of the E1 field is 1, the E1 field indicates that the NACK_SN field, E1 field, E2 field, and E3 field are subsequently present.

[0334] (3) NACK_SN field, occupies 12 bits or 18 bits.

[0335] The current protocol describes the NACK_SN field as follows:

[0336] The NACK_SN field indicates the SN of the RLC SDU (or RLC SDU segment) that has been detected as lost at the receiving side of the AM RLC entity.

[0337] That is, NACK_SN is used to indicate that the RLC SDU (or RLC SDU segment) corresponding to the SN is detected to be discarded at the receiving end.

[0338] (4) E2 field, occupies 1 bit.

[0339] The current protocol describes the E2 field as follows:

[0340] The E2 field indicates whether or not a set of SOstart and SOend follows.The interpretation of the E2 field is provided in Table 6.2.3.13-1.

[0341] Table 6.2.3.13-1:E2 field interpretation

[0342] The E2 field indicates whether the subsequent SOstart and SOend fields exist, that is, whether the segment is an RLC SDU segment. When the value of the E2 field is 0, the E2 field indicates that the subsequent SOstart and SOend fields do not exist. When the value of the E2 field is 1, the E2 field indicates that the subsequent SOstart and SOend fields exist.

[0343] (5) SOstart field, occupies 16 bits.

[0344] The current protocol describes the SOstart field as follows:

[0345] The SOstart field (together with the SOend field) indicates the portion of the RLC SDU with SN=NACK_SN (the NACK_SN for which the SOstart is related to) that has been detected as lost at the receiving side of the AM RLC entity.Specifically, the SOstart field indicates the position of the first byte of the portion of the RLC SDU in bytes within the original RLC SDU.The first byte of the original RLC SDU is referred by the SOstart field value"0000000000000000",i.e.,numbering starts at zero. That is, the SOstart field (together with the SOend field) is used to indicate that the portion (segment) of the RLC SDU with SN=NACK_SN is detected as discarded. The SOstart field indicates the position of the first byte of the RLC SDU portion in the original RLC SDU. That is, the first byte of the original RLC SDU is 0000000000000000, i.e., it starts at 0.

[0346] (6) SOend field, occupies 16 bits.

[0347] The current protocol description of the SOend field includes:

[0348] Description 1: When E3 is 0, the SOend field (together with the SOstart field) indicates the portion of the RLC SDU with SN=NACK_SN (the NACK_SN for which the SOend is related to) that has been detected as lost at the receiving side of the AM RLC entity.Specifically, the SOend field indicates the position of the last byte of the portion of the RLC SDU in bytes within the original RLC SDU.The first byte of the original RLC SDU is referred by the SOend field value"0000000000000000",ie,numbering starts at zero.The special SOend value"1111111111111111"is used to indicate that the missing portion of the RLC SDU includes all bytes to the last byte of the RLC SDU. That is, when the value of the E3 field is 0, the SOend field (together with the SOstart field) indicates that in AM The missing portion of the RLC SDU with sequence number NACK_SN detected by the receiving RLC entity. Specifically, the SOend field indicates the position of the last byte of the missing portion within the original RLC SDU in the byte coordinate system. The first byte of the original RLC SDU is represented by the SOend field value "0000000000000000", that is, the numbering starts at zero. In the special case, if the SOend value is "1111111111111111", it means that the missing portion of the RLC SDU includes all bytes from the first byte to the last byte.

[0349] That is, when the value of the E3 field is 0, the SOend field (together with the SOstart field) indicates that a portion (segment) of the RLC SDU with SN NACK_SN (SOend-related Soend) is detected and discarded. The SOend field indicates the position of the last byte of the RLC SDU portion in the original RLC SDU.

[0350] Description 2: When E3 is 1, the SOend field indicates the portion of the RLC SDU with SN=NACK_SN+NACK range-1 that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOend field indicates the position of the last byte of the portion of the RLC SDU in bytes within the original RLC SDU. The first byte of the original RLC SDU is referred by the SOend field value"0000000000000000", i.e., numbering starts at zero. The special SOend value"1111111111111111" is used to indicate that the missing portion of the RLC SDU includes all bytes to the last byte of the RLC SDU. That is, when the value of the E3 field is 1, the SOend field indicates the lost portion of the RLC SDU (service data unit) with sequence number NACK_SN plus NACK range minus 1 detected at the receiving side of the AM RLC entity. Specifically, the SOend field indicates the byte coordinate position of the last byte of the missing portion of the original RLC SDU. The first byte of the original RLC SDU is represented by the SOend field value "0000000000000000", indicating that the numbering starts at zero. In particular, when the SOend value is "11111111111111111", it indicates that the missing portion of the RLC SDU includes all bytes from the first byte to the last byte of the RLC SDU.

[0351] That is, when the value of the E3 field is 1, the SOend field indicates that a portion of the RLC SDU whose SN is NACK_SN+NACK range−1 is detected as lost.

[0352] (7) E3 field, occupies 16 bits.

[0353] The current protocol describes the E3 field as follows:

[0354] The E3 field indicates whether or not information about a continous sequence of RLC SDUs that have not been received follows.The interpretation of the E3 field is provided in Table6.2.3.16-1.

[0355] Table 6.2.3.16-1:E3 field interpretation

[0356] That is, the E3 field is used to indicate whether there are any consecutive RLC SDU sequences that have not been received. When the value of the E3 field is 0, the E3 field indicates that there are no consecutive RLC SDU sequences that have not been received. When the value of the E3 field is 1, the E3 field indicates that there are any consecutive RLC SDU sequences that have not been received.

[0357] (8) NACK range field, occupies 8 bits.

[0358] The current protocol describes the NACK range field as follows:

[0359] This NACK range field is the number of consecutively lost RLC SDUs starting from and including NACK_SN. The NACK field is used to indicate the number of consecutively lost RLC SDUs starting from NACK_SN.

[0360] (9) CPT field, occupies 3 bits.

[0361] The current protocol describes the CPT field as follows:

[0362] The CPT field indicates the type of the RLC control PDU.The interpretation of the CPT field is provided in Table 6.2.3.9-1.

[0363] Table 6.2.3.9-1: CPT field interpretation

[0364] That is, the current value of the CPT field is 000, which is used to indicate that the status report is a control message.

[0365] Exemplarily, FIG4 shows a status report applied to the RLC layer when the ACK_SN field occupies 12 bits.

[0366] 4 , the status report includes a D / C field, a CPT field, an ACK_SN field, a NACK_SN field, an E1 field, an E2 field, an E3 field, a SOstart field, a SOend field, and a NACK range field. The ACK_SN field and the NACK_SN field each occupy 12 bits.

[0367] Exemplarily, FIG5 shows a status report applied to the RLC layer when the ACK_SN field occupies 18 bits.

[0368] 5 , the status report includes a D / C field, a CPT field, an ACK_SN field, a NACK_SN field, an E1 field, an E2 field, an E3 field, a SOstart field, a SOend field, and a NACK range field. The ACK_SN field and the NACK_SN field both occupy 18 bits.

[0369] b) The PDCP layer status report consists of a status report payload and a PDCP control PDU header. The PDCP control PDU header includes a D / C field and a PDU Type field. The status report payload may include the following information:

[0370] (1) The FMC field occupies 32 bits. Alternatively, the FMS field occupies 12 bits or 18 bits.

[0371] At the PDCP layer, the FMC field indicates the COUNT value of the first lost packet. At the RLC layer, the FMS field indicates the sequence number of the first lost packet.

[0372] The current protocol describes the CPT field as follows:

[0373] First Missing COUNT. This field indicates the COUNT value of the first missing PDCP SDU within the reordering window, i.e., RX_DELIV.

[0374] Reorder window:

[0375] 6 , the reordering window includes RX_DELIV (the first PDCP SDU waiting to be delivered to the upper layer), RX_RECORD (the next COUNT value of the PDCP ADTA PDU that triggers the reordering timer), and RX_NEXT (the COUNT value of the next PDCP to be received).

[0376] When the first PDCP SDU that has not yet been delivered to higher layers arrives, it triggers the reordering timer. This timer is used to wait for other packets that may have been lost or delayed. If no other packets are received within this time, the packets are considered lost and the waiting period is discontinued. Instead, the received packets are delivered directly to the upper-layer application.

[0377] Meanwhile, RX_NEXT indicates the COUNT value of the next packet expected to be received. When a new packet is received, its COUNT value is compared with RX_NEXT. If the COUNT value of the new packet is greater than RX_NEXT, it has arrived in order and can be delivered directly. If the COUNT value of the new packet is less than RX_NEXT, it may be a previously lost packet and needs to wait for a while before deciding whether to deliver it.

[0378] (2)Bitmap field

[0379] The current protocol description of the Bitmap field is as follows:

[0380] This field indicates which SDUs are missing and which SDUs are correctly received in the receiving PDCP entity.The bit position of N thbit in the Bitmap is N,ie,the bit position of the first bit in the Bitmap is 1.The interpretation of the Bitmap field is provided in Table 6.2.3.10-1.

[0381] Table 6.3.10-1 Bitmap

[0382] That is, the Bitmap field indicates the SDU lost in the receiving PDCP entity or the SDU received correctly. The bit position of the Nth bit in the Bitmap is N, that is, the first bit position in the Bitmap is 1.

[0383] It is understandable that the above modulo 2 32 This is to prevent the COUNT value from flipping due to the COUNT value being too large.

[0384] 7 , the SDU of SN1 is received correctly, and the value of the corresponding bit in the Bitmap is 0. The SDUs of SN2 to SN6, SN9 to SN11, and SN13 are discarded, and the value of the corresponding bit in the Bitmap is 1.

[0385] Exemplarily, FIG8 shows a status report applied to the PDCP layer.

[0386] Referring to Figure 8 , the status report includes the D / C field, PDU Type field, FMC field, and Bitmap field. The FMC field occupies 4 bytes, and the Bitmap field occupies N bytes. The status report can use the FMC and Bitmap fields to indicate a number of packets successfully received by the receiving end or a number of packets detected as lost at the receiving end.

[0387] FIG9 shows an exemplary application scenario of the present application.

[0388] 9 , after UE 11 is connected to network device 12 , network device 12 can send data, such as video, pictures, text, voice, etc., to UE 11 , allowing UE 11 to perform communication services such as surfing the Internet, making and receiving calls, and sending and receiving text messages.

[0389] In some cases, while network device 12 is transmitting data to UE 11, it may discard some data packets, such as data packet F, due to network resource constraints, network latency, service priority adjustments, or power conservation. Since UE 11 is unaware that data packet F has been discarded, UE 11 waits to receive data packet F. In some embodiments, after waiting for a certain period of time, UE 11 may send a status report (SR) to network device 12, instructing network device 12 to retransmit data packet F. However, network device 12 has already discarded data packet F and cannot retransmit it. Consequently, UE 11 remains in a waiting state, causing data transmission between UE 11 and network device 12 to become blocked.

[0390] In view of this, the present application provides a communication method, in which, during the process of sending data from a sending end to a receiving end, if the sending end discards some data packets, the sending end can send a discard report to the receiving end to indicate the discarded data packets, so as to inform the receiving end of the discarded data packets through the discard report, so that the receiving end exits the waiting state, thereby avoiding data transmission deadlock between the sending end and the receiving end.

[0391] For example, after receiving the discard report sent by the sender, the receiver can update the lower boundary of the receiving window according to the discard report. After the lower boundary of the receiving window of the sender is updated, the sender exits the waiting state.

[0392] In some embodiments, the transmitting end is a UE and the receiving end is a network device. Alternatively, the transmitting end is a network device and the receiving end is a UE.

[0393] In some embodiments, the discarded data packet may be an SDU or a PDU, which is not limited here.

[0394] In some embodiments, the discarded data packet may be a data packet of the RLC layer, a data packet of the PDCP layer, or a data packet of other layers, which is not limited here.

[0395] For ease of understanding, the following describes the information and structure of a discard report:

[0396] Information contained in the discard report

[0397] In some embodiments, a discard report may include the following information:

[0398] First information, used to indicate a discarded data packet;

[0399] The second information is used to indicate that the discard report is a control message;

[0400] The third information is used to indicate that the discard report is a message indicating a discarded data packet.

[0401] In some embodiments, the second information includes a D / C field, which occupies 1 bit, where D represents a data message and C represents a control message.

[0402] In some embodiments, when the D / C field is a first value (e.g., 0), it indicates that the discard report is a data message, and when the D / C field is a second value (e.g., 1), it indicates that the discard report is a control message. Typically, the discard report is a control message, so the value of the D / C field is 1.

[0403] In some embodiments, the third information includes a CPT field or a PDU TYPE field, which occupies 3 bits. The CPT field is used to indicate that the discard report is a message indicating a data packet discarded by the RLC layer. The PDU TYPE field is used to indicate that the discard report is a message indicating a data packet discarded by the PDCP layer.

[0404] In some embodiments, the CPT field or PDU TYPE field in the discard report is located after the D / C field. For example, the D / C field occupies bit 0 of byte 0 of the discard report. The CPT field or PDU TYPE field occupies bits 1 to 3 of byte 0 of the discard report.

[0405] In some embodiments, the first information may include one or more of the following information:

[0406] (1) First field

[0407] The first field is used to indicate the SN or COUNT value of the discarded data packet.

[0408] In some embodiments, the first field may be a Discard_SN field or a Discard_COUNT field, or may be an FDS field or an FDC field.

[0409] The Discard_SN field may be used to indicate the SN of each data packet discarded by the RLC layer, or may be used to indicate the SN of the first data packet of consecutively discarded data packets or a single discarded data packet among the data packets discarded by the RLC layer.

[0410] The Discard_COUNT field may be used to indicate the SN of each data packet discarded by the PDCP layer, and may also be used to indicate the COUNT value of the first data packet of consecutively discarded data packets or a single discarded data packet among the data packets discarded by the RLC layer.

[0411] The FDS field is used to indicate the SN of the first data packet among the data packets discarded by the RLC layer.

[0412] The FDC field is used to indicate the COUNT value of the first data packet among the data packets discarded by the PDCP layer.

[0413] In some embodiments, the Discard_SN field and the FDS field occupy 12 bits or 18 bits, and the Discard_COUNT field and the FDC field occupy 32 bits.

[0414] In some embodiments, the data packet indicated by the first field is not transmitted to the lower layer (eg, the PDCP layer does not transmit to the RLC layer, or the RLC layer does not transmit to the MAC layer), or the data packet is not received or confirmed to be received.

[0415] (2) Second field

[0416] The second field, or S field, occupies 1 bit and is used to indicate whether there are consecutive discarded packets.

[0417] In some embodiments, when the S field is a first value, it indicates that there are subsequently consecutively discarded data packets. When the S field is a second value, it indicates that there are subsequently no consecutively discarded data packets. The description of the S field is shown in Table 1 below:

[0418] Table 1

[0419] As shown in Table 1, when the value of the S field is 0 (as an example of the first value), the range field (a field used to indicate the number of consecutively discarded data packets) will exist, indicating the discarding of consecutive data packets; when the value of the S field is 1 (as an example of the second value), the range field does not exist, indicating the discarding of one data packet (i.e., a non-consecutive data packet).

[0420] (3) The third field

[0421] The third field, or range field, occupies 8 bits or 10 bits and is used to indicate the number of consecutive discarded packets.

[0422] (4) The fourth field

[0423] The fourth field, or called the number field, occupies 4-8 bits and is used to indicate the number of discard information carried by the discard report, wherein one discard information is used to indicate one discarded data packet, or multiple data packets discarded continuously.

[0424] In some embodiments, when the value of the number field is N, it indicates that there will be N+1 discarded information in the future, where N is a positive integer greater than or equal to 0. For example,

[0425] For example, when the value of the number field is 0, it indicates that there is only one discarded message to be sent. When the value of the number field is 1, it indicates that there are two discarded messages to be sent. When the value of the number field is 2, it indicates that there are three discarded messages to be sent.

[0426] (5) The fifth field

[0427] The fifth field, or called the P1 field, occupies 1 bit and is used to indicate whether there is any discard information.

[0428] It can be understood that the P1 field can indicate whether the following fields exist subsequently: Discard_SN field or Discard_COUNT field, S field, range field.

[0429] (6) Sixth field

[0430] The sixth field, or bitmap field, is used to indicate the discard status of the data packet, where the discard status includes discarded or not discarded. Specifically, the bitmap field is used to indicate whether the data packet following the FDS field or the FDC field is discarded. In one implementation, the definition of the bitmap field can be found in the following table:

[0431] Table 6.3.10-1 Bitmap

[0432] Table 6.3.10-1 Bitmap

[0433] In another implementation, the remainder may not be taken in the above table.

[0434] (7) The seventh field

[0435] The seventh field, or Length field, is used to indicate the length of the sixth field, such as the number of bytes or bits in the sixth field. For example, when the value of the Length field is 32, it means that the Bitmap occupies 32 bits, or when the value of the Length field is 4, it means that the Bitmap occupies 4 bytes.

[0436] (8) R bit

[0437] The R bit is used to fill the bits in the discard report that do not contain valid information. The R bit occupies 1 bit.

[0438] In some embodiments, the fields included in the discard report may be combined in the following ways, but not limited to:

[0439] (a) D / C field, CPT field, Discard_SN field. Or, D / C field, PDU TYPE field, Discard_COUNT field.

[0440] (b) D / C field, CPT field, Discard_SN field, S field, range field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field, range field.

[0441] (c) D / C field, CPT field, FDS field, Bitmap field. Or, D / C field, PDU TYPE field, FDC field, Bitmap field.

[0442] (d) D / C field, CPT field, Discard_SN field, S field, range field, number field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field, range field, number field.

[0443] (e) D / C field, CPT field, Discard_SN field, S field, range field, P1 field. Or, D / C field, PDU TYPE field, Discard_COUNT field, S field, range field, P1 field.

[0444] (f) D / C field, CPT field, FDS field, Bitmap field, Length field. Or, D / C field, PDU TYPE field, FDC field, Bitmap field, Length field.

[0445] The specific structure of the discard report is introduced below in conjunction with specific embodiments.

[0446] It should be noted that in the following embodiments, the D / C field occupies the 0th bit of the discard report, the CPT field occupies the 1st to 3rd bits of the discard report, and the R bit occupies the bit in the discard report that does not contain valid information.

[0447] It should be noted that the bit and byte numbers of the discard report are both encoded starting from 0. For example, if the discard report is H bytes long, that is, 8H bits, then the byte encoding of the discard report is: byte 0 to byte H-1, and the bit encoding of the discard report is: bit 0 to bit H-1, where H is a positive integer.

[0448] It can be understood that a discard report can be a message of a fixed size or a message of a non-fixed size. A discard report of a fixed size includes discard information of a fixed amount of data. A discard report of a non-fixed size includes discard information of a non-fixed amount. Among them, one discard information is used to indicate a discarded data packet, or multiple data discarded continuously. For example, one discard information may include: a Discard_SN field; or, a Discard_COUNT field; or, a Discard_SN field, an S field and a range field; or, a Discard_COUNT field, an S field and a range field; or, an FDS field and a Bitmap field; or, an FDC field and a Bitmap field, etc.

[0449] It is understood that for a fixed-size drop report, when the number of drop information L1 used in the drop report is less than the fixed number L2 specified by the drop report, the drop report can use the first L1 drop information to indicate the discarded data packets, and the values ​​of the fields in the last L2-L1 drop information in the drop report (e.g., Discard_SN field, Discard_COUNT, etc.) can be set to 0, where L1 and L2 are positive integers. For a non-fixed-size drop report, if the drop report needs to use L3 drop information to indicate the discarded data packets, the non-fixed-size drop report can include L3 drop information, where L3 is a positive integer.

[0450] Fixed size

[0451] [Implementation Method 1]

[0452] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; Discard_SN field or Discard_COUNT field.

[0453] The Discard_SN field or the Discard_COUNT field serves as the first information, the D / C field serves as the second information, and the CPT field or the PDU TYPE field serves as the third information.

[0454] It is understood that when a discard report indicates only packets discarded by the RLC layer using the Discard_SN field, each Discard_SN field in the discard report is used to indicate the SN of each packet discarded by the RLC layer. When a discard report indicates only packets discarded by the PDCP layer using the Discard_COUNT field, each Discard_COUNT field in the discard report is used to indicate the COUNT value of each packet discarded by the PDCP layer.

[0455] In some embodiments, the CPT field or the PDU TYPE field in the discard report is located after the D / C field.

[0456] (1) Corresponding to the RLC layer, the discard report includes the D / C field, the CPT field and the Discard_SN field, which are used to indicate the data packets discarded by the RLC layer.

[0457] In some embodiments, the Discard_SN field is located after the CPT field, and the CPT field is located after the D / C field.

[0458] In some embodiments, a discard report includes one D / C field, one CPT field, and M Discard_SN fields. The first P of the M Discard_SN fields are used to indicate P packets discarded by the RLC layer. P and M are both positive integers, and M ≥ P.

[0459] In some embodiments, the D / C field occupies bit 0 of the discard report. The CPT field occupies bits 1 to 3 of the discard report. When the Discard_SN field occupies 12 bits, the i-th Discard_SN field occupies bits 12i-8 to 12i+3 of the discard report. When the Discard_SN field occupies 18 bits, the i-th Discard_SN field occupies bits 18i-14 to 18i+3 of the discard report, where 1≤i≤M.

[0460] It can be understood that, among the first P Discard_SN fields in the discard report, the value of the mth Discard_SN field is the SN of the mth data packet discarded by the RLC layer, where 0≤m≤P. The value of the Discard_SN field after the first P Discard_SN fields in the discard report is 0, indicating that it does not exist.

[0461] Exemplarily, referring to FIG10 , corresponding to M=2, the discard report includes two Discard_SN fields, ie, two pieces of discard information, and the Discard_SN field occupies 12 bits.

[0462] As shown in Figure 10, the D / C field occupies bit 0 of the discard report, the CPT field occupies bits 1 to 3 of the discard report, the first Discard_SN field occupies bits 4 to 7 of the discard report and the first byte of the discard report. The second Discard_SN field occupies bits 16 to 27 of the discard report.

[0463] Exemplarily, referring to FIG. 11 , corresponding to M=2, the discard report includes two Discard_SN fields, ie, two pieces of discard information, and the Discard_SN field occupies 18 bits.

[0464] As shown in Figure 11, the D / C field occupies bit 0 of the discard report, the CPT field occupies bits 1 to 3 of the discard report, the first Discard_SN field occupies bits 4 to 21 of the discard report, and the second Discard_SN field occupies bits 22 to 39 of the discard report.

[0465] In some cases, corresponding to P=1, the RLC layer discards only one data packet. In this case, the value of the first Discard_SN field in the discard report shown in Figures 10 and 11 is the SN of the data packet, and the value of the second Discard_SN field can be 0. In the case of P=1, the RLC layer discards two data packets. In this case, the value of the first Discard_SN field in the discard report is the SN of the first discarded data packet, and the value of the second Discard_SN field is the SN of the second discarded data packet.

[0466] (2) Corresponding to the PDCP layer, the discard report includes the D / C field, the PDU TYPE field and the Discard_COUNT field.

[0467] In some embodiments, the Discard_COUNT field is located after the CPT field, and the PDU TYPE field is located after the D / C field.

[0468] In some embodiments, the discard report includes one D / C field, one PDU TYPE field, and M Discard_COUNT fields, wherein the first P Discard_COUNT fields of the M Discard_COUNT fields are used to indicate P data packets discarded by the PDCP layer.

[0469] In some embodiments, the i-th Discard_COUNT field occupies bits 32i-14 to 32i+8 of the discard report.

[0470] Exemplarily, referring to FIG. 12 , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, ie, 2 discard information.

[0471] As shown in Figure 12, the D / C field occupies bit 0 of the discard report. The PDU TYPE field occupies bits 1 to 3 of the discard report. The first Discard_COUNT field occupies bits 8 to 8i+32 of the discard report.

[0472] It can be understood that, among the first P Discard_COUNT fields in the discard report, the value of the mth Discard_COUNT field is the COUNT value of the mth data packet discarded by the PDCP layer. The value of the Discard_COUNT field after the first P Discard_COUNT fields in the discard report can be 0.

[0473] For example, for the discard report shown in Figure 12, corresponding to P=1, that is, the PDCP layer discarded 1 data packet, the value of the first Discard_COUNT field in the discard report is the COUNT value of the first data packet discarded by the PDCP layer; the values ​​of the 2 Discard_COUNT fields in the discard report can be 0, indicating that the field does not exist.

[0474] [Implementation Method 2]

[0475] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; Discard_SN field or Discard_COUNT field; S field; range field.

[0476] The Discard_SN field or the Discard_COUNT field, the S field, and the Range field serve as the aforementioned first information, the D / C field serves as the aforementioned second information, and the CPT field or the PDU TYPE field serves as the aforementioned third information.

[0477] It can be understood that when the discard report indicates the discarded data packet through the Discard_SN field, S field and range field, each Discard_SN field in the discard report is used to indicate the SN of the first data packet or the individually discarded data packet among the data packets continuously discarded by the RLC layer.

[0478] It can be understood that when the discard report indicates the discarded data packets through the Discard_COUNT field, S field and range field, each Discard_COUNT field in the discard report is used to indicate the COUNT value of the first data packet or the individually discarded data packet among the data packets continuously discarded by the PDCP layer.

[0479] (1) Corresponding to the RLC layer, the discard report includes the D / C field, the CPT field, the Discard_SN field, the S field and the range field, which are used to indicate the data packets discarded by the RLC layer.

[0480] In some embodiments, a discard report includes one D / C field, one CPT field, M Discard_SN fields, M S fields, and M range fields, i.e., includes one D / C field, one CPT field, and M discard information. The first J Discard_SN fields, the first J S fields, and the first J Range fields of the discard report are used to indicate J discard information, which are used to indicate J groups of data packets discarded by the RLC layer. A group of data packets in the J group of data packets includes a group of multiple consecutively discarded data packets or a single discarded data packet. J and M are positive integers, and J ≥ K.

[0481] It can be understood that the values ​​of the j-th Discard_SN field, the j-th S field, and the j-th range field in the first J discard information of the discard report are the values ​​of the Discard_SN field, S field, and range field corresponding to the j-th data packet discarded by the RLC layer. The values ​​of the Discard_SN field, S field, and range field in the last MJ discard information of the discard report can be 0, indicating that they do not exist. Wherein, j is a positive integer, and 1≤j≤J. When the Discard_SN field occupies 12 bits and the range field occupies 10 bits:

[0482] In some embodiments, the i-th Discard_SN field occupies bits 0 to 3 of the 4i-3 byte and the 4i-2 byte of the discard report, the i-th S field occupies any one of bits 4 to 7 of the 4i-2 byte of the discard report, and the i-th range field occupies bits 0 and 1 of the 4i-1 byte and the 4i byte of the discard report.

[0483] Exemplarily, referring to FIG. 13 , corresponding to M=4, the discard report includes 4 Discard_SN fields, 4 S fields, and 4 range fields.

[0484] As shown in Figure 13, the first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies bits 0 to 1 of the third byte and bits 4 of the fourth byte of the discard report.

[0485] The second Discard_SN field occupies bits 0 to 3 of the 5th byte and the 6th byte of the discard report, the second S field occupies bit 4 of the 6th byte of the discard report, and the second range field occupies bits 0 to 1 of the 7th byte and the 8th byte of the discard report.

[0486] The 3rd Discard_SN field occupies the 9th byte and bits 0 to 3 of the 10th byte of the discard report, the 3rd S field occupies the 4th bit of the 10th byte of the discard report, and the 3rd range field occupies bits 0 to 1 of the 11th byte and bits 12 of the discard report.

[0487] The 4th Discard_SN field occupies the 13th byte and bits 0 to 3 of the 14th byte of the discard report, the 4th S field occupies the 4th bit of the 14th byte of the discard report, and the 4th range field occupies bits 0 to 1 of the 15th byte and bits 16 of the discard report.

[0488] In other embodiments, the i-th Discard_SN field occupies bits 0 to 3 of the 3i-2 byte and the 3i-1 byte of the discard report, the i-th S field occupies bits 4 or 5 of the 3i-1 byte of the discard report, and the i-th range field occupies bits 6 to 7 of the 3i-1 byte of the discard report and the 3i byte of the discard data report.

[0489] For example, referring to Figure 14, corresponding to M=1, the discard report includes one Discard_SN field, one S field, and one range field. The first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies bits 6 to 7 of the second byte of the discard report and the third byte of the discard report.

[0490] In other embodiments, the i-th Discard_SN field occupies bits 4 to 7 of the 4i-4th byte and the 4i-3th byte of the discard report, the i-th S field occupies bit 0 of the 4i-2th byte of the discard report, and the i-th range field occupies bits 1 to 7 of the 4i-2th byte and bits 0 to 2 of the 4i-1th byte of the discard report.

[0491] For example, referring to Figure 15, corresponding to M=2, the discard report includes two Discard_SN fields, two S fields, and two Range fields. The first Discard_SN field occupies bits 4 to 7 of the 0th byte and the 1st byte of the discard report, the first S field occupies bit 0 of the 2nd byte of the discard report, and the first Range field occupies bits 0 to 7 of the 2nd byte and bits 0 to 3 of the 3rd byte of the discard report.

[0492] The second Discard_SN field occupies bits 4 to 7 and 5 of the fourth byte of the discard report, the second S field occupies bit 0 of the sixth byte of the discard report, and the second range field occupies bits 0 to 2 of the seventh byte of the discard report.

[0493] When the Discard_SN field occupies 12 bits, the Range field occupies 10 bits, and M is greater than 1:

[0494] In some embodiments, the first Discard_SN field occupies bits 4 to 7 of the 0th byte and the 1st byte of the discard report; the k+1th Discard_SN field occupies bits 0 to 3 of the 3k+1th byte and the 3k+2th byte of the discard report, where k is a positive integer and 1≤k≤M-1.

[0495] The first S field occupies any one of the 0th to 5th bits of the 2nd byte of the discard report; the k+1th S field occupies the 4th or 5th bit of the 3k+2th byte of the discard report.

[0496] The first range field occupies bits 6 to 7 of the second byte of the discard report and the third byte of the discard report; the k+1th range field occupies bits 6 to 7 of the 3k-1th byte of the discard report and the 3kth byte of the range field.

[0497] For example, referring to Figure 16, corresponding to M=3, the discard report includes three Discard_SN fields, three S fields, and three Range fields. The first Discard_SN field occupies bits 4 to 7 of byte 0 of the discard report and the first byte of the discard report; the first S field occupies bit 0 of byte 2 of the discard report; and the first Range field occupies bits 6 to 7 of byte 2 of the discard report and the third byte of the discard report.

[0498] The second Discard_SN field occupies bits 0 to 3 of the 4th byte and the 5th byte of the discard report; the second S field occupies bit 4 of the 5th byte of the discard report; the second range field occupies bits 6 to 7 of the 5th byte of the discard report and the 6th byte of the discard report.

[0499] The 3rd Discard_SN field occupies bits 0 to 3 of the 7th byte and the 8th byte of the discard report, the 3rd S field occupies bit 4 of the 8th byte of the discard report, and the 3rd range field occupies bits 6 to 7 of the 8th byte and the 9th byte of the discard report.

[0500] When the Discard_SN field occupies 18 bits and the Range field occupies 8 bits:

[0501] In some embodiments, the i-th Discard_SN field occupies bits 0 to 1 of the 4i-3 byte, the 4i-2 byte, and the 4i-1 byte of the discard report, the i-th S field occupies any one of bits 2 to 7 of the 4i-1 byte of the discard report, and the i-th range field occupies the 4i byte of the discard report.

[0502] Exemplarily, referring to FIG. 17 , corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields, and 3 range fields.

[0503] As shown in Figure 17, the first Discard_SN field occupies the first byte, bits 0 to 1 of the second and third bytes of the discard report, the first S field occupies the second bit of the third byte of the discard report, and the first range field occupies the fourth byte of the discard report.

[0504] The second Discard_SN field occupies the 5th byte, bits 0 to 1 of the 6th byte and the 7th byte of the discard report, the first S field occupies the 2nd bit of the 7th byte of the discard report, and the first range field occupies the 8th byte of the discard report.

[0505] The third Discard_SN field occupies the 9th byte, the 10th byte, and bits 0 to 1 of the 11th byte of the discard report, the third S field occupies the 2nd bit of the 11th byte of the discard report, and the third range field occupies the 12th byte of the discard report.

[0506] (2) Corresponding to the PDCP layer, the discard report includes the D / C field, the PDU TYPE field, the Discard_COUNT field, the S field, and the range field, which are used to indicate the data packets discarded by the PDCP layer.

[0507] In some embodiments, a discard report includes one D / C field, one PDU TYPE field, M Discard_COUNT fields, M S fields, and M range fields. That is, it includes one D / C field, one PDU TYPE field, and M discard information. The first J Discard_COUNT fields, the first J S fields, and the first J range fields in the discard report are used to indicate J discard information, which are used to indicate J groups of data packets discarded by the PDCP layer. A group of data packets in the J group of data packets includes a group of multiple consecutively discarded data packets or a single discarded data packet. J and M are positive integers, and M ≥ J.

[0508] It can be understood that the values ​​of the j-th Discard_COUNT field, the j-th S field, and the j-th Range field in the first J discard information of the discard report are the values ​​of the Discard_COUN field, the S field, and the Range field corresponding to the j-th data packet discarded by the PDCP layer. The values ​​of the Discard_COUN field, the S field, and the Range field in the last MJ discard information of the discard report can be 0, indicating that they do not exist.

[0509] In some embodiments, when the range field occupies 10 bits, the i-th Discard_COUNT field occupies the 6i-5th to 6i-2th bytes of the discard report, the i-th S field occupies any one of the 0th to 5th bits of the 6i-1th byte of the discard report, and the i-th range field occupies the 6th to 7th bits and the 6i-1th byte of the discard report.

[0510] Exemplarily, referring to FIG. 18A , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, and 2 range fields.

[0511] As shown in FIG18A , the first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th to 7th bits and the 6th byte of the 5th byte of the discard report.

[0512] The second Discard_COUNT field occupies the 7th to 10th bytes of the discard report, the second S field occupies the 0th bit of the 11th byte of the discard report, and the second range field occupies the 6th to 7th bits of the 11th byte and the 12th byte of the discard report.

[0513] In other embodiments, when the range field occupies 10 bits, the i-th Discard_COUNT field occupies the 7i-6th to 7i-3th bytes of the discard report, the i-th S field occupies any one of the 0th to 7th bits of the 7i-2th byte of the discard report, and the i-th range field occupies the 7i-1th byte and the 0th to 1st bits of the 7i-1th byte of the discard report.

[0514] Exemplarily, referring to FIG. 18B , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, and 2 range fields.

[0515] As shown in FIG18B , the first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th to 7th bits of the 6th byte and the 7th byte of the discard report.

[0516] The second Discard_COUNT field occupies the 8th to 11th bytes of the discard report, the second S field occupies the 0th bit of the 12th byte of the discard report, and the second range field occupies the 0th to 1st bits of the 13th and 14th bytes of the discard report.

[0517] [Implementation Method 3]

[0518] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; FDS field or FDC field; Bitmap field.

[0519] The Discard_SN field or the Discard_COUNT field, and the FDS field or the FDC field serve as the aforementioned first information, the D / C field serves as the aforementioned second information, and the CPT field or the PDU TYPE field serves as the aforementioned third information.

[0520] The FDS field is used to indicate the SN of the first packet discarded by the RCL layer, and the FDC field is used to indicate the COUNT value of the first packet discarded by the PDCP layer.

[0521] It is understandable that the length of the Bitmap field can be predefined. For example, the length of the Bitmap field can be defined as 32 bits or 4 bytes, etc., and there is no limitation on this.

[0522] (1) Corresponding to the RLC layer, the discard report includes a D / C field, a CPT field, an FDS field, and a Bitmap field, which are used to indicate the data packets discarded by the RLC layer.

[0523] In some embodiments, when the FDS field occupies 12 bits and the length of the Bitmap field is Z (Z is a positive integer) bytes: the FDS field occupies bits 4 to 7 and byte 2 of section 0 of the discard report, and the Bitmap field occupies bytes 2 to 1+Z of the discard report. For example, referring to FIG19 , when Z=4, the Bitmap field occupies bytes 2 to 5 of the discard report.

[0524] In some other embodiments, when the FDS field occupies 12 bits and the length of the Bitmap field is Y bits: the FDS field occupies bits 4 to 7 and byte 2 of section 0 of the discard report, and the Bitmap field occupies bits 16 to 16+Y of the discard report. For example, when Y=14, the Bitmap field occupies bits 16 to 30 of the discard report.

[0525] In some embodiments, where the FDS field occupies 18 bits and the Bitmap field occupies Z bytes: the FDS field occupies bits 6 to 7 of Section 0, Section 1, and Section 2 of the discard report; the Bitmap field occupies bytes 3 to 2+Z of the discard report. For example, referring to FIG. 20 , when Z=4, the Bitmap field occupies bytes 3 to 6 of the discard report.

[0526] In some other embodiments, when the FDS field occupies 18 bits and the length of the Bitmap field is Y bits: the FDS field occupies bits 6 to 7 of section 0, section 1, and section 2 of the discard report; and the Bitmap field occupies bits 24 to 24+Y of the discard report. For example, when Y=14, the Bitmap field occupies bits 24 to 38 of the discard report.

[0527] (2) Corresponding to the PDCP layer, the discard report includes a D / C field, a CPT field, an FDC field, and a Bitmap field, which are used to indicate the data packets discarded by the PDCP layer.

[0528] As you can understand, the bitmap (4 bytes) can report whether a total of 32 packets have been discarded. For example, each position in the bitmap corresponds to a bit. There are 32 positions in the bitmap, the first position is 1 (the second position is 2), and the bit corresponding to each position can have a value of 0 or 1. The first COUNT value after the FDC is the FDC plus the first position in the bitmap (plus 1). If the bit corresponding to this position is 0, the packet corresponding to FDC+1 has been discarded. If the bit corresponding to this position is 1, the packet corresponding to FDC+1 has not been discarded.

[0529] In some embodiments, when the Bitmap field occupies Z bytes, the FDC field occupies bytes 1 to 4 of the discard report, and the Bitmap field occupies bytes 5 to 4+Z of the discard report. For example, referring to FIG21 , when X=4, the Bitmap field occupies bytes 5 to 8 of the discard report.

[0530] In some other embodiments, when the length of the Bitmap field is Y bits, the FDC field occupies the 1st to 4th bytes of the discard report, and the Bitmap field occupies the 40th to 40+Y bits of the discard report. For example, when Y=14, the Bitmap field occupies the 40th to 54th bits of the discard report.

[0531] Non-fixed size

[0532] [Implementation 4]

[0533] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; Discard_SN field or Discard_COUNT field; S field; range field; number field.

[0534] The number field precedes the discard information (for example, the Discard_SN field or the Discard_COUNT field). When the number field precedes the first discard information, it indicates how many discard information items are included in the discard report. When the number field follows the first discard information and is between the second discard information item, it indicates how many discard information items exist in addition to the first discard information item.

[0535] The Discard_SN field or the Discard_COUNT field, the S field, the range field, and the number field serve as the aforementioned first information, the D / C field serves as the aforementioned second information, and the CPT field or the PDU TYPE field serves as the aforementioned third information.

[0536] The Discard_SN field is used to indicate the SN of the first data packet among the data packets discarded continuously by the RLC layer, or the SN of a data packet discarded individually.

[0537] The Discard_COUNT field is used to indicate the COUNT value of the first packet among the packets discarded consecutively by the PDCP layer, or the COUNT value of a single packet discarded.

[0538] (1) For the RLC layer, the discard report includes the D / C field, CPT field, Discard_SN field, S field, range field and number field, which are used to indicate the data packets discarded by the RLC layer.

[0539] In some embodiments, the discard report includes 1 D / C field, 1 CPT field, M Discard_SN fields, M S fields, M range fields and 1 number field.

[0540] In some embodiments, when the Discard_SN field occupies 12 bits, the range field occupies 8 bits, and the number field occupies 4 bits:

[0541] The number field occupies bits 4 to 7 of byte 0 of the discard report;

[0542] The i-th Discard_SN field occupies bits 0 to 3 of the 3i-2th byte and the 3i-1th byte of the discard report;

[0543] The i-th S field occupies any one of the 4th to 7th bits of the 3i-1th byte of the discard report;

[0544] The i-th range field occupies the 3i-th byte of the discard report.

[0545] Exemplarily, referring to FIG. 22 , the discard report includes 3 Discard_SN fields, 3 S fields, and 3 range fields.

[0546] As shown in Figure 22, the first Discard_SN field occupies the first byte and bits 0 to 3 of the second byte of the discard report, the first S field occupies the fourth bit of the second byte of the discard report, and the first range field occupies the third byte of the discard report.

[0547] The second Discard_SN field occupies bits 0 to 3 of the 4th byte and the 5th byte of the discard report, the second S field occupies bit 4 of the 5th byte of the discard report, and the second range field occupies the 6th byte of the discard report.

[0548] The third Discard_SN field occupies the 7th byte and bits 0 to 3 of the 8th byte of the discard report, the third S field occupies the 4th bit of the 8th byte of the discard report, and the third range field occupies the 9th byte of the discard report.

[0549] In some embodiments, when the Discard_SN field occupies 12 bits, the range field occupies 8 bits, the number field occupies 6 bits, and M is greater than 1:

[0550] The number field occupies bits 4 to 7 of byte 0 and bits 0 to 1 of byte 1 of the discard report.

[0551] The first Discard_SN field occupies bits 2 to 7 of the first byte and bits 0 to 5 of the second byte of the discard report; the k+1th Discard_SN field occupies bits 0 to 3 of the 3k+1 byte and 3k+2 bytes of the discard report.

[0552] The first S field occupies the 6th or 7th bit of the 2nd byte of the discard report; the k+1th S field occupies any one of the 4th to 7th bits of the 3k+2 bytes of the discard report.

[0553] The k+1th range field occupies 3k bytes of the drop report.

[0554] Exemplarily, referring to FIG. 23 , corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields, and 3 range fields.

[0555] As shown in Figure 23, the first Discard_SN field occupies the 2nd to 7th bits of the 1st byte and the 0th to 5th bits of the 2nd byte of the discard report, the first S field occupies the 6th bit of the 2nd byte of the discard report, and the first range field occupies the 3rd byte of the discard report.

[0556] The second Discard_SN field occupies the 4-byte and 5-byte bits 0 to 3 of the discard report, the second S field occupies the 4th bit of the 5-byte discard report, and the second range field occupies the 6-byte discard report.

[0557] The 3rd Discard_SN field occupies bits 0 to 3 of byte 7 and byte 8 of the discard report, the 3rd S field occupies bit 4 of byte 8 of the discard report, and the 3rd range field occupies 9 bytes of the discard report.

[0558] (2) For the PDCP layer, the discard report includes the D / C field, the PDU TYPE field, the Discard_COUNT field, the S field, the range field, and the number field, which are used to indicate the data packets discarded by the PDCP layer.

[0559] In some embodiments, the discard report includes 1 D / C field, 1 PDU TYPE field, M Discard_COUNT fields, M S fields, M range fields and 1 number field.

[0560] In some embodiments, when the range field occupies 8 bits and the number field occupies 4 bits:

[0561] The number field occupies bits 4 to 7 of byte 0 of the discard report;

[0562] The i-th Discard_COUNT field occupies bytes 6i-5 to 6i-2 of the discard report;

[0563] The i-th S field occupies any one of bits 0 to 8 of the 6i-1-th byte of the discard report;

[0564] The i-th range field occupies the 6i-th byte of the discard report.

[0565] Exemplarily, referring to FIG. 24 , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, and 2 range fields.

[0566] As shown in FIG24 , the first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first S field occupies the 0th bit of the 5th byte of the discard report, and the first range field occupies the 6th byte of the discard report.

[0567] The second Discard_COUNT field occupies bytes 7 to 10 of the discard report, the second S field occupies bit 0 of the 11th byte of the discard report, and the second range field occupies the 12th byte of the discard report.

[0568] When the range field occupies 8 bits, the number field occupies 6 bits, and M is greater than 1:

[0569] The number field occupies bits 4 to 7 of byte 0 and bits 0 to 1 of byte 1 of the discard report;

[0570] The first S field occupies any one of the 2nd to 7th bits of the first byte of the discard report; the k+1th S field occupies any one of the 4th to 7th bits of the 6k+1th byte of the discard report;

[0571] The first Discard_COUNT field occupies the 2nd to 5th bytes of the discard report; the k+1th Discard_COUNT field occupies the 6k-4th to 6k-1th bytes of the discard report;

[0572] The kth range field occupies the first 6k bytes of the discard report.

[0573] Exemplarily, referring to FIG. 25 , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, and 2 range fields.

[0574] As shown in FIG25 , the first S field occupies the second bit of the first byte of the discard report, the first Discard_COUNT field occupies the second to fifth bytes of the discard report, and the first range field occupies the sixth byte of the discard report.

[0575] The second S field occupies the 0th bit of the 7th byte of the discard report, the second Discard_COUNT field occupies the 8th to 11th bytes of the discard report, and the second range field occupies the 12th byte of the discard report.

[0576] [Implementation 5]

[0577] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; Discard_SN field or Discard_COUNT field; S field; range field; P1 field.

[0578] The Discard_SN field or the Discard_COUNT field, the S field, the range field, and the P1 field serve as the aforementioned first information, the D / C field serves as the aforementioned second information, and the CPT field or the PDU TYPE field serves as the aforementioned third information.

[0579] The Discard_SN field is used to indicate the SN of the first data packet among the data packets discarded continuously by the RLC layer, or the SN of a data packet discarded individually.

[0580] The Discard_COUNT field is used to indicate the COUNT value of the first packet among the packets discarded consecutively by the PDCP layer, or the COUNT value of a single packet discarded.

[0581] (1) Corresponding to the RLC layer, the discard report includes the D / C field, the CPT field, the Discard_SN field, the S field, the range field, and the P1 field, which are used to indicate the data packets discarded by the RLC layer.

[0582] In some embodiments, the discard report includes 1 D / C field, 1 CPT field, M Discard_SN fields, M S fields, M range fields, and M P1 fields.

[0583] In some embodiments, when the Discard_SN field occupies 18 bits and the Range field occupies 8 bits:

[0584] The i-th Discard_SN field occupies bits 0 to 1 of the 4i-3rd, 4i-2nd, and 4i-1st bytes of the discard report;

[0585] The i-th P1 field occupies the 3rd bit of the 4i-1th byte of the discard report;

[0586] The i-th S field occupies any one of the 3rd to 8th bits of the 4i-1th byte of the discard report;

[0587] The i-th range field occupies the 4i-th byte of the discard report.

[0588] Exemplarily, referring to FIG. 26 , corresponding to M=3, the discard report includes 3 Discard_SN fields, 3 S fields, 3 range fields, and 3 P1 fields.

[0589] As shown in Figure 26, the first Discard_SN field occupies the first byte, bits 0 to 1 of the second and third bytes of the discard report, the first P1 field occupies the second bit of the third byte of the discard report, the first S field occupies the third bit of the third byte of the discard report, and the first range field occupies the fourth byte of the discard report.

[0590] The second Discard_SN field occupies the 5th byte, bits 0 to 1 of the 6th and 7th bytes of the discard report, the second P1 field occupies the 2nd bit of the 7th byte of the discard report, the second S field occupies the 3rd bit of the 7th byte of the discard report, and the first range field occupies the 8th byte of the discard report.

[0591] The 3rd Discard_SN field occupies the 9th byte, the 10th byte and bits 0 to 1 of the 11th byte of the discard report, the 3rd P1 field occupies the 2nd bit of the 11th byte of the discard report, the 3rd S field occupies the 3rd bit of the 11th byte of the discard report, and the 3rd range field occupies the 12th byte of the discard report.

[0592] In some embodiments, when the Discard_SN field occupies 12 bits and the Range field occupies 8 bits:

[0593] The i-th Discard_SN field occupies bits 0 to 1 of the 3i-2th and 3i-1th bytes of the discard report;

[0594] The i-th P1 field occupies the 3rd bit of the 3i-1th byte of the discard report;

[0595] The i-th S field occupies any one of the 3rd to 8th bits of the 3i-1th byte of the discard report;

[0596] The i-th range field occupies the 3i-th byte of the discard report.

[0597] Exemplarily, referring to FIG. 27 , corresponding to M=2, the discard report includes 2 Discard_SN fields, 2 S fields, 2 range fields, and 2 P1 fields.

[0598] As shown in Figure 27, the first Discard_SN field occupies the first byte and bits 0 to 1 of the second byte of the discard report, the first P1 field occupies the third bit of the second byte of the discard report, the first S field occupies the third bit of the second byte of the discard report, and the first range field occupies the third byte of the discard report.

[0599] The second Discard_SN field occupies bits 0 to 1 of the 4th byte and the 5th byte of the discard report, the second P1 field occupies the 3rd bit of the 5th byte of the discard report, the second S field occupies the 3rd bit of the 5th byte of the discard report, and the second range field occupies the 6th byte of the discard report.

[0600] (2) Corresponding to the PDCP layer, the discard report includes the D / C field, the PDU TYPE field, the Discard_COUNT field, the S field, the range field, and the P1 field, which are used to indicate the data packets discarded by the PDCP layer.

[0601] In some embodiments, the discard report includes 1 D / C field, 1 PDU TYPE field, M Discard_COUNT fields, M S fields, M range fields, and M P1 fields.

[0602] In some embodiments, when the range field occupies 8 bits:

[0603] The i-th Discard_COUNT field occupies bytes 6i-5 to 6i-2 of the discard report;

[0604] The i-th P1 field occupies the first bit of the 6i-1-th byte of the discard report;

[0605] The i-th S field occupies any one of the 1st to 8th bits of the 6i-1th byte of the discard report;

[0606] The i-th range field occupies the 6i-th byte of the discard report.

[0607] Exemplarily, referring to FIG. 28 , corresponding to M=2, the discard report includes 2 Discard_COUNT fields, 2 S fields, 2 range fields, and 2 P1 fields.

[0608] As shown in Figure 28, the first Discard_COUNT field occupies the 1st to 4th bytes of the discard report, the first P1 field occupies the 0th bit of the 5th byte of the discard report, the first S field occupies the 1st bit of the 5th byte of the discard report, and the first range field occupies the 6th byte of the discard report.

[0609] The second Discard_COUNT field occupies the 7th to 10th bytes of the discard report, the second P1 field occupies the 0th bit of the 11th byte of the discard report, the second S field occupies the 1st bit of the 11th byte of the discard report, and the second range field occupies the 12th byte of the discard report.

[0610] [Implementation Method 6]

[0611] The discard report includes the following fields: D / C field; CPT field or PDU TYPE field; FDS field or FDC field; Bitmap field; Length field.

[0612] The FDS field or FDC field, the Bitmap field, and the Length field serve as the aforementioned first information, the D / C field serves as the aforementioned second information, and the CPT field or PDU TYPE field serves as the aforementioned third information.

[0613] (1) Corresponding to the PDCP layer, the discard report includes a D / C field, a PDU TYPE field, an FDC field, a Bitmap field, and a Length field, which are used to indicate the data packet discarded by the PDCP layer. In some embodiments, the Length field occupies L bits, the Bitmap field occupies Z bytes, and 8j+1≤L≤8j+4, where j is an integer greater than or equal to 0, the Length field occupies bits 4 to L+4 of the discard report, the FDC field occupies bytes j+1 to j+4, and the Bitmap field occupies bytes j+5 to j+5+Z of the discard report. Corresponding to the Length field occupies L bits, the Bitmap field occupies bytes Z, and 8j+5≤L≤8j+8, the Length field occupies bits 4 to L+4 of the discard report, the FDC field occupies bytes j+2 to j+5, and the Bitmap field occupies bytes j+6 to j+6+Z of the discard report.

[0614] In some embodiments, when the Length field occupies 2 bits and the Length field indicates that the Bitmap field occupies N bytes, referring to FIG. 29 , the Length field occupies bits 4 to 5 of byte 0 of the discard report, and the FDC field occupies bytes 1 to 4 of the discard report. When N=1, the Bitmap field occupies bytes 5 to 4+N of the discard report.

[0615] (2) Corresponding to the RLC layer, the discard report includes a D / C field, a CPT field, an FDS field, a Bitmap field, and a Length field, which are used to indicate the data packets discarded by the RLC layer.

[0616] In some embodiments, when the Length field occupies 2 bits, the Length field indicates that the Bitmap field occupies N bytes, and the FDS field occupies 12 bits, with reference to FIG30 , the Length field occupies bits 4 to 5 of byte 0 of the discard report, and the FDS field occupies bits 0 to 3 of bytes 1 and 2 of the discard report. When N=1, the Bitmap field occupies the third byte of the discard report. When N>1, the Bitmap field occupies bytes 3 to 2+N of the discard report.

[0617] In other embodiments, when the Length field occupies 2 bits, the Length field indicates that the Bitmap field occupies N bytes, and the FDS field occupies 18 bits, with reference to FIG31 , the Length field occupies bits 4 and 5 of byte 0 of the discard report, the FDS field occupies bits 6 and 7 of byte 0 of the discard report, and bytes 1 and 2 of the discard report. When N=1, the Bitmap field occupies bytes 3 of the discard report. When N>1, the Bitmap field occupies bytes 3 to 2+N of the discard report.

[0618] The above is the discard report defined in the embodiment of the present application. In some embodiments, a discard report for indicating discarded data packets can also be constructed based on the status report defined by the current protocol, for example, by adding the definition of some fields in the status report, or by reusing the structure of the status report to redefine a discard report.

[0619] In some implementations, new definitions may be added to some fields of the aforementioned status report, so that the redefined status report can be used as a discard report, which can indicate the data packets discarded by the sender.

[0620] In some embodiments, when the value of the CPT field or the PDU Type field (as the eighth field) in the status report is a first value, such as 000, it indicates that the status report is a message used to indicate a data packet successfully received by the receiving end or a data packet lost detected by the receiving end. When the value of the CPT field or the PDU Type field in the status report is a second value, such as 001, the status report is a discard report, used to indicate a discarded data packet.

[0621] The following describes the definition of each field in the status report when the CPT field or the PDU Type field in the status report takes the second value.

[0622] When the CPT field (as the eighth field) in the status report of the application RLC layer is the second value, the other fields in the status report can be interpreted as the following newly added definitions:

[0623] (1) An ACK_SN field (as the ninth field) is used to indicate the SN following the largest SN among the SNs of the discarded data packets, for example, the next SN of the largest SN.

[0624] (2) The E1 field (as the tenth field) is used to indicate whether there is subsequent discard information.

[0625] (3) NACK_SN field (as the eleventh field), used to indicate the SN corresponding to the discarded data packet (RLC SDU or RLC segment).

[0626] (4) The E2 field (as the twelfth field) can be 0 or R bits and does not contain valid information.

[0627] (5) The SOstart field (as the thirteenth field) does not exist, or the SOstart field (together with the SOend field) is used to indicate that a portion (segment) of the RLC SDU whose SN is NACK_SN is detected and discarded.

[0628] (6) The SOend field (as the fourteenth field) does not exist, or the SOend field (together with the SOstart field) is used to indicate that a portion (segment) of the RLC SDU whose SN is NACK_SN (SOend-related NACK_SN) is detected and discarded.

[0629] (7) The E3 field (as the fifteenth field) is used to indicate whether there are continuously discarded data packets.

[0630] (8) NACK range (as the sixteenth field), used to indicate the number of consecutively discarded data packets.

[0631] When the PDU Type field (as the seventeenth field) in the status report is the second value, the other fields in the status report can be interpreted as the following newly added definitions:

[0632] (1) For the PDCP layer, the FMC field is used to indicate the COUNT value of the first discarded packet. Alternatively, for the RLC layer, the FMS field (as an eighteenth field) is used to indicate the sequence number of the first discarded packet.

[0633] (2) Bitmap field (as the nineteenth field), used to indicate the discard status of the data packet.

[0634] In the above embodiment, after the new definition is added to the fields in the status report, when the value of the PCT field or the PDU Type field in the status report is the second value, the status report has the same function as a discard report. Therefore, a status report in which the value of the PCT field or the PDU Type field is the second value can be used as a discard report indicating a discarded data packet.

[0635] In other embodiments, the basic structure of the status report may be reused to construct a discard report.

[0636] For example, the ACK_SN field in the status report shown in FIG. 4 can be replaced with the first SN field, where the first SN field is used to indicate the SN after the maximum SN in the discarded data packet, for example, the next SN after the maximum SN, and its initial value is 0. Bytes 5 to 11 in the status report are deleted. These bytes include a NACK_SN field, an E1 field, an E2 field, an E3 field, an R bit, an SOstart field, and an SOend field. The NACK_SN field in the status report is then replaced with the discard_SN field, which indicates the SN of the discarded data packet. The E3 field in the status report is then replaced with the R bit, the E2 field in the status report is replaced with the E3 field, and the NACK range field in the status report is replaced with the range field, resulting in the discard report shown in FIG. 32 .

[0637] Figure 33 shows a schematic diagram of an interaction process of a communication method according to some embodiments of the present application. As shown in Figure 33, the interaction process includes the following steps:

[0638] S101: The sending end discards the data packet to be discarded.

[0639] In some embodiments, when the sending end determines that a packet discarding condition is met, the packet to be discarded may be discarded.

[0640] It can be understood that the data packets to be discarded may be data packets to be discarded at the RLC layer, data packets to be discarded at the PDCP layer, or data packets to be discarded at other network layers.

[0641] The conditions for discarding packets are as follows:

[0642] In some embodiments, a device (e.g., a transmitting end) discards data packet A (data packet to be discarded) according to a discard condition. The discard condition may be whether data packet A is within a transmission window, or further may be whether the SN corresponding to data packet A is within the transmission window. The transmission window may be a window corresponding to or reported by a sending window, or a window corresponding to or included in a receiving window.

[0643] For example, using the RLC protocol layer as an example, packet A is a packet that the RLC protocol layer has already delivered to a lower layer (e.g., the MAC protocol layer). Packet A is a packet that the PDCP layer sends to the RLC and needs to be discarded. Therefore, the transmitting RLC layer discards the packet that has been delivered to the lower layer to avoid retransmission of the packet, which would otherwise waste resources.

[0644] For example, if packet A is within the transmission window, the device can discard packet A. If packet A is not within the transmission window, the device does not need to discard packet A, that is, it does not need to take any action. Because packets outside the transmission window do not require maintenance, they do not need to be processed.

[0645] S102: The sending end sends a discard report to the receiving end.

[0646] In some embodiments, when the transmitting end meets the conditions for sending a discard report, the transmitting end may send a discard report to the receiving end.

[0647] In some embodiments, the conditions for sending the discard report include at least one of the following:

[0648] The number of data packets included in the discarded data packets is greater than a first number (e.g., 100, 200, etc.);

[0649] The time length since the last discard report was sent reaches a first time length (for example, 30 seconds, 35 seconds, etc.), or the timer used to indicate the time length since the last discard report was sent stops running (that is, the timer used to indicate the time length since the last discard report was sent times out);

[0650] There is at least one data packet among the discarded data packets that has not been completely received by the receiving end, or confirmation feedback of at least one data packet among the discarded data packets has not been received.

[0651] In some embodiments, when the RCL layer of the transmitting end discards a data packet, the transmitting end may send a discard report to the receiving end, indicating that the RCL layer discarded the data packet, such as the discard report including the CPT field, the discard_SN field, and the FDS field. When the PDCP layer of the transmitting end discards a data packet, the transmitting end may send a discard report to the receiving end, indicating that the PDCP layer discarded the data packet, such as the discard report including the PUD TYPE field, the discard_COUNT field, and the FDC field.

[0652] S103: The receiving end updates the transmission status parameters based on the discard report.

[0653] In some embodiments, after receiving the discard report, the receiving end may update the transmission state parameters, such as the lower boundary of the receiving window, based on the discarded data packets indicated in the discard report.

[0654] In some embodiments, the receiving end may update the status parameters of the receiving end based on the data packets that have been discarded and / or are to be discarded by the sending end, further update the status parameters of the sending end based on the SN number of the data packets that have been discarded or are to be discarded by the sending end, or further update the status parameters of the sending end based on the COUNT value of the data packets that have been discarded and / or are to be discarded.

[0655] In some embodiments, the receiving end may update the status parameters of the RLC layer, such as RX_Next, RX_High_Status, RX_High_Status_Trigger, etc. The receiving end may also update the status parameters of the PDCP layer, such as RX_DELIV and RX_REORD, etc.

[0656] The process of updating the state parameters of the RLC layer at the receiving end:

[0657] For example, using the RLC layer as an example, when the RLC SN corresponding to packet B is equal to the lower boundary of the receive window (RX_Next), or when the RLC SN corresponding to one or more of the discarded packets is equal to the lower boundary of the receive window (RX_Next), or when the RLC SN corresponding to one or more of the discarded packets includes the lower boundary of the receive window (RX_Next), the receiving end may update the lower boundary of the receive window. Packet B is a packet determined by the receiving end to have been discarded or to be discarded by the transmitting end (i.e., the aforementioned discarded packet), and may be indicated by the transmitting end to the receiving end.

[0658] In some embodiments, when the RLC SN corresponding to any of the discarded data packets is different from RX_Next, the receiving end does not update RX_Next.

[0659] In some embodiments, when the receiving end receives a complete data packet and the RLC SN of the data packet is RX_Next, the receiving end may update RX_Next to the smallest SN among the RLC SNs corresponding to the incompletely received data packets.

[0660] In some embodiments, when RX_Next is updated to the RLC SN with the smallest value among the RLC SNs corresponding to the discarded data packets, the receiving end may update RX_Next to the RLC SN of the data following the consecutive data packets among the discarded data packets, where the RLC SN with the smallest value is located. It should be understood that the execution order of the aforementioned steps S101 to S103 is merely an example. In other embodiments, the execution order of some steps may be adjusted, or some steps may be combined or split, which is not limited here. For example, in some embodiments, steps S101 and S102 may be executed in parallel.

[0661] In some embodiments, the aforementioned steps S101 to S103 may be implemented by the RLC layer or the PDCP layer of the transmitting end and the receiving end.

[0662] Based on the above method, after the sender discards a data packet, the sender can send a discard report to the receiver to inform the receiver of the discarded data packet, so that the receiver updates the lower boundary of the receive window to exit the waiting state, thereby avoiding data transmission deadlock between the sender and the receiver.

[0663] 34 is a schematic diagram of a system architecture 10 applicable to a communication method provided in an embodiment of the present application. The system architecture includes a transmitting device 100 and a receiving device 200 (or a transmitting end and a receiving end).

[0664] In some embodiments, the transmitting device 100 may serve as a transmitting end for data packet transmission, and the receiving device 200 may serve as a receiving end for data packet transmission.

[0665] In some embodiments, the transmitting device 100 can be a variety of user devices, such as mobile phones, tablet computers, wearable devices, in-vehicle devices, augmented reality (AR) / virtual reality (VR) devices, cloud gaming (CG) devices, mixed reality (MR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other devices with audio / video and communication functions. The embodiments of the present application do not limit the type of the transmitting device.

[0666] In some embodiments, the receiving device 200 may be a network device / core network device, for example, an access device for the transmitting device 100 to access the wireless communication system in a wireless manner. The receiving device 200 may be an entity on the network side for transmitting or receiving signals, such as a base station. The base station may broadly cover various names as follows, or be replaced with the following names, such as: NodeB, evolved NodeB (eNB), next generation NodeB (gNB), relay station, access point, transmission point (TRP), transmitting point (TP), master station MeNB, secondary station SeNB, multi-standard radio (MSR) node, home base station, network controller, access node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), radio head (RRH), central unit (CU), distributed unit (DU), positioning node, etc. A base station can be a macro base station, a micro base station, a relay node, a donor node, or the like. A base station can also be used for a communication module, a modem, or a chip provided in the aforementioned device or apparatus. A base station can also be a mobile switching center and a device that performs base station functions in device-to-device (D2D), vehicle-to-everything (V2X), or machine-to-machine (M2M) communications. The embodiments of this application do not limit the specific technology and specific device form used by the network equipment.

[0667] In some embodiments, the transmitting device 100 may be a network device / core device, and correspondingly, the receiving device 200 may be a user device.

[0668] For example, as shown in FIG35 , it is a structural diagram of a sending end device 100 provided in an embodiment of the present application.

[0669] The sending device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195, etc.

[0670] It is understandable that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the sending end device 100. In other embodiments of the present application, the sending end device 100 may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The illustrated components can be implemented in hardware, software, or a combination of software and hardware. In addition, the interface connection relationship between the modules illustrated in the embodiments of the present application is for schematic illustration only and does not constitute a structural limitation on the sending end device 100. In other embodiments of the present application, the sending end device 100 may also adopt an interface connection method different from that in the above-mentioned embodiments, or a combination of multiple interface connection methods.

[0671] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processor (IPU). Different processing units may be independent devices or integrated into one or more processors.

[0672] The controller may be the nerve center and command center of the transmitting device 100. The controller may generate an operation control signal based on the instruction operation code and the timing signal to complete the control of instruction fetching and execution.

[0673] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0674] The charging management module 140 is used to receive charging input from the charger. The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0675] The wireless communication function of the transmitting device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.

[0676] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in transmitting device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0677] The mobile communication module 150 can provide wireless communication solutions including 2G / 3G / 4G / 5G applied on the transmitting end device 100.

[0678] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite systems (GISS), frequency modulation (FM), near field communication (IFC), infrared (IR), etc., applied to the sending end device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0679] In some embodiments, antenna 1 of the transmitting device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that the transmitting device 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GISS, WLAI, IFC, FM, and / or IR technology. The GISS may include a global positioning system (GPS), a global navigation satellite system (GLOIASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite-based augmentation system (SBAS).

[0680] The transmitting end device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The display screen 194 is used to display images, videos, etc.

[0681] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the transmitting device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0682] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. The program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the sending device 100 (such as audio data, a phone book, etc.). In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device. Flash memory device, universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the sending device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.

[0683] The transmitting device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0684] In some embodiments, the receiving device 200 may adopt a structure similar to or the same as that of the transmitting device 100, or may adopt a different structure, which is not limited here.

[0685] Based on the same technical concept, an embodiment of the present application also provides a sending end device, including one or more processors; one or more memories; the one or more memories store one or more computer programs, and the one or more computer programs include instructions. When the instructions are executed by the one or more processors, the sending end device executes one or more steps in any of the above methods.

[0686] Based on the same technical concept, an embodiment of the present application also provides a communication system, including a sending end device and a receiving end device, wherein the sending end device is used to execute one or more steps in any of the above methods, and the receiving end is used to receive the data packet in the protocol data unit set transmitted by the sending end.

[0687] Based on the same technical concept, an embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable program instructions. When the computer-executable program instructions are executed on a computer, the computer or processor executes one or more steps in any of the above methods.

[0688] Based on the same inventive concept, an embodiment of the present application further provides a computer program product including instructions. The computer program product includes computer program code, which, when running on a computer, causes the computer or processor to execute one or more steps in any of the above methods.

[0689] It should be noted that in the embodiments of the present application, the description of a numerical range such as A is between B and C may include endpoints (for example, B, C) or may not include endpoints. That is, "A is between B and C" can be B < A < C, or B ≤ A < C, or B ≤ A ≤ C, or B < A ≤ C.

[0690] It should be noted that the terms used in the implementation part of the embodiments of the present application are only used to explain the specific embodiments of the present application, rather than to limit the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B can mean A or B; "and / or" herein is only a description of the association relationship of associated obstacles, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two, and "at least one", "one or more" means one, two or more than two.

[0691] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center in a wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or data center containing one or more integrated available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).

[0692] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium. When executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0693] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A communication method, applied to a transmitting end, comprising: Identify dropped packets; A first message is sent to a receiving end, wherein the first message is used to indicate the discarded data packet.

2. The method according to claim 1, characterized in that The sending the first message to the receiving end includes: Upon detecting that a first condition is met, sending the first message to the receiving end; The first condition includes at least one of the following: The number of data packets included in the discarded data packets is greater than the first number; The time duration since the last sending of the first message reaches the first time duration, or the timer used to indicate the time duration since the last sending of the first message stops running; There is at least one data packet among the discarded data packets that has not been completely received by the receiving end, or confirmation feedback of at least one data packet among the discarded data packets has not been received.

3. The method according to claim 1 or 2, characterized in that The first message includes first information, and the first message indicates the discarded data packet through the first information.

4. The method according to claim 3, characterized in that The first information includes: The first field is used to indicate the sequence number or COUNT value of the discarded data packet.

5. The method according to claim 4, characterized in that The first information further includes at least one of the following fields: A second field, wherein the second field is used to indicate whether there are continuously discarded data packets; A third field, the third field being used to indicate the number of consecutively discarded data packets; A fourth field is used to indicate the number of discarded information carried in the first message, wherein one piece of discarded information is used to indicate one discarded data packet, or multiple data packets discarded continuously; A fifth field, the fifth field being used to indicate whether there is any discard information; The sixth field is used to indicate the discard status of at least one data packet, where the discard status includes discarded or not discarded; The seventh field is used to indicate the length of the sixth field.

6. The method according to claim 4, characterized in that The discarded data packets include P data packets, and the first information includes M first fields, where P and M are positive integers, and M≥P; The first P first fields of the M first fields are used to indicate the sequence numbers or COUNT values ​​of the P data packets.

7. The method according to claim 6, characterized in that The first field is used to indicate the sequence number of the discarded data packet, and the first field is 12 bits: the i-th first field occupies bits 12i-8 to 12i+3 of the first message; The first field is used to indicate the sequence number of the discarded data packet, and the first field is 18 bits: the i-th first field occupies bits 18i-14 to 18i+3 of the first message; The COUNT value corresponding to the first field is used to indicate discarded data packets: the i-th first field occupies the 32i-14th to 32i+8th bits of the first message, where i is a positive integer and 1≤i≤M.

8. The method according to claim 5, characterized in that The first information includes the first field, the second field and the third field; The first field is used to indicate the sequence number or COUNT value of the first data packet among the consecutively discarded data packets, or to indicate the sequence number or COUNT value of the individually discarded data packet.

9. The method according to claim 8, characterized in that The discarded data packets include J groups of data packets, and a group of data packets in the J groups of data packets includes a group of consecutively discarded data packets or a single discarded data packet; The first information includes M first fields, M second fields, and M third fields. The first J first fields, the first J second fields, and the first J third fields in the first information are used to indicate the J groups of data packets, where J and M are positive integers, and M≥J.

10. The method according to claim 8 or 9, characterized in that The i-th third field is located after the i-th second field.

11. The method according to claim 8 or 9, characterized in that The first information further includes the fourth field.

12. The method according to claim 11, characterized in that The fourth field is located before the first first field.

13. The method according to claim 5, characterized in that The first information includes the first field, the second field, the third field and the fifth field; The first field is used to indicate the sequence number or COUNT value of the first data packet among the consecutively discarded data packets, or to indicate the sequence number or COUNT value of the corresponding individually discarded data packet.

14. The method according to claim 13, characterized in that The i-th fifth field is located after the i-th first field; The i-th second field is located after the i-th fifth field.

15. The method according to claim 5, characterized in that The first information includes the first field and the sixth field; The first field is used to indicate the sequence number or COUNT value of the first data packet among the discarded data packets.

16. The method according to claim 15, characterized in that The sixth field is located after the first field.

17. The method according to claim 15, characterized in that The first information further includes the seventh field.

18. The method according to claim 17, characterized in that The seventh field is located before the sixth field.

19. The method according to claim 3, characterized in that The first message also includes: Second information, used to indicate that the first message is a control message; The third information is used to indicate that the first message is a message indicating a discarded data packet.

20. The method according to claim 3, wherein The structure of the first message is the same as the structure of the second message; The second message includes an eighth field, a ninth field, a tenth field, an eleventh field, a twelfth field, a thirteenth field, a fourteenth field, a fifteenth field, and a sixteenth field; The eighth field is a second value different from the first value, wherein the first value is a value taken when the second message is used to indicate the reception status of the data packet, and the second value is a value taken when the second message is used to indicate the discarded data packet; when the eighth field is the first value: the ninth field is a field for indicating the sequence number of the data packet that is not reported as lost and is not received by the receiving endpoint; The tenth field is a field for indicating whether the thirteenth field, the fourteenth field, and the fifteenth field exist subsequently; The eleventh field is a field for indicating the sequence number of the lost data packet detected at the receiving end; The twelfth field is a field for indicating whether the thirteenth field and the fourteenth field exist subsequently; The thirteenth field is a field for indicating the sequence number of the first data packet among the continuously discarded data packets; The fourteenth field is a field for indicating the sequence number of the last data packet among the continuously discarded data packets; The fifteenth field is a field for indicating whether there are consecutive data packets that have not been received by the receiving end; The sixteenth field is a field for indicating the number of packets continuously discarded starting from the packet indicated by the fourteenth field; When the eighth field is the second value: The ninth field is used to indicate the sequence number following the maximum sequence number in the discarded data packet; The tenth field is used to indicate whether there is subsequent discard information; The eleventh field is used to indicate the sequence number of the discarded data packet; The twelfth field is 0 or R bit; The thirteenth field is used to indicate the sequence number of the first data packet among the consecutively discarded data packets; The fourteenth field is used to indicate the sequence number of the last data packet among the continuously discarded data packets; The fifteenth field is used to indicate whether there are continuous data packets; The sixteenth field is used to indicate the number of consecutively discarded data packets.

21. The method according to claim 3, characterized in that The structure of the first message is the same as the structure of the second message; The second message includes a seventeenth field, an eighteenth field, and a nineteenth field; The seventeenth field is a second value different from the first value, wherein the first value is a value taken when the second message is used to indicate the reception status of the data packet, and the second value is a value taken when the second message is used to indicate the discarded data packet; When the seventeenth field is the first value: The eighteenth field is a field for indicating the sequence number or COUNT value of the first lost data packet; The nineteenth field is used to indicate the lost data packets or the correctly received data packets among the received data packets; When the seventeenth field is the second value: The eighteenth field is used to indicate the sequence number or COUNT value of the first discarded data packet; The nineteenth field is used to indicate the discard status of the data packet.

22. A transmitting end device, characterized in that: include: one or more processors; one or more memories; The one or more memories store one or more computer programs, and the one or more computer programs include instructions. When the instructions are executed by the one or more processors, the sending device implements the method described in any one of claims 1 to 21.

23. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable program instructions, which, when executed on a computer, enable the computer to implement the method according to any one of claims 1 to 21.

24. A computer program product comprising computer program code, which, when run on a computer, causes the computer to implement the method according to any one of claims 1 to 21.