Communication method, communication device, and computer-readable storage medium

By receiving emergency reports and retransmitting abnormal data packets, the problem of data accumulation in wireless communication is solved, and the data transmission reliability and service quality of communication devices are improved.

CN116033478BActive Publication Date: 2026-06-23SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
Filing Date
2022-12-09
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

In wireless communication, data accumulation and congestion can easily occur during data transmission, leading to a decline in service quality, which is difficult to effectively solve with existing technologies.

Method used

When the receiving device detects a cache anomaly, it sends an emergency report, triggering the sending device to retransmit the data packet. The receiving device then uses a more reliable encoding method for retransmission, prioritizes the handling of the abnormal data packet, and suspends the transmission of other data packets.

Benefits of technology

It effectively alleviates data backlog, improves data transmission reliability and service quality, reduces the risk of packet loss, ensures timely delivery of data packets, and enhances communication performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116033478B_ABST
    Figure CN116033478B_ABST
Patent Text Reader

Abstract

A communication method, a communication device and a computer readable storage medium, the method comprising: receiving an emergency state report, the emergency state report being used to report a buffer abnormal event occurring to a receiving device, the buffer abnormal event being a first data packet receiving failure and an idle buffer capacity being less than or equal to a capacity threshold; and in response to the emergency state report, retransmitting the first data packet. The communication method provided by the present application helps to improve the communication performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a communication method, communication device and computer-readable storage medium. Background Technology

[0002] With the development of wireless communication technology, the services required to be transmitted in some communication scenarios are characterized by large data volume and high transmission latency requirements. The throughput of communication devices is very large, which poses a great challenge to the data transmission capabilities of communication devices and can easily lead to problems such as data accumulation or data blockage. Summary of the Invention

[0003] This application provides a communication method, a communication device, and a computer-readable storage medium, which can reduce problems such as data accumulation or data blocking and help improve communication performance.

[0004] In a first aspect, embodiments of this application provide a communication method, comprising: receiving an emergency status report, the emergency status report being used to report a cache anomaly event occurring in a receiving device, the cache anomaly event being a failure to receive a first data packet and the idle cache capacity being less than or equal to a capacity threshold; and retransmitting the first data packet in response to the emergency status report.

[0005] Optionally, the cache exception event is when the Radio Link Control (RLC) entity of the receiving device fails to receive the complete first data packet, and the idle cache capacity of the Packet Data Convergence Protocol (PDCP) entity is less than or equal to the capacity threshold.

[0006] Optionally, retransmitting the first data packet includes: re-encoding the first data packet, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method; and sending the re-encoded first data packet.

[0007] Optionally, the first retransmitted data packet has a higher transmission priority than other data packets.

[0008] Optionally, it also includes: suspending the transmission of other data packets besides the first data packet.

[0009] Optionally, it further includes: starting a first timer in response to the emergency report; stopping the retransmission of the first data packet and resuming the transmission of the other data packets in response to the expiration of the first timer or in response to receiving a clearing instruction for the cache exception event.

[0010] Optionally, the first retransmitted data packet carries a polling identifier, which instructs the receiving device to respond to the retransmission.

[0011] Optionally, the emergency report includes category indication information and data packet information, wherein the category indication information is used to indicate that the category of the report is an emergency report, and the data packet information is used to indicate the first data packet.

[0012] Optionally, the category indication information is carried in the Control Protocol Data Unit Type (CPT) field.

[0013] Secondly, embodiments of this application provide a communication device, comprising: a receiving module for receiving an emergency status report, the emergency status report being used to report a cache anomaly event occurring in the receiving device, the cache anomaly event being a failure to receive a first data packet and the idle cache capacity being less than or equal to a capacity threshold; and a sending module for retransmitting the first data packet in response to the emergency status report.

[0014] Thirdly, embodiments of this application provide a communication method, including: sending an emergency status report in response to detecting a cache anomaly event; wherein the cache anomaly event is a failure to receive a first data packet and the idle cache capacity is less than or equal to a capacity threshold, and the emergency status report is used to report the cache anomaly event to trigger the retransmission of the first data packet.

[0015] Optionally, the cache anomaly event is when the Radio Link Control (RLC) entity fails to receive the complete first data packet, and the idle cache capacity of the Packet Data Convergence Protocol (PDCP) entity is less than or equal to the capacity threshold.

[0016] Optionally, the method further includes: receiving a re-encoded first data packet, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method.

[0017] Optionally, the first retransmitted data packet has a higher transmission priority than other data packets.

[0018] Optionally, the first retransmitted data packet carries a polling identifier, which indicates that feedback should be given to the retransmission.

[0019] Optionally, it also includes: in response to the receipt of the first data packet, sending a clearing indication for the cache exception event.

[0020] Optionally, the emergency report includes category indication information and data packet information, wherein the category indication information is used to indicate that the category of the report is an emergency report, and the data packet information is used to indicate the first data packet.

[0021] Optionally, the category indication information is carried in the Control Protocol Data Unit Type (CPT) field.

[0022] Optionally, sending emergency reports includes periodically sending the emergency reports.

[0023] Optionally, sending an emergency report includes: in response to detecting the cache anomaly event, starting a first counter, the first counter being used to count other data packets received after the cache anomaly event is detected; whenever the value of the first counter reaches a set threshold, triggering the sending of the emergency report and resetting the first counter to zero.

[0024] Fourthly, embodiments of this application provide a communication device, including: a sending module, configured to send an emergency status report in response to detecting a cache anomaly event; wherein the cache anomaly event is a failure to receive a first data packet and the idle cache capacity is less than or equal to a capacity threshold, and the emergency status report is used to report the cache anomaly event to trigger the retransmission of the first data packet.

[0025] Fifthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is run by a processor, the communication method provided in the first or third aspect is executed.

[0026] In a sixth aspect, embodiments of this application provide a communication device, including a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor executes the steps of the communication method provided in the first aspect when running the computer program.

[0027] In a seventh aspect, embodiments of this application provide a communication device, including a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor executes the steps of the communication method provided in the third aspect when running the computer program.

[0028] Compared with the prior art, the technical solution of this application embodiment has the following beneficial effects:

[0029] In the scheme of this application embodiment, in response to detecting a cache anomaly event, the receiving device sends an emergency report to the sending device to report the cache anomaly event that occurred on the receiving device. The cache anomaly event is that the first data packet failed to be received and the idle cache capacity is less than or equal to the capacity threshold. In response to the received emergency report, the sending device retransmits the first data packet.

[0030] With the above scheme, when the receiving device detects a cache anomaly, it proactively reports the cache anomaly to the sending device. Upon receiving the emergency report, the sending device can promptly retransmit the data to alleviate the data backlog as quickly as possible and ensure service quality.

[0031] Furthermore, in the scheme of this application embodiment, the transmission priority of the retransmitted first data packet is higher than the transmission priority of other data packets. Adopting this scheme facilitates the efficient transmission of the first data packet as quickly as possible.

[0032] Furthermore, in the solution of this application embodiment, in response to the received emergency report, the transmission of data packets other than the first data packet is suspended. This solution temporarily suspends the transmission of new data in the event of a cache anomaly, preventing data accumulation and further packet loss.

[0033] Furthermore, in the embodiment of this application, the sending device re-encodes the first data packet, wherein the reliability of the re-encoding method is higher than that of the original encoding method, and then sends the re-encoded first data packet to achieve retransmission of the first data packet. This approach improves the reliability of the first data packet retransmission and facilitates the rapid and effective transmission of the first data packet. Attached Figure Description

[0034] Figure 1 This is a flowchart illustrating a communication method according to an embodiment of this application;

[0035] Figure 2 This is a schematic diagram of a status report format in an embodiment of this application;

[0036] Figure 3 This is a schematic diagram of another status report format in an embodiment of this application;

[0037] Figure 4 This is a data interaction diagram of a communication method in an embodiment of this application;

[0038] Figure 5 This is a data interaction diagram of another communication method in an embodiment of this application;

[0039] Figure 6 This is a schematic diagram of the structure of a communication device according to an embodiment of this application;

[0040] Figure 7 This is a schematic diagram of the structure of another communication device in the embodiments of this application;

[0041] Figure 8 This is a schematic diagram of the structure of another communication device in the embodiments of this application. Detailed Implementation

[0042] It should be noted that the communication systems applicable to the embodiments of this application include, but are not limited to, 3rd generation (3G), Long Term Evolution (LTE), 4th generation (4G), 5th generation (5G), New Radio (NR), and future evolution systems or multiple converged communication systems. The 5G system can be a non-standalone (NSA) 5G system or a standalone (SA) 5G system. The solutions of the embodiments of this application can also be applied to various new communication systems in the future, such as 6G and 7G.

[0043] In this application, the term "terminal" can refer to various forms of user equipment (UE), access terminal, user unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile device, user terminal, terminal equipment, wireless communication equipment, user agent, or user device. The terminal can also be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, Wireless Local Loop (WLL) station, Personal Digital Assistant (PDA), handheld device with wireless communication capabilities, computing device, or other processing device connected to a wireless modem, in-vehicle device, wearable device, a terminal in a future 5G network, or a terminal in a future evolved Public Land Mobile Network (PLMN), etc. This application does not limit the scope of the terminal to these specific types.

[0044] The network device in this application embodiment can also be called an access network device, for example, it can be a base station (BS) (also called a base station device). A network device is a device deployed in a radio access network (RAN) to provide wireless communication functions. For example, in second-generation (2G) networks, the equipment providing base station functionality includes base transceiver stations (BTS); in third-generation (3G) networks, it includes NodeBs; in fourth-generation (4G) networks, it includes evolved NodeBs (eNBs); in wireless local area networks (WLANs), the equipment providing base station functionality is the access point (AP); in NR, the equipment providing base station functionality includes next-generation node base stations (gNBs) and further evolved NodeBs (ng-eNBs). gNBs communicate with terminal devices using NR technology, while ng-eNBs communicate with terminal devices using evolved Universal Terrestrial Radio Access (E-UTRA) technology. Both gNBs and ng-eNBs can connect to the 5G core network. The network devices in this application embodiment also include devices that provide base station functions in future new communication systems.

[0045] As described in the background section, in some communication scenarios, the throughput of communication devices is very high, which poses a great challenge to the data transmission capabilities of communication devices (e.g., terminals), and can easily lead to problems such as data accumulation or data blockage.

[0046] In communication scenarios, both transmitting and receiving devices can be configured with Radio Link Control (RLC) entities. Specifically, the transmitting device's RLC entity receives RLC Service Data Units (SDUs) from the upper layer, then segments the RLC SDUs to obtain RLC PDUs, and sends them to the receiving device's RLC entity via the lower layer. Correspondingly, the receiving device's RLC entity receives RLC PDUs from the lower layer, then reassembles them to obtain RLC SDUs before transmitting them to the upper layer.

[0047] Furthermore, RLC entities can operate in Acknowledged Mode (AM) for data transmission. RLC's Acknowledged Mode is adopted by various access technologies and applied in various scenarios requiring reliable data transmission, such as web browsing and File Transfer Protocol (FTP) transfers.

[0048] RLC's acknowledgment mode supports retransmission of RLC SDUs based on a feedback mechanism. Specifically, the transmitting device sends an RLC SDU to the receiving device and instructs the receiving device to provide feedback on the transmission of that RLC SDU. The receiving device can send a Status PDU to the transmitting device at the end of the transmission time window. If the receiving device receives the RLC SDU, the Status PDU includes an Acknowledgment (ACK) message; if the receiving device does not receive the RLC SDU, the Status PDU includes a Negative Acknowledgment (NACK) message.

[0049] During data transmission, brief packet loss can cause the receiving device to buffer a large amount of data in order to deliver subsequent data packets to the upper layer in sequence. Specifically, during data transmission, a certain RLC SDU may fail to be transmitted due to signal jitter or other reasons, meaning the receiving device either does not receive the RLC SDU or does not receive the complete RLC SDU. Data received is reported to the upper layer in sequence. If a failed RLC SDU is followed by successfully received RLC SDUs, the presence of the failed RLC SDU prevents subsequent successfully received RLC SDUs from being reported to the upper layer, leading to data backlog and buffering pressure. For example, in an LTE system, after receiving RLC SDUs, the transmitting device's RLC entity delivers them sequentially to the Packet Data Convergence Protocol (PDCP) entity. If the RLC entity fails to receive a certain RLC SDU but subsequent data packets are received successfully, data backlog occurs within the RLC entity. For example, in an NR system, the RLC entity of the transmitting device reports to the PDCP entity after receiving each RLC SDU. The PDCP entity then delivers the data to the upper layer (such as the application layer) in sequence. If the RLC entity fails to receive a certain RLC SDU but the subsequent data packets are received successfully, the PDCP entity will experience data backlog.

[0050] Data backlog inherently means increased data reception latency. Simultaneously, data backlog places a severe strain on the storage space of the receiving device; data exceeding cache capacity leads to more packet loss. All of these factors negatively impact the quality of service.

[0051] Typically, receiving devices will proactively drop packets when data accumulates to their capacity limit to avoid buffer exhaustion, as buffer exhaustion can easily trigger various more serious anomalies. However, this direct packet dropping approach can significantly degrade the service quality of the business.

[0052] Alternatively, the receiving device can delay sending RLC status reports to the sending device to postpone the sending of new data packets, thus alleviating the impending buffer exhaustion. However, since the timing of status report transmission is constrained by the RLC transmission window state, this approach is not always effective. For example, if there is still a significant amount of new data to be transmitted within the RLC transmission window, even with a delayed RLC status report, the sending device will still send a large number of new data packets to the receiving device during this period, further increasing the buffer pressure on the receiving device.

[0053] In view of this, in the solution of this application embodiment, in response to detecting a cache anomaly event, the receiving device sends an emergency report to the sending device to report the cache anomaly event that occurred on the receiving device. The cache anomaly event is that the first data packet failed to be received and the idle cache capacity is less than or equal to the capacity threshold. In response to the received emergency report, the sending device retransmits the first data packet. Using the above solution, when the receiving device detects a cache anomaly event, it proactively reports the cache anomaly event to the sending device. After receiving the emergency report, the sending device can promptly retransmit the data to alleviate data backlog as quickly as possible and ensure service quality.

[0054] To make the above-mentioned objectives, features and beneficial effects of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0055] Reference Figure 1 , Figure 1 This is a flowchart illustrating a communication method in an embodiment of this application. Figure 1 The methods shown may include:

[0056] Step S11: Receive an emergency status report, which is used to report a buffering abnormal event that occurred in the receiving device. The buffering abnormal event is that the first data packet failed to be received and the idle buffer capacity is less than or equal to the capacity threshold.

[0057] Step S12: In response to the emergency report, retransmit the first data packet.

[0058] Figure 1 The method shown can be executed by a sending device, which can be the sender of the data packet, a terminal, or a network device; this embodiment does not impose any limitations on this. The data packet in this embodiment can refer to an RLC SDU, or it can refer to other types of data packets.

[0059] Furthermore, in this embodiment, the term "receiving device" refers to the receiver of data packets. The sending device can send data packets to the receiving device via an uplink, a downlink, or a sidelink; this embodiment does not impose any limitations on these methods.

[0060] In a specific implementation of step S21, the receiving device sends an emergency status report to the sending device, wherein the emergency status report is sent by the receiving device in response to detecting a cache anomaly event.

[0061] Specifically, during data transmission, the receiving device detects a buffer anomaly event. Specifically, a buffer anomaly event refers to the failure to receive the first data packet, and the available buffer capacity is less than or equal to a capacity threshold. Here, the first data packet can be any data packet during data transmission, and the buffer capacity refers to the capacity of the buffer area used to buffer received data packets. The capacity threshold can be defined by the protocol, or it can be pre-configured by the operator or terminal manufacturer. It should be noted that in this embodiment, "failure to receive the first data packet" can mean that the first data packet was not received completely. For example, not receiving the first data packet, or the first data packet not being received completely.

[0062] As an example, if the data packet is an RLC SDU, then the buffer capacity is the capacity of the buffer area used to buffer the received RLC SDU. In specific implementations, the data packet can be buffered in the PDCP entity, or it can be buffered in the RLC entity, or it can be buffered in other entities in Layer 2; this embodiment is not limited in this respect. Taking the data packet as an RLC SDU and the data packet is buffered in the PDCP entity as an example, the buffering exception event can also be described as: the RLC entity has not received the complete first data packet, and the idle buffer capacity of the PDCP entity is less than or equal to the capacity threshold.

[0063] Furthermore, if the receiving device detects a buffer anomaly event, in response to the detected buffer anomaly event, the receiving device sends an emergency status report to the transmitting device. This emergency status report can be an RLC control PDU. Correspondingly, the transmitting device receives the emergency status report.

[0064] In practical implementation, an emergency status report may include category indication information and data packet information. The category indication information indicates that the status report is an emergency status report, and the data packet information indicates the first data packet, so that the sending device knows which data packet transmission failed. More specifically, the category indication information can be used to distinguish between emergency status reports and normal status reports. Emergency status reports are used to report buffering anomalies at the receiving device, while normal status reports are only used to report whether the receiving device has received a data packet.

[0065] Furthermore, emergency status reports are proactively sent by the receiving device, while normal status reports are sent upon instruction from the sending device. If the sending device has not set a polling flag for a particular data packet, the receiving device will not proactively send a normal status report for that data packet. However, when a buffering anomaly is detected, the receiving device will send an emergency status report regardless of whether the first data packet that failed to be received has a polling flag.

[0066] The polling flag is information used to instruct the receiving terminal to provide feedback on the received data packets. For example, a dedicated bit can be reserved in the data packet; if the value of this bit is 1, it indicates that the data packet has a polling flag, and if the value of this bit is 0, it indicates that the data packet does not have a polling flag.

[0067] Reference Figure 2 and Figure 3 , Figure 2 This is a schematic diagram of a status report format in an embodiment of this application. Figure 2 This illustrates a status report format with a 12-bit Sequence Number (SN). Figure 3 This illustrates a status report format with a sequence number (SN) of 18 bits in length.

[0068] The category indication information can be carried in the Control PDU Type (CPT) field. For example, the CPT field is located in bits 4 through 6 of the first byte of the status report. Table 1 shows an interpretation of one CPT field.

[0069] Table 1

[0070] Value Description 000 Normal Status Report 001 Emergency Report

[0071] As shown in Table 1, if the value of the CPT field is 000, it indicates that the status report is a normal status report; if the value of the CPT field is 001, it indicates that the status report is an emergency status report. Regarding... Figure 2 and Figure 3 The specific description of the status report shown can be found in the relevant content of the existing protocol TS138.322 v17.1.0, and will not be repeated here. For example, the way data packet information is carried in the emergency status report can be found in the way data packet information is carried in the ordinary status report in the existing protocol, and this embodiment is not limited in this respect.

[0072] Continue to refer to Figure 1 In step S12, in response to the received emergency report, the sending device retransmits the first data packet.

[0073] It should be noted that in the scheme of this application embodiment, regardless of whether the first data packet has a polling identifier, the receiving device sends an emergency status report to report the cache anomaly event. More specifically, in response to detecting a cache anomaly event, the receiving device can immediately send an emergency status report. Compared to the scheme where the receiving device only sends a normal status report to the sending device when the first data packet has a polling identifier, the scheme of this application embodiment will proactively send an RLC status report if the received data accumulates to a certain extent, and the RLC status report will clearly inform the sending device that this is an "urgent" retransmission request. After receiving the "urgent" retransmission request, the sending device can promptly retransmit to alleviate the data accumulation situation as soon as possible.

[0074] In practice, the transmission priority of the first retransmitted data packet can be higher than that of other data packets. These other data packets can refer to any data packet other than the first one. For example, other data packets may include: data packets to be sent for the first time, and / or data packets whose retransmission is triggered by a normal status report.

[0075] More specifically, the first retransmitted data packet has a higher transmission priority than other data packets; that is, the sending device prioritizes transmitting the first data packet.

[0076] Furthermore, in response to an emergency report, the transmitting device can also suspend the transmission of data packets other than the first data packet. This approach avoids further exacerbating data congestion at the receiving terminal.

[0077] In one example, in response to an emergency report, the transmitting device can start a first timer, the duration of which can be pre-configured. When the first timer expires, the transmitting terminal can stop retransmitting the first data packet and resume sending other data packets. Alternatively, if the receiving terminal receives the first data packet before the first timer expires, the transmitting device can stop retransmitting the first data packet and resume sending other data packets.

[0078] In practice, after receiving the first data packet, the receiving device can send a cache exception event clearance instruction to the sending device. In response to the received clearance instruction, the sending device stops the retransmission of the first data packet and resumes the transmission of other data packets.

[0079] More specifically, the retransmitted first data packet may have a polling flag to instruct the receiving device to respond to the retransmission of the first data packet. Thus, after receiving the first data packet, the receiving device can send a normal status report to the sending device, and this normal status report includes an acknowledgment message. Since the receiving device has received the complete first data packet, it can submit the first data packet to the upper layer, thereby allowing subsequent data packets to be submitted to the upper layer in sequence, and the receiving device can escape the situation of data backlog and buffer shortage. Therefore, when the sending device receives the normal status report for the retransmitted first data packet, it can determine that it has received a buffer exception event clearance instruction.

[0080] Furthermore, if there are multiple failed data packets in the emergency report, that is, if there are multiple first data packets, the sending device can start retransmitting from the first failed data packet. The first failed data packet can be the data packet with the smallest sequence number among the multiple failed data packets.

[0081] Reference Figure 4 , Figure 4 This is a data interaction diagram of a communication method in an embodiment of this application. Figure 4 The communication method shown may include steps S31 to S34. Specifically:

[0082] Step S31: The receiving device detects cache abnormal events.

[0083] In step S32, in response to the detection of a cache anomaly event, the receiving device sends an emergency status report to the sending device.

[0084] For more details on steps S31 and S32, please refer to the relevant content on step S11 above, which will not be repeated here.

[0085] Step S33: The sending device re-encodes the first data packet.

[0086] Step S34: The transmitting device sends the re-encoded first data packet.

[0087] Specifically, in response to an emergency report, the transmitting device can first re-encode the first data packet and then send the re-encoded first data packet to achieve retransmission of the first data packet.

[0088] In this case, the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method. For example, the redundancy of the first data packet after re-encoding is greater than that of the first data packet before re-encoding.

[0089] In practical implementation, a modulation and coding scheme (MCS) with a lower order can be used to recode the first data packet to improve the reliability of retransmission, thereby ensuring that the receiving device can successfully receive the first data packet. It should be noted that other existing methods for improving coding reliability can also be used to recode the first data packet, and this embodiment does not limit this approach.

[0090] In step S34, the transmitting device prioritizes transmitting the re-encoded first data packet. Further details regarding step S34 can be found in the description of step S12 above, and will not be repeated here.

[0091] Reference Figure 5 , Figure 5 This is a data interaction diagram illustrating another communication method in an embodiment of this application. Compared to Figure 4 Steps S31 to S34 are shown. Figure 5 The communication methods shown also include:

[0092] Step S35: The receiving device sends a clearing instruction for the cache exception event. Specifically, in response to the reception of the first data packet, the receiving device sends a clearing instruction for the cache exception event.

[0093] Step S36: Resume sending other data packets.

[0094] For more information on steps S35 and S36, please refer to the above text. Figure 1 The relevant descriptions will not be repeated here.

[0095] Therefore, in the solution of this application embodiment, after data backlog (i.e., cache exception event) occurs at the receiving device, the receiving device actively sends an emergency status report and clearly informs the sending device of the emergency situation of cache shortage. Upon receiving the emergency status report, the sending device, recognizing that this is a situation requiring urgent retransmission, immediately adopts a more reliable method to prioritize the transmission of failed data packets, such as sending data packets that need to be retransmitted; suspending the transmission of other data packets; and selecting a more reliable encoding method to send retransmission packets. Thus, the data backlog situation at the receiving device is quickly alleviated, and packet loss due to exceeding cache capacity is prevented from further worsening. Furthermore, since the above solution can replenish failed data packets more quickly, the data delivery latency can be reduced, and the receiving throughput of the receiving device becomes smoother. Correspondingly, the quality of service can also be better guaranteed.

[0096] Furthermore, if the service transmitted between the sending device and the receiving device is a Transmission Control Protocol (TCP) layer service, since the solution adopted in this application embodiment can make the throughput of the receiving device smoother, the receiving device can also provide TCP layer feedback more timely, which is also conducive to improving the transmission throughput of the sending device.

[0097] In the first non-limiting example, after a cache exception event is detected and before the cache exception event is cleared, the receiving device can periodically send an emergency status report. For example, in response to the detection of a cache exception event, the receiving device can start a second timer, the duration of which can be pre-configured. In response to the expiration of the second timer, the receiving device sends an emergency status report to the sending device and triggers the second timer to restart. Further, in response to each received emergency status report, the sending device can send the first data packet once. That is, the first data packet is retransmitted once during each retransmission.

[0098] In the second, non-limiting example, in response to the detection of a cache anomaly event, the receiving device can send an emergency report. Furthermore, the receiving device can also start a first counter, which can be used to count other data packets received after the detection of the cache anomaly event. Whenever the value of the first counter reaches a set threshold, the transmission of an emergency report is triggered again, and the value of the first counter is reset to zero. Further, in response to each received emergency report, the sending device can send a first data packet.

[0099] In the third, non-restrictive example, in response to the detection of a buffer anomaly event, the receiving device sends an emergency report to the sending device. In response to each received emergency report, the sending device can retransmit the first data packet multiple times. That is, the first data packet is retransmitted multiple times with each retransmission.

[0100] The number of times the first data packet is retransmitted can be preset or determined based on the urgency level indicated by the emergency report. More specifically, multiple backups of the first data packet can be stored in the retransmission buffer, with the number of backups equal to the number of retransmissions. In response to a received emergency report, the transmitting device sends multiple backups to achieve the retransmission of the first data packet.

[0101] In a fourth, non-limiting example, the emergency report may further include indication information that can be used to indicate the urgency of the cached exception event. For example, the indication information for the urgency level can also be carried in the CPT field. For instance, the values ​​of the first and second bits of the CPT field can be used to carry the indication information, and the value of the third bit can be used to indicate whether the report is an emergency report. Alternatively, the value of the first bit of the CPT field can be used to indicate whether the report is an emergency report, and the values ​​of the second and third bits can be used to carry the indication information. In this case, the smaller the available cache capacity, the higher the urgency level.

[0102] Furthermore, upon receiving an emergency report, the sending device can select a retransmission method based on the urgency of the cached abnormal event.

[0103] For example, a mapping relationship between the number of retransmissions and the indication information can be pre-configured. After receiving an emergency report, the transmitting device can determine the number of retransmissions based on the indication information. The higher the urgency indicated by the indication information, the greater the number of retransmissions. It should be noted that the number of retransmissions in this embodiment refers to the number of times the first data packet is sent in a single retransmission.

[0104] For example, after receiving an emergency status report, the sending device can set a maximum number of retransmissions based on the indication information. The maximum number of retransmissions limits the number of retransmissions; when the retransmission count of the first data packet reaches the maximum number of retransmissions, the sending device will no longer retransmit the first data packet even if it has not been successfully received. Specifically, the sending device can use the maximum number of retransmissions corresponding to a normal status report as a benchmark, and determine the maximum number of retransmissions based on the indication information in the emergency status report. The higher the urgency indicated by the indication information, the greater the maximum number of retransmissions.

[0105] More specifically, upon receiving an emergency report for the first data packet for the first time, the sending device can start a second counter to count the number of retransmissions of the first data packet. Once the value of the second counter reaches the maximum number of retransmissions, the first data packet can be stopped from being retransmitted.

[0106] For example, after receiving an emergency report, the sending device can determine the transmission priority of the first data packet to be retransmitted based on the instruction information. The higher the urgency, the higher the transmission priority of the first data packet.

[0107] For example, considering that re-encoding the first data packet requires notifying other entities to re-encode it, which takes a long time, the sending device can use multiple retransmissions if the indication information indicates an urgent situation, and re-encode and retransmit once if the indication information indicates a less urgent situation.

[0108] It is understandable that, in specific implementation, the above method can be implemented using a software program that runs in the processor integrated inside the chip or chip module; or, the method can be implemented using hardware or a combination of hardware and software, such as using a dedicated chip or chip module, or using a dedicated chip or chip module combined with a software program.

[0109] Reference Figure 6 , Figure 6 This is a schematic diagram of the structure of a communication device according to an embodiment of this application. Figure 6 The communication device shown can be deployed on the aforementioned transmitting equipment. Figure 6 The apparatus shown may include:

[0110] The receiving module 51 is used to receive an emergency status report, which is used to report a cache exception event that occurred in the receiving device. The cache exception event is that the first data packet failed to be received and the idle cache capacity is less than or equal to the capacity threshold.

[0111] The sending module 52 is used to retransmit the first data packet in response to the emergency report.

[0112] In practice, Figure 6 The communication device shown may correspond to a chip with communication function in a transmitting device; or to a transmitting device including a chip or chip module with communication function, or to a transmitting device.

[0113] Reference Figure 7 , Figure 7 This is a schematic diagram of another communication device in the embodiments of this application. Figure 7 The communication device shown can be deployed on the aforementioned transmitting equipment. Figure 7 The apparatus shown may include:

[0114] Sending module 61 is used to send an emergency status report in response to the detection of a cache anomaly event;

[0115] The cache exception event is defined as the failure to receive the first data packet and the idle cache capacity being less than or equal to the capacity threshold. The emergency status report is used to report the cache exception event to trigger the retransmission of the first data packet.

[0116] In practice, Figure 7 The communication device shown may correspond to a chip with communication function in a receiving device; or to a receiving device including a chip or chip module with communication function, or to a receiving device.

[0117] For more information on the working principle, working method, and beneficial effects of the communication device in the embodiments of this application, please refer to the relevant description of the communication method above, which will not be repeated here.

[0118] This application also provides a computer-readable storage medium storing a computer program thereon. When the computer program is run by a processor, the aforementioned communication method is executed. The computer-readable storage medium may include ROM, RAM, a magnetic disk, or an optical disk, etc. The computer-readable storage medium may also include non-volatile memory or non-transitory memory, etc.

[0119] This application also provides a communication device, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the communication method described above. The communication device includes, but is not limited to, terminals such as mobile phones, computers, and tablet computers.

[0120] Reference Figure 8 , Figure 8 This is a schematic diagram of the structure of another communication device in the embodiments of this application. Figure 8 The illustrated communication device includes a memory 71, a processor 72, and a transceiver 73. The processor 72 is coupled to the memory 71 and the transceiver 73. The memory 71 can be located inside or outside the terminal. The memory 71, processor 72, and transceiver 73 can be connected via a communication bus. The transceiver 73 is used to communicate with other devices or communication networks. Optionally, the transceiver 73 may include a transmitter and a receiver. The memory 71 stores a computer program that can run on the processor 72. When the processor 72 runs the computer program, the transceiver 73 executes the steps in the communication method provided in the above embodiments.

[0121] This application also provides a communication device, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the communication method described above. For details regarding the specific structure of the communication device, please refer to the section on... Figure 8 The relevant descriptions will not be repeated here. The communication device includes, but is not limited to, network equipment such as base stations.

[0122] It should be understood that in the embodiments of this application, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0123] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0124] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means.

[0125] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0126] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, and systems can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and other division methods may exist in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0127] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0128] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can be physically included separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or in a combination of hardware and software functional units. For example, for various devices or products applied to or integrated into a chip, each module / unit can be implemented using hardware such as circuits, or at least some modules / units can be implemented using software programs running on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware such as circuits; for various devices or products applied to or integrated into a chip module, each module / unit can be implemented using hardware such as circuits, and different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units can be implemented using hardware such as circuits. The components can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its components / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or in different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.

[0129] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0130] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article indicates that the preceding and following related objects have an "or" relationship.

[0131] In the embodiments of this application, "multiple" refers to two or more.

[0132] The descriptions of "first," "second," etc., appearing in the embodiments of this application are for illustrative purposes and to distinguish the objects being described. They have no order and do not indicate any special limitation on the number of devices in the embodiments of this application, nor do they constitute any limitation on the embodiments of this application.

[0133] While this application discloses the above information, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of this application; therefore, the scope of protection of this application shall be determined by the scope defined in the claims.

Claims

1. A communication method, characterized in that, Applied to transmitting devices, including: The system receives an emergency status report, which is used to report a buffering anomaly event that occurred in the receiving device. The buffering anomaly event is that the first data packet failed to be received and the idle buffer capacity is less than or equal to the capacity threshold. The emergency status report includes category indication information and data packet information. The category indication information is used to indicate that the status report is an emergency status report, and the data packet information is used to indicate the first data packet. In response to the emergency report, retransmitting the first data packet includes: re-encoding the first data packet, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method; and sending the re-encoded first data packet.

2. The communication method according to claim 1, characterized in that, The cache anomaly event is when the Radio Link Control (RLC) entity of the receiving device fails to receive the complete first data packet, and the idle cache capacity of the Packet Data Convergence Protocol (PDCP) entity is less than or equal to the capacity threshold.

3. The communication method according to claim 1, characterized in that, The first retransmitted data packet has a higher transmission priority than other data packets.

4. The communication method according to claim 1, characterized in that, Also includes: The transmission of all data packets except the first data packet is suspended.

5. The communication method according to claim 4, characterized in that, Also includes: In response to the emergency report, start the first timer; In response to the expiration of the first timer or in response to receiving a clearance instruction for the cache exception event, the retransmission of the first data packet is stopped and the transmission of the other data packets is resumed.

6. The communication method according to claim 1, characterized in that, The first retransmitted data packet carries a polling identifier, which instructs the receiving device to respond to the retransmission.

7. The communication method according to claim 1, characterized in that, The category indication information is carried in the Control Protocol Data Unit Type (CPT) field.

8. A communication device, characterized in that, Applied to transmitting devices, including: The receiving module is used to receive an emergency status report, which is used to report a cache exception event that occurred in the receiving device. The cache exception event is that the first data packet failed to be received and the idle cache capacity is less than or equal to the capacity threshold. A sending module is configured to retransmit the first data packet in response to the emergency report, comprising: re-encoding the first data packet, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method; and sending the re-encoded first data packet.

9. A communication method, characterized in that, Applied to receiving devices, including: In response to the detection of a cache anomaly event, an emergency report is sent; The cache exception event is the failure to receive the first data packet and the idle cache capacity is less than or equal to the capacity threshold. The emergency status report is used to report the cache exception event to trigger the retransmission of the first data packet. The emergency status report includes category indication information and data packet information. The category indication information is used to indicate that the category of the status report is an emergency status report, and the data packet information is used to indicate the first data packet. Receive the first data packet after re-encoding, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method.

10. The communication method according to claim 9, characterized in that, The cache anomaly event is when the Radio Link Control (RLC) entity fails to receive the complete first data packet, and the idle cache capacity of the Packet Data Convergence Protocol (PDCP) entity is less than or equal to the capacity threshold.

11. The communication method according to claim 9, characterized in that, The first retransmitted data packet has a higher transmission priority than other data packets.

12. The communication method according to claim 9, characterized in that, The first retransmitted data packet carries a polling identifier, which indicates that feedback should be given to the retransmission.

13. The communication method according to claim 9, characterized in that, Also includes: In response to the receipt of the first data packet, a clearing instruction for the cache exception event is sent.

14. The communication method according to claim 9, characterized in that, The category indication information is carried in the Control Protocol Data Unit Type (CPT) field.

15. The communication method according to claim 9, characterized in that, Sending an emergency report includes: The emergency report is sent periodically.

16. The communication method according to claim 9, characterized in that, Sending an emergency report includes: In response to the detection of the cache exception event, a first counter is started, which is used to count other data packets received after the detection of the cache exception event; Whenever the value of the first counter reaches a set threshold, the emergency report is sent and the first counter is reset to zero.

17. A communication device, characterized in that, Applied to receiving devices, including: The sending module is used to send an emergency status report in response to the detection of a cache anomaly event; The cache exception event is the failure to receive the first data packet and the idle cache capacity is less than or equal to the capacity threshold. The emergency status report is used to report the cache exception event to trigger the retransmission of the first data packet. The emergency status report includes category indication information and data packet information. The category indication information is used to indicate that the category of the status report is an emergency status report, and the data packet information is used to indicate the first data packet. A receiving module is used to receive the re-encoded first data packet, wherein the reliability of the encoding method used in the re-encoding is higher than that of the original encoding method.

18. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is run by the processor, the communication method according to any one of claims 1 to 7 or 9 to 16 is executed.

19. A communication device comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that, When the processor runs the computer program, it performs the steps of the communication method according to any one of claims 1 to 7.

20. A communication device comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that, When the processor runs the computer program, it performs the steps of the communication method according to any one of claims 9 to 16.