Communication method and apparatus
Patent Information
- Application Number
- CN202510558193.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-28
- Publication Date
- 2026-10-30
Smart Images

Figure CN123019968A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to communication methods and apparatus. Background Technology
[0002] In mobile communication systems, terminals and access network devices can communicate via a wireless protocol stack. For example, a wireless protocol stack can be divided into a user plane protocol stack and a control plane protocol stack. The user plane protocol stack or control plane protocol stack can include multiple protocol layers, each processing data packets sequentially.
[0003] In addition, peer protocol layers in the protocol stack can exchange reports. For example, a protocol layer at the data receiving end can send a report to the peer protocol layer at the data sending end to indicate whether a data packet was lost; or, a protocol layer at the data sending end can send a report to the peer protocol layer at the data receiving end to indicate whether a data packet was dropped.
[0004] However, the reports exchanged between the aforementioned protocol layers may be large, resulting in significant transmission delays for these reports. Summary of the Invention
[0005] This application provides a communication method and apparatus that can reduce the transmission latency of reports.
[0006] Firstly, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device, such as a processor, chip, or chip system of the first communication device, or by a logic module or software capable of implementing all or part of the functions of the first communication device. The first communication device can be a wireless access network node or a terminal. The method includes: sending N reports, which are used to indicate the status of data packets in a first window. The i-th report in the N reports is used to indicate the status of data packets within the i-th range of the first window, i = 1, ..., N, where N is a positive integer greater than 1. The status of data packets in the first window includes at least one of the following: data packet correctly received / lost, data packet discarded / not discarded, data packet sent / not sent, data packet delivered to a lower layer / not delivered to a lower layer, data packet delivered to an upper layer / not delivered to an upper layer, data packet expired / not expired, data packet correctly decoded / data packet not correctly decoded, data packet correctly decrypted / data packet not correctly decrypted, or data packet passed integrity verification / data packet failed integrity verification.
[0007] Based on this scheme, multiple reports can be sent for a single window, with each report indicating the status of data packets within a corresponding range of that window. Therefore, each report sent by the first communication device is relatively small compared to a single report sent for a single window, thereby reducing the report size and consequently reducing transmission latency.
[0008] For example, when the first window is a window of the first protocol layer, and the first protocol layer is located above a protocol layer with segmentation capabilities (such as the RLC layer, hereinafter referred to as the second protocol layer), since the report sent by the first communication device is small, the report does not need to be segmented at the second protocol layer, or it is divided into a small number of second protocol layer segments. Therefore, for a report sent by the first communication device, the second protocol layer of the second communication device does not need to wait for other segments, or only waits for a small number of segments, allowing the report to be delivered to the upper layer in a timely manner. This enables the upper layer to promptly obtain the status of data packets within the corresponding range of the report. Compared to existing technologies, the second protocol layer of the second communication device does not need to wait for all report segments to be successfully received before delivering them to the upper layer, allowing each report to be delivered in a timely manner, thereby reducing report transmission latency and quickly completing the transmission of data packet status within a larger window.
[0009] Secondly, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device, such as its processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the functions of the second communication device. The second communication device can be a terminal or a wireless access network node. The method includes: receiving N reports, which are used to indicate the status of data packets in a first window. The i-th report in the N reports indicates the status of data packets within the i-th range of the first window, where i = 1, ..., N, and N is a positive integer greater than 1. The status of data packets in the first window includes at least one of the following: data packet correctly received / lost, data packet discarded / not discarded, data packet sent / not sent, data packet delivered to a lower layer / not delivered to a lower layer, data packet delivered to an upper layer / not delivered to an upper layer, data packet expired / not expired, data packet correctly decoded / data packet not correctly decoded, data packet correctly decrypted / data packet not correctly decrypted, or data packet passed integrity verification / data packet failed integrity verification. The technical effects brought about by the second aspect can be referred to the technical effects brought about by the first aspect mentioned above, and will not be repeated here.
[0010] In conjunction with the first or second aspect, in one possible design, the i-th report includes the sequence number of the starting data packet in the i-th range and first information indicating the status of each data packet in the i-th range.
[0011] In conjunction with either the first or second aspect, in one possible design, the first information is a first bitmap, comprising M bits. These M bits correspond to M data packets within the i-th range, where M is the total number of data packets within the i-th range and is a positive integer. Specifically, if the m-th bit among the M bits is set to a first value, it indicates that the state of the data packet corresponding to the m-th bit is in a first state; if the m-th bit is set to a second value, it indicates that the state of the data packet corresponding to the m-th bit is in a second state, where m = 1, ..., M.
[0012] Based on this possible design, the i-th report carries the sequence number of the starting data packet in the i-th range, as well as a bitmap indicating the status of each data packet in the i-th range. This allows the second communication device to determine the N ranges of the first window based on the N reports. For example, it can determine the starting position of the i-th range based on the sequence number of the starting data packet in the i-th range, and determine the data packets in the i-th range based on the bitmap corresponding to the i-th range. This allows for correct parsing of the reports to obtain the correct data packet status, avoiding inconsistencies in the understanding of the reports by the first and second communication devices. Consequently, the second communication device can perform corresponding processing, improving communication efficiency.
[0013] In conjunction with either the first or second aspect, in one possible design, the i-th report includes the number of the i-th range, the sequence number of the first data packet, and second information. The first data packet is the first data packet in the i-th range to be in the first state, and the second information indicates the state of each data packet following the first data packet in the i-th range.
[0014] Based on this possible design, the number of the i-th range is carried in the i-th report, so that the second communication device can determine the reception status of multiple reports sent by the first communication device based on N reports. For example, it can determine whether there are reports that have not been received correctly based on the range number (if a report containing range numbers 1 and 3 is received, it can be considered that the report corresponding to range 2 is lost). This allows the second communication device to correctly parse the report to obtain the correct data packet status, avoids inconsistencies in the understanding of the report between the first and second communication devices, and enables the second communication device to take appropriate actions to improve communication efficiency.
[0015] In conjunction with either the first or second aspect, in one possible design, the second information is a second bitmap, which comprises L bits, each corresponding to one of the L data packets. L is the total number of data packets following the first data packet within the i-th range, and L is a positive integer. Specifically, if the l-th bit of the L bits is set to a first value, it indicates that the state of the data packet corresponding to the l-th bit is in the first state; if the l-th bit is set to a second value, it indicates that the state of the data packet corresponding to the l-th bit is in the second state, where l = 1, ..., L.
[0016] Based on this possible design, the second communication device can combine the range number, the sequence number of the first data packet within the range, and a bitmap indicating the status of each data packet after the first data packet to determine the N ranges of the first window, thereby correctly parsing the report to obtain the correct data packet status and making corresponding processing, improving communication efficiency, and helping to avoid misunderstandings caused by using the existing standard PDCP status report format.
[0017] In a possible design, combining the first or second aspect, if all data packets in the i-th range are in the second state, the i-th report includes the number of the i-th range, the total number of data packets in the i-th range, and third information indicating that all data packets in the i-th range are in the second state.
[0018] Thirdly, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device, such as a processor, chip, or chip system of the first communication device, or by a logic module or software capable of implementing all or part of the functions of the first communication device. The first communication device can be a wireless access network node or a terminal. The method includes: sending a first report, the first report including the sequence number of a first data packet and first information. The first data packet is the first data packet in a first window that reaches a first threshold and is in a first state, and / or the first important data packet in a first state. The first information indicates the state of each data packet following the first data packet in the first window. The state of each data packet following the first data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to a lower layer / not delivered to a lower layer, the data packet was delivered to an upper layer / not delivered to an upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed integrity verification / the data packet failed integrity verification.
[0019] Based on this scheme, the first communication device does not indicate the first data packet in the first window with a first state in the first report, but rather the first data packet in the first window with a first state after reaching a threshold, or the first important data packet with a first state. In this case, even if the first data packet with a first state in the first window is located early in the first window, if the first threshold has not yet been reached, or if the data packet is not an important data packet, the first report will not carry the sequence number of the data packet. Only when the first threshold is reached or an important data packet with a first state (i.e., the first data packet) appears will the first report carry the sequence number of the first data packet and indicate the state of each subsequent data packet. In other words, through the above scheme, the first data packet can be located relatively late in the first window, which can reduce the number of data packets after the first data packet, reduce the overhead of indicating the state of these data packets, thereby reducing the size of the report and thus reducing the transmission latency of the report.
[0020] Fourthly, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device, such as a processor, chip, or chip system of the second communication device, or by a logic module or software capable of implementing all or part of the functions of the second communication device. The second communication device can be a terminal or a wireless access network node. The method includes: receiving a first report, the first report including a sequence number of a first data packet and first information. The first data packet is the first data packet in a first window that reaches a first threshold and is in a first state, and / or the first important data packet in a first state. The first information indicates the state of each data packet following the first data packet in the first window. The state of each data packet following the first data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to a lower layer / not delivered to a lower layer, the data packet was delivered to an upper layer / not delivered to an upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed integrity verification / the data packet failed integrity verification. The technical effects brought about by the fourth aspect can be referred to the technical effects brought about by the third aspect mentioned above, and will not be repeated here.
[0021] In conjunction with the third or fourth aspect, in one possible design, the first information is a first bitmap, which includes X bits. These X bits correspond to X data packets in a first window, where X is the total number of data packets following the first data packet in the first window, and X is a positive integer. Specifically, if the x-th bit of the X bits is set to a first value, it indicates that the state of the data packet corresponding to the x-th bit is in a first state; if the x-th bit is set to a second value, it indicates that the state of the data packet corresponding to the x-th bit is in a second state, where x = 1, ..., X.
[0022] Fifthly, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device, such as a processor, chip, or chip system of the first communication device, or by a logic module or software capable of implementing all or part of the functions of the first communication device. The first communication device can be a wireless access network node or a terminal. The method includes: sending a first report, the first report including a sequence number of a first data packet and first information, wherein the first data packet is the first data packet in a first window whose state is the first state. The first information includes P first indication information, which are used to indicate the state of data packets following the first data packet in the first window. The p-th first indication information in the P first indication information indicates the state of multiple consecutive data packets corresponding to the p-th first indication information, and the states of the multiple consecutive data packets are the same, where p = 1, ..., P, and P is a positive integer. The status of the data packets following the first data packet in the first window includes at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
[0023] Based on this scheme, the first communication device carries at least one first indication information in the first report. One first indication information can indicate the status of multiple consecutive data packets. Since the status of these multiple consecutive data packets is the same, the first indication information can only carry the number of the multiple consecutive data packets and a status indication. This single status indication can be shared by the multiple consecutive data packets, eliminating the need to send a status indication for each data packet. Therefore, when the number of multiple consecutive data packets with the same status in the first window is large, using the first indication information to indicate the status of these multiple consecutive data packets reduces overhead and report size compared to using a traditional bitmap, thereby reducing report transmission latency.
[0024] Sixthly, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device, such as a processor, chip, or chip system of the second communication device, or by a logic module or software capable of implementing all or part of the functions of the second communication device. The second communication device can be a terminal or a wireless access network node. The method includes: receiving a first report, the first report including a sequence number of a first data packet and first information, wherein the first data packet is the first data packet in a first window with a first state. The first information includes P first indication information, which are used to indicate the state of data packets following the first data packet in the first window. The p-th first indication information in the P first indication information indicates the state of multiple consecutive data packets corresponding to the p-th first indication information, and the states of the multiple consecutive data packets are the same, where p = 1, ..., P, and P is a positive integer. The status of data packets following the first data packet in the first window includes at least one of the following: data packet correctly received / lost, data packet discarded / not discarded, data packet sent / not sent, data packet delivered to the lower layer / not delivered to the lower layer, data packet delivered to the upper layer / not delivered to the upper layer, data packet expired / not expired, data packet correctly decoded / data packet not correctly decoded, data packet correctly decrypted / data packet not correctly decrypted, or data packet passed integrity verification / data packet failed integrity verification. The technical effects of the sixth aspect are similar to those of the fifth aspect mentioned above, and will not be elaborated upon here.
[0025] In conjunction with the fifth or sixth aspect, in one possible design, the p-th first indication information includes quantity information and a status bit, wherein the quantity information indicates the number of consecutive data packets corresponding to the p-th first indication information, and the status bit indicates the status of the consecutive data packets corresponding to the p-th first indication information.
[0026] In conjunction with the fifth or sixth aspect, in one possible design, the number of consecutive data packets corresponding to the p-th first indication information is greater than or equal to the first threshold.
[0027] Based on this possible design, the number of consecutive data packets corresponding to each first indication information is limited to be greater than or equal to a first threshold. When the number of consecutive data packets in the first or second state is large, the first indication information can be used to indicate the state of each data packet after the first data packet. This ensures that the report size when using the first indication information is smaller than the report size when using the existing traditional bitmap, thereby reducing the report size and thus reducing the report transmission latency.
[0028] In conjunction with the fifth or sixth aspect, in one possible design, the first information further includes at least one first bitmap, which comprises Y bits. These Y bits correspond to Y data packets located after the first data packet within the first window. These Y data packets are different from the data packets corresponding to the P first indication information packets, where Y is a positive integer. Specifically, if the y-th bit among the Y bits is set to a first value, it indicates that the state of the data packet corresponding to the y-th bit is in the first state; if the y-th bit is set to a second value, it indicates that the state of the data packet corresponding to the y-th bit is in the second state, where y = 1, ..., Y.
[0029] Based on this possible design, the status of data packets following the first data packet in the first window can be indicated by combining the first indication information and the first bitmap. This improves the flexibility of data packet status indication and minimizes the overhead of data packet status indication. For example, a less expensive method can be chosen to indicate the status of data packets. For instance, when multiple consecutive data packets have the same status and the number of these multiple data packets is greater than or equal to a certain threshold, the first indication information can be used to reduce the status indication overhead. When multiple consecutive data packets have different statuses, the first bitmap can be used to indicate the status of these multiple consecutive data packets to reduce the status indication overhead.
[0030] In conjunction with the fifth or sixth aspect, in one possible design, the first report also includes marking information, which indicates that the marking information is followed by a first indication information or a first bitmap.
[0031] Based on this possible design, when the data packet status is indicated by a combination of the first indication information and the first bitmap, the second communication device can correctly parse the field after the flag information through the flag information, thereby obtaining the correct data packet status, performing reasonable processing, and thus improving communication efficiency.
[0032] In conjunction with the fifth or sixth aspect, in one possible design, the first report also includes length information indicating the length of the first bitmap.
[0033] Based on this possible design, if the first information also includes a first bitmap, the length of the first bitmap is indicated by the length information, so that the second communication device can correctly parse the first bitmap, thereby obtaining the correct data packet status, performing reasonable processing, and thus improving communication efficiency.
[0034] In conjunction with the fifth or sixth aspect, in one possible design, the first report also includes second instruction information; the second instruction information indicates that the instruction method used in the first report is one or both of the following: using P first instruction information and using a first bitmap.
[0035] Based on this possible design, the second instruction information enables the second communication device to obtain the instruction method used in the first report, thereby correctly parsing the first report according to the corresponding instruction method, obtaining the correct data packet status, performing reasonable processing, and thus improving communication efficiency.
[0036] In a seventh aspect, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device, such as a processor, chip, or chip system of the first communication device, or by a logic module or software capable of implementing all or part of the functions of the first communication device. The first communication device can be a wireless access network node or a terminal. The method includes: sending reports corresponding to N windows, where N windows are windows associated with a first protocol layer entity, and N is a positive integer greater than 1. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the i-th window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed integrity verification / the data packet failed integrity verification.
[0037] Based on this scheme, multiple windows can be associated with the first protocol layer entity, and a report can be sent for each window, with each report indicating the status of the data packets within its corresponding window. Therefore, each report sent by the first communication device is relatively small compared to a single report corresponding to a larger window composed of these multiple windows, thereby reducing the report size and consequently reducing the report transmission latency.
[0038] In one possible design, the method further includes: receiving first information from a second communication device, the first information being used to configure the number of windows associated with the first protocol layer entity as N.
[0039] In one possible design, the method further includes sending second information to a second communication device, the second information indicating the number of windows associated with the first protocol layer entity desired by the first communication device.
[0040] Eighthly, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device, such as a processor, chip, or chip system of the second communication device, or by a logic module or software capable of implementing all or part of the functions of the second communication device. The second communication device can be a terminal or a wireless access network node. The method includes: receiving reports corresponding to N windows, where N windows are windows associated with a first protocol layer entity, and N is a positive integer greater than 1. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the i-th window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed integrity verification / the data packet failed integrity verification. The technical effects brought about by the eighth aspect can be referred to the technical effects brought about by the seventh aspect, and will not be repeated here.
[0041] In one possible design, the method further includes: sending first information to a first communication device, the first information being used to configure the number of windows associated with the first protocol layer entity as N.
[0042] In one possible design, the method further includes receiving second information from a first communication device, the second information indicating the number of windows associated with the first protocol layer entity that the first communication device expects.
[0043] In conjunction with the seventh or eighth aspect, in one possible design, the sequence numbers of the data packets in the N windows are consecutive across the N windows.
[0044] In conjunction with the seventh or eighth aspect, in one possible design, the number of windows N associated with the first protocol layer entity is predefined by the protocol.
[0045] Ninthly, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device, such as a processor, chip, or chip system of the first communication device, or by a logic module or software capable of implementing all or part of the functions of the first communication device. The first communication device can be a wireless access network node or a terminal. The method includes: sending a first report indicating the status of data packets in a first window; and sending a second report indicating the status of data packets between a first time and a second time, wherein the first time is the trigger time or transmission time of the first report, and the second time is the trigger time or transmission time of the second report. The status of the data packets includes at least one of the following: data packet correctly received / lost, data packet discarded / not discarded, data packet sent / not sent, data packet delivered to a lower layer / not delivered to a lower layer, data packet delivered to an upper layer / not delivered to an upper layer, data packet expired / not expired, data packet correctly decoded / data packet not correctly decoded, data packet correctly decrypted / data packet not correctly decrypted, or data packet passed integrity verification / data packet failed integrity verification.
[0046] Based on this scheme, the first communication device can first send a first report indicating the status of data packets in the first window, with the trigger time or sending time of the first report being the first time; then it can send a second report indicating the status of data packets between the first time and the second time. In other words, when multiple reports of data packet status are required, an incremental reporting method can be used. In subsequent reports, the status of previously reported data packets does not need to be reported again. Compared to reporting the status of all data packets within the window each time, or repeatedly reporting the status of already reported data packets, signaling overhead can be reduced. Simultaneously, the size of subsequent reports can be reduced, thereby reducing report transmission latency.
[0047] In one possible design, the method further includes: sending a first message indicating a data packet whose state, as indicated in the first report, is a first state, but whose state changes to a second state before a second time.
[0048] Based on this possible design, if a data packet with a changed state exists in the first window between the first and second time periods, the first communication device can report first information indicating the data packet with the changed state, so that the second communication device can obtain the latest data packet state and perform corresponding processing to improve communication efficiency.
[0049] In a tenth aspect, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device, such as a processor, chip, or chip system of the second communication device, or by a logic module or software capable of implementing all or part of the functions of the second communication device. The second communication device can be a terminal or a wireless access network node. The method includes: receiving a first report indicating the status of data packets in a first window; receiving a second report indicating the status of data packets between a first time and a second time, wherein the first time is the trigger time or transmission time of the first report, and the second time is the trigger time or transmission time of the second report. The status of the data packets includes at least one of the following: data packets are correctly received / lost, data packets are discarded / not discarded, data packets are sent / not sent, data packets are delivered to a lower layer / not delivered to a lower layer, data packets are delivered to an upper layer / not delivered to an upper layer, data packets expire / not expired, data packets are correctly decoded / data packets are not correctly decoded, data packets are correctly decrypted / data packets are not correctly decrypted, or data packets pass integrity verification / data packets fail integrity verification. The technical effects of the tenth aspect can be referred to the technical effects of the ninth aspect mentioned above, and will not be repeated here.
[0050] In one possible design, the method further includes: receiving first information indicating a data packet whose state, as indicated in a first report, is a first state, but whose state changes to a second state before a second time.
[0051] In conjunction with aspect nine or ten, in one possible design, the first information includes the sequence number of a data packet whose state is indicated as first state in the first report, but whose state changes to second state before a second time.
[0052] In conjunction with the ninth or tenth aspect, in one possible design, the first information is carried in the control protocol data unit of the first protocol layer.
[0053] In one possible design, combining any one of aspects from the first to the tenth, the first state of the data packet is that the data packet is lost, and the second state of the data packet is that the data packet is correctly received; or,
[0054] The first state of a data packet is that it has been dropped; the second state is that it has not been dropped; or...
[0055] The first state of a data packet is that it has been sent; the second state is that it has not been sent. Or...
[0056] The first state of a data packet is that it has been delivered to the lower layer; the second state is that it has not been delivered to the lower layer. Or...
[0057] The first state of a data packet is that it has been delivered to the upper layer; the second state is that it has not been delivered to the upper layer. Or...
[0058] The first state of the data packet is that the data packet has expired, and the second state of the data packet is that the data packet has not expired; or,
[0059] The first state of the data packet is that the data packet has not been correctly decoded; the second state of the data packet is that the data packet has been correctly decoded; or...
[0060] The first state of the data packet is that the data packet has not been decrypted correctly; the second state of the data packet is that the data packet has been decrypted correctly; or...
[0061] The first state of a data packet is that the data packet has failed the integrity check, and the second state of a data packet is that the data packet has passed the integrity check.
[0062] Eleventhly, a communication device is provided for implementing various methods. The communication device includes modules, units, or means corresponding to the implementation of the methods, wherein the modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0063] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions in any of the above aspects and any possible implementations thereof. The transceiver module may include a receiving module and a transmitting module, respectively used to implement the receiving function and the transmitting function in any of the above aspects and any possible implementations thereof.
[0064] In some possible designs, the transceiver module can consist of transceiver circuitry, a transceiver unit, a transceiver interface, or a communication interface.
[0065] In a twelfth aspect, a communication device is provided, comprising: a processor and a memory; the memory being used to store computer instructions that, when executed by the processor, cause the communication device to perform the method described in any of the above aspects and any possible design thereof.
[0066] In a thirteenth aspect, a communication device is provided, comprising: a processor and a communication interface; the communication interface being used to communicate with a module outside the communication device; the processor being used to execute computer programs or instructions to cause the communication device to perform the methods described in any of the foregoing aspects and any possible designs thereof.
[0067] In a fourteenth aspect, a communication device is provided, comprising: at least one processor; said processor being configured to execute a computer program or instructions stored in a memory to cause the communication device to perform the methods described in any of the foregoing aspects and any possible designs thereof. The memory may be coupled to the processor, or may be independent of the processor.
[0068] In a fifteenth aspect, a communication device (e.g., a chip or chip system) is provided, the communication device including a processor for implementing the functions involved in any of the above aspects and any possible designs thereof.
[0069] In some possible designs, the communication device includes a memory for storing necessary program instructions and data.
[0070] In some possible designs, when the device is a chip system, it can be composed of chips or contain chips and other discrete components.
[0071] The communication device described in the eleventh to fifteenth aspects may be a first communication device in the first, third, fifth, seventh, or ninth aspects, or a device included in the first communication device, such as a chip or chip system; or the communication device may be a second communication device in the second, fourth, sixth, eighth, or tenth aspects, or a device included in the second communication device, such as a chip or chip system.
[0072] In a sixteenth aspect, a communication device is provided, which may be a first communication device, or a module or unit (e.g., a chip, chip system, or circuit) in the first communication device that performs one-to-one the methods / operations / steps / actions described in the first, third, fifth, seventh, or ninth aspects, or a module or unit that can be used in conjunction with the first communication device; or, the communication device may be a second communication device, or a module or unit (e.g., a chip, chip system, or circuit) in the second communication device that performs one-to-one the methods / operations / steps / actions described in the second, fourth, sixth, eighth, or tenth aspects, or a module or unit that can be used in conjunction with the second communication device.
[0073] It is understandable that when the communication device provided by any one of aspects eleven to sixteen is a chip, the sending action / function of the communication device can be understood as outputting information, and the receiving action / function of the communication device can be understood as inputting information.
[0074] In a seventeenth aspect, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on a communication device, enable the communication device to perform the methods described in any of the preceding aspects and any possible designs thereof.
[0075] In an eighteenth aspect, a computer program product containing instructions is provided that, when run on a communication device, enables the communication device to perform the methods described in any of the foregoing aspects and any possible design thereof.
[0076] In a nineteenth aspect, a communication system is provided, comprising a first communication device and a second communication device. The first communication device is used to implement the methods described in the first, third, fifth, seventh, or ninth aspects and any possible designs thereof, and the second communication device is used to implement the methods described in the second, fourth, sixth, eighth, or tenth aspects and any possible designs thereof.
[0077] The technical effects of any of the design methods in aspects eleven to nineteen can be found in the technical effects of different design methods in aspects one to ten, and will not be repeated here. Attached Figure Description
[0078] Figure 1 A schematic diagram of a protocol stack architecture provided for this application;
[0079] Figure 2 A schematic diagram of the structure of an RLC layer status report provided in this application;
[0080] Figure 3 This application provides a schematic diagram of the structure of a PDCP status report and an SN interval report.
[0081] Figure 4 A schematic diagram illustrating the reception of data packets in a receiving window, as provided in this application;
[0082] Figure 5 A schematic diagram of the structure of a communication system provided in this application;
[0083] Figure 6 A schematic diagram of an ORAN system architecture provided in this application;
[0084] Figures 7-8 A schematic diagram of the protocol layer architecture of a CU-DU provided in this application;
[0085] Figure 9 A flowchart illustrating a communication method provided in this application;
[0086] Figure 10A schematic diagram illustrating the division of a window's range, provided in this application;
[0087] Figure 11 A schematic diagram of the structure of a report provided in this application;
[0088] Figure 12 A schematic diagram illustrating the inconsistency in the understanding of the scope division between a first communication device and a second communication device provided in this application;
[0089] Figure 13 A schematic diagram of the structure of another report provided for this application;
[0090] Figure 14 A flowchart illustrating another communication method provided in this application;
[0091] Figure 15 A schematic diagram of a first data packet provided in this application;
[0092] Figure 16 A flowchart illustrating another communication method provided in this application;
[0093] Figures 17-18 A schematic diagram of the structure of a PDU provided in this application;
[0094] Figure 19 A flowchart illustrating another communication method provided in this application;
[0095] Figure 20 A schematic diagram illustrating multiple windows associated with a first protocol layer entity, as provided in this application;
[0096] Figure 21 A flowchart illustrating another communication method provided in this application;
[0097] Figure 22 A schematic diagram of a window corresponding to different reports provided in this application;
[0098] Figure 23 A schematic diagram of the state of a data packet provided in this application;
[0099] Figures 24-26 This is a schematic diagram of the structure of a communication device provided in this application. Detailed Implementation
[0100] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0101] In the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0102] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0103] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0104] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process 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.
[0105] It is understood that in this application, "...when" and "if" both refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require a judgment action to be performed during implementation, nor do they imply any other limitations.
[0106] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0107] To facilitate understanding of the technical solutions of the embodiments of this application, a brief introduction to the relevant technologies of this application is given below.
[0108] 1. Radio Access Network (RAN) side protocol stack:
[0109] In 5G mobile communication systems, the RAN-side protocol stack can be divided into the user plane protocol stack and the control plane protocol stack. The user plane protocol stack may include the Service Data Adaptation Protocol (SDAP) layer, the Packet Data Convergence Protocol (PDCP) layer, the Radio Link Control (RLC) layer, the Media Access Control (MAC) layer, and the Physical (PHY) layer, etc.
[0110] like Figure 1 As shown, in the user plane protocol stack, the SDAP layer sits above the PDCP layer, the PDCP layer above the RLC layer, the RLC layer above the MAC layer, and the MAC layer above the physical layer. For downlink transmission, downlink data first arrives at the SDAP layer of the access network device. After mapping by the SDAP layer, it is transmitted to the corresponding PDCP layer. After processing by the PDCP layer, it is transmitted to the RLC and MAC layers. After further processing, it is sent from the physical layer and transmitted to the terminal side via the air interface. After receiving the data packet at the air interface, the terminal processes the data packet in the reverse order of the access network device. The processing of data packets by each protocol layer is implemented by the corresponding multi-functional entity of that protocol layer. For example, the processing of the PDCP layer is implemented by the corresponding PDCP layer entity.
[0111] 2. RLC layer:
[0112] The RLC layer enables the segmentation and reassembly of RLC service data units (SDUs). For example, the sending RLC layer can segment an RLC SDU, and the receiving RLC layer can reassemble the segmented RLC SDUs. Here, an RLC SDU can also be understood as a PDCP protocol data unit (PDU).
[0113] For example, the sending end's RLC layer can segment large data packets based on the available resources. At the receiving end, the RLC layer can only reassemble the data packet and deliver it to the PDCP layer after receiving all the segments of a data packet. If any segment is not received, the receiving end's RLC layer cannot deliver the received segments to the PDCP layer. In other words, if the sending end's RLC layer has segmented the data packet, the receiving end's RLC layer will deliver the reassembled data packet to the PDCP layer.
[0114] Typically, the RLC layer does not distinguish between service data and control data (such as PDCP status reports) submitted by the PDCP layer. Therefore, during packet assembly based on available resources, the RLC layer may prioritize service data, resulting in insufficient remaining resources to carry a complete PDCP status report. Consequently, it may need to segment the PDCP status report and transmit only a portion of these segments in the current transmission. Based on this, to ensure priority transmission of PDCP status reports, the RLC layer can differentiate between PDCP layer service data and control data, prioritizing the transmission of PDCP layer control data.
[0115] Furthermore, at the RLC layer, the data receiver can send an RLC layer status report to the data sender. The format of the RLC layer status report is as follows: Figure 2 As shown. See also Figure 2 The status report of the RLC layer includes the D / C field, control PDU type (CPT) field, ACK_SN field, NACK_SN field, E1, E2, E3 fields, and reserved field. Figure 2 (represented by R in Chinese), SOstart field, SOend field, NACK range field, etc.
[0116] The D / C field indicates whether the current PDU is a data PDU or a control PDU. The CPT field has a fixed encoded value (e.g., "000"), explicitly identifying the control PDU as a status report. The ACK_SN field indicates the maximum sequence number of successfully received packets. The NACK_SN field indicates the sequence number of packets that were not correctly received. E1, E2, and E3 are extension fields. E1 indicates whether there are other NACK_SN fields after the current NACK entry; E2 indicates whether the current NACK entry contains segment offset information (SOstart and SOend); and E3 indicates whether the status report contains additional control information blocks (such as retransmission count statistics, congestion feedback, etc.). The SOstart and SOend fields indicate RLC segments that were not successfully received. The NACK range field indicates the number of consecutively unreceived packets starting from the packet indicated by NSCK_SN. It can be seen that the RLC layer status report lists the sequence numbers of all incorrectly received packets.
[0117] 3. PDCP layer:
[0118] The PDCP layer is primarily used to process radio resource control (RRC) packets in the control plane and Internet Protocol (IP) packets in the user plane. It mainly implements the following functions:
[0119] a) Security features, such as data encryption / decryption, integrity protection / verification;
[0120] b) Compression / decompression of IP headers;
[0121] c) Discard timed-out user plane data packets;
[0122] d) Reordering and retransmission of user plane data packets, etc.
[0123] A PDCP PDU consists of a PDCP SDU and a PDCP header. Furthermore, the PDCP layer's PDUs are divided into data PDUs and control PDUs. Data PDUs can include user plane data and control plane data; control PDUs can include PDCP status reports and robust header compression (ROHC) feedback.
[0124] In a PDCP PDU (or SDU), the COUNT value is used to identify the PDU. The COUNT value consists of the high-order bits of the hyperframe number (HFN) and the low-order bits of the PDCP sequence number (SN). Typically, the PDCP PDU sent from the transmitter to the receiver includes the PDCP SN. The receiver can deduce the HFN from the PDCP SN, thus determining the COUNT value of the PDCP PDU. The COUNT value is usually 32 bits long. The PDCP SN is 12 or 18 bits long. The HFN is 32 bits minus the size of the PDCP SN.
[0125] At the PDCP layer, the data sender and receiver exchange reports. For example, the data receiver can send a PDCP status report to the data sender to indicate lost packets in the receive window, or the reception status of packets in the receive window. The data sender can send an SN gap report to the data receiver to indicate dropped packets (e.g., packets dropped due to network congestion), or the packet drop status in the send window.
[0126] like Figure 3 As shown in (a), the PDCP status report includes the D / C field, the PDU type field, and the reserved field. Figure 3 The first lost data packet (represented by R) contains the COUNT (first missing COUNT, FMC) field and the bitmap field. The bitmap field is optional. "Field" can also be replaced with "Domain".
[0127] The D / C field indicates whether the current PDCP PDU is a PDCP data PDU or a PDCP control PDU. The PDU type field distinguishes the specific function type of the control PDU. The FMC field indicates the COUNT of the first lost packet within the receive window. The bitmap indicates whether each packet following the first lost packet in the receive window was lost (or correctly received). Each bit in the bitmap corresponds to a packet; a bit set to "1" indicates that the corresponding packet was correctly received, and a bit set to "0" indicates that the corresponding packet was lost (or not correctly received). The bitmap field may be absent if the first lost packet is the last packet in the receive window; otherwise, the bitmap field should be present.
[0128] like Figure 3As shown in (b), the SN interval report includes the D / C field, the PDU type field, and the reserved field. Figure 3 The first discarded packet (represented by R) has a COUNT (first discard COUNT, FDC) field and a discard bitmap field. The bitmap field is optional.
[0129] The D / C field indicates whether the current PDCP PDU is a PDCP data PDU or a PDCP control PDU. The PDU type field indicates the type of PDU. The FDC field indicates the COUNT of the first dropped (or intentionally dropped, or discarded) packet within the transmission window. The bitmap indicates whether each packet following the first dropped packet in the transmission window has been dropped. Each bit in the bitmap corresponds to one packet; a bit set to "1" indicates that the corresponding packet has been dropped, and a bit set to "0" indicates that the corresponding packet has not been dropped. The bitmap field may be absent if the first dropped packet is the last packet in the transmission window; otherwise, the bitmap field is present.
[0130] The aforementioned receive window and send window can be represented as a range of sequence numbers or COUNTs for data packets, rather than a time range. For example, the receive window can be represented as SN1 to SNx, indicating that the data packets in the receive window should be data packets with sequence numbers SN1 to SNx. Furthermore, the receive window and send window can vary; for example, the receive window at the receiving end can be different at different times, or the send window at the sending end can be different at different times.
[0131] For example, taking data packets 0 to 18 in the receive window as an example, Figure 4 As shown, if the first lost data packet in the receive window is data packet 2, then the FMC field in the PDCP status report can be set to COUNT for data packet 2, and the bitmap in the PDCP status report indicates whether each data packet from data packet 3 to data packet 18 has been lost. For example, if the reception status of data packets 3 to 18 is: data packets 9 and 17 are lost, and all other data packets are successfully received, then the bitmap can be: 1111110111111101.
[0132] As can be seen from the formats of PDCP status reports and SN interval reports, if the first lost data packet in the receive window is located early in the receive window, or the first dropped data packet in the send window is located early in the send window, the subsequent bitmap will be very long. Theoretically, the length of the PDCP status report could reach 9000 bytes. In this case, the PDCP status report / SN interval report will most likely be segmented at the RLC layer, and it may require multiple transmissions to send all RLC segments of the report. The RLC layer at the report receiver needs to wait for all RLC segments to be successfully received before reassembling the packet and delivering it to the PDCP layer. This will result in a long transmission delay for the PDCP layer report, preventing the report from being delivered to the PDCP layer at the report receiver in a timely manner, thus preventing the report receiver from taking timely action based on the report.
[0133] For example, the receiver of the PDCP status report is the data sender. The data sender needs to retransmit or adjust the transmission window based on the PDCP status report. If the PDCP status report is not sent in a timely manner, it will lead to unnecessary retransmissions or untimely retransmissions. Similarly, the receiver of the SN interval report is the data receiver. If the SN interval report is not sent in a timely manner, the data receiver will keep waiting for data packets that the data sender has actively discarded. For data packets that have been successfully received subsequently, due to the need for sequential delivery, they cannot be delivered to the upper layer.
[0134] In other words, the existing formats of PDCP status reports or SN interval reports may result in significant transmission delays. Even if the RLC layer distinguishes between PDCP layer service data and control data to prioritize the transmission of PDPC layer control data, large PDCP status reports or SN interval reports, coupled with limited available resources, may still be segmented, leading to further transmission delays. Alternatively, even if the RLC layer's status report format is applied to PDCP status reports, the presence of sequence numbers for all incorrectly received packets in the RLC layer's report can still result in large PDCP status reports if the number of incorrectly received packets is high, again leading to segmentation at the RLC layer and consequently, significant transmission delays.
[0135] Based on this, this application provides a communication method that can send multiple reports for a single window, or redefine the FMC field as the sequence number of the first lost data packet that meets specific conditions, or replace the original bitmap with a "count + status bit" format, or associate an entity with multiple windows and send reports from each of those windows respectively, or perform incremental reporting of data packet status to reduce report transmission latency. The methods provided in this application will be described in detail in subsequent embodiments and will not be repeated here.
[0136] The technical solutions of this application embodiment can be used in various communication systems, including 3GPP communication systems such as 4th generation (4G) systems (e.g., Long Term Evolution (LTE) systems), 5G systems (e.g., New Radio (NR) systems), LTE and 5G hybrid networking systems, non-terrestrial networks (NTN), device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, machine-type communication (MTC) systems, Internet of Things (IoT) systems, or other future communication systems. The communication system can also be a non-3GPP communication system; there is no limitation on this.
[0137] The communication systems described above are merely illustrative examples, and are not limited to those described herein. The communication systems provided in this application do not impose any limitations on the solutions described herein. This will be explained uniformly here and will not be repeated below.
[0138] Figure 5 A possible, non-limiting system schematic diagram is shown. For example... Figure 5 As shown, the communication system 50 includes a radio access network (RAN) 500 and a core network (CN) 600. The RAN 500 includes at least one RAN node (e.g., Figure 5 510a and 510b (collectively referred to as 510) and at least one terminal (such as Figure 5 RAN 500, denoted as 520a-520j, is collectively referred to as 520. RAN 500 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 5 (Not shown in the image). Terminal 520 is connected to RAN node 510 wirelessly. RAN node 510 is connected to core network 600 wirelessly or via wired connection. The core network equipment in core network 600 and RAN node 510 in RAN 500 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.
[0139] RAN 500 can be a 3GPP-related cellular system, such as a 4G, 5G mobile communication system, or a future-oriented evolution system. RAN 500 can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. RAN 500 can also be a communication system that integrates two or more of the above systems.
[0140] A terminal can also be referred to as a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as D2D, V2X communication, MTC, IoT, virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. The embodiments of this application do not limit the device form of the terminal.
[0141] RAN node 510, sometimes also referred to as access network node, RAN entity, or access node, constitutes part of the communication system and assists terminals in achieving wireless access. Multiple RAN nodes 510 in communication system 50 can be of the same type or different types. In some scenarios, the roles of RAN node 510 and terminal 520 are relative, for example... Figure 5 Network element 520i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminal 520j accessing RAN 500 via network element 520i, network element 520i is a base station; however, for network element 510a, network element 520i is a terminal. RAN node 510 and terminal 520 are sometimes referred to as communication devices, for example... Figure 5 The network elements 510a and 510b can be understood as communication devices with base station functions, while the network elements 520a-520j can be understood as communication devices with terminal functions.
[0142] In one possible scenario, the RAN node can be an access network device, such as a base station, an evolved NodeB (eNodeB), an access point (AP), a TRP, a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system. Access network devices can also be macro base stations (e.g.,...). Figure 5 510a), micro base stations or indoor stations (such as Figure 5 The access network device can be a 510b relay node or donor node, or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the access network device in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The access network device in this application can also be a logical node, logical module, or software capable of implementing all or part of the access network device functions.
[0143] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with each RAN node implementing a portion of the access network equipment's functions. For example, a RAN node can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0144] In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, and RU may also be called O-RU. For ease of description, this application uses CU, DU, and RU as examples. Any of the units in CU, DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0145] For example, such as Figure 6The diagram shown illustrates a possible, non-limiting O-RAN system. In this system, the CU, DU, and RU cooperate to assist the terminal in achieving radio access. The CU, DU, and RU can be included in the access network equipment, and the CU and DU can be included in the BBU of the access network equipment.
[0146] See Figure 6 Access network devices communicate with core network devices via backhaul links and with terminals via air interfaces. Specifically, the BBU (Browser Unit) of an access network device communicates with the core network device via the backhaul link, and the RU (Remote Root Unit) of the access network device communicates with at least one terminal device via the air interface. The BBU communicates with at least one RU via a fronthaul link, and the CU (Core Unit) communicates with at least one DU (Device Root Unit) via a midhaul link. The BBU and RU can be co-located or not.
[0147] As one possible implementation, the CU and DU respectively implement some of the protocol layer functions of the access network device. For example, some protocol layer functions are implemented in the CU, and the remaining or all protocol layer functions are implemented in the DU. The CU can control one or more DUs.
[0148] For example, such as Figure 7 As shown, the CU can deploy the RRC layer, SDAP layer, and PDCP layer. In other words, the CU can be understood as a logical node carrying the RRC, SDAP, and PDCP layers of the access network equipment. Therefore, the CU has the processing capabilities of the RRC, PDCP, and SDAP layers. Of course, the CU can also implement or carry other control functions. Similarly, the DU can deploy the RLC layer, MAC layer, and PHY layer. In other words, the DU can be understood as a logical node carrying the RLC, MAC, and PHY layers. Therefore, the DU has the processing capabilities of the RLC, MAC, and PHY layers. Of course, the DU can also implement or carry other functions.
[0149] Optionally, the CU connects to network nodes such as the core network through interfaces, which may be interfaces such as the N2 interface. Furthermore, the CU can also implement some core network functions. The CU (e.g., the PDCP layer and higher layers) connects to the DU (e.g., the RLC layer and lower layers) through interfaces, which may be interfaces such as the F1 interface. In some examples, these interfaces (e.g., the F1 interface) can provide control plane (C-Plane) and user plane (U-Plane) functions (e.g., interface management, system information management, UE context management, RRC message transmission, etc.). For example, F1 supports control plane functions through F1-C and user plane functions through F1-U.
[0150] In one example, the CU may include a CU control plane (CU-CP) and a CU user plane (CU-UP). For example... Figure 8 As shown, CU-CP can be understood as a logical node carrying the RRC layer and the PDCP control plane (PDCP control plane part of PDCP, PDCP-C), used to implement the control plane functions of the CU. CU-CP can communicate with DU through F1-C. CU-UP can be understood as a logical node carrying the SDAP layer and the PDCP user plane (PDCP user plane part of PDCP, PDCP-U), used to implement the user plane functions of the CU. CU-UP can communicate with DU through F1-U.
[0151] The functional division of CU and DU described above is merely an example and does not constitute a limitation on CU and DU. Furthermore, the functions of CU and DU can be configured as needed. For example, CU or DU can be configured as a node with more protocol layer functions, or as a node with partial protocol layer processing functions. For instance, some functions of the RLC layer and the protocol layer functions above the RLC layer can be placed in the CU, while the remaining functions of the RLC layer and the protocol layer functions below the RLC layer can be placed in the DU. As another example, the functions of CU or DU can be divided according to service type or other system requirements, such as by latency, placing functions that need to meet low latency requirements in the DU and functions that do not need to meet such latency requirements in the CU.
[0152] For example, in some examples, the CU may not carry the PDCP layer, i.e., it may only carry the RRC layer. CU-CP may not carry PDCP-C, CU-UP may not carry PDCP-U, or CU-UP may not exist. In other examples, the DU may not carry the RLC layer. Furthermore, it is also possible to have only the DU without a CU.
[0153] As one possible implementation, the DU and RU can cooperate to implement the functions of the PHY layer. For example, the DU can deploy the RLC layer, MAC layer, and higher physical layer (Higher PHY). The RU can deploy the lower physical layer (Lower PHY) and radio frequency (RF) processing functions. The DU can control at least one RU, and the DU and RU can communicate via a fronthaul interface. The DU and RU can be co-located or not.
[0154] The higher physical layer is closer to the MAC layer, and its functions may include at least one of the following: forward error correction (FEC) encoding / decoding, scrambling / descrambling, modulation / demodulation, etc. The lower physical layer is closer to the mid-RF side, and its functions may include at least one of the following: fast Fourier transform (FFT), inverse fast Fourier transform (IFFT), digital beamforming, and filtering, etc.
[0155] The functional division of DU and RU described above is merely an example and does not constitute a limitation on DU and RU. The functions of DU and RU can be configured in various ways depending on the design. For example, DU can be configured to implement baseband functions, and RU can be configured to implement radio frequency functions, etc.
[0156] The above explanation uses the example of the PDCP layer being located on the access network side (e.g., within the CU). In the future, the PDCP layer could also be located on the core network side, for example, with core network elements implementing the functions of the PDCP layer. In other words, the PDCP layer can be considered to be located within a network device, which can be an access network device or a core network device, without restriction.
[0157] Furthermore, regarding the aforementioned protocol layers, in future communication systems, all functions of different protocol layers can be integrated and implemented by a new protocol layer; or partial functions of each of multiple protocol layers can be integrated and implemented by a new protocol layer; or all functions of one protocol layer can be integrated with partial functions of other protocol layers and implemented by a new protocol layer; or each protocol layer can implement more or fewer functions than currently available, without limitation. Moreover, the aforementioned protocol layer entities may also have other names in future communication systems, and this application does not specifically limit this.
[0158] For example, in future communication systems, some functions of the PDCP layer and RLC layer (such as functions other than segmentation / reassembly) can be merged and implemented by a single converged protocol layer, and the segmentation / reassembly function of the RLC layer can be moved down to the MAC layer.
[0159] As one possible implementation, the O-RAN system may also include a non-realtime ran intelligent controller (Non-RT RIC or NRT RIC) and / or a near-real time ran intelligent controller (Near-RT RIC or nRT RIC).
[0160] Non-RT RIC is used to implement non-real-time intelligent management of the RAN, enabling artificial intelligence (AI) / machine learning (ML) operations including model training and updates, and guiding applications / functions within the Near-RT RIC based on policies. Near-RT RIC is used to implement near real-time intelligent management of the RAN, achieving near real-time control and optimization of O-RAN modules and resources through data collection and related operations on the E2 interface. The E2 interface can be understood as an open interface between two nodes (or endpoints).
[0161] It should be noted that the communication system described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0162] The following is combined with Figure 5 The system shown uses the interaction between a terminal and a RAN node as an example to describe the communication method provided in the embodiments of this application. It should be noted that in the following embodiments of this application, the message names, parameter names, or information names between various devices are just examples, and other names may be used in other embodiments. The method provided in this application does not specifically limit these names.
[0163] It is understood that in the embodiments of this application, each device may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the steps may be performed in different orders as presented in the embodiments of this application, and it is not necessary to perform all the operations in the embodiments of this application.
[0164] It is understood that, unless otherwise specified, the same or similar parts between the various embodiments in this application may be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.
[0165] It is understood that this application uses a terminal and a RAN node as examples to illustrate the execution of the interaction, but this application does not limit the execution subject of the interaction. For example, the method executed by the terminal in this application can also be executed by a module applied to the terminal (e.g., a chip, chip system, or processor), or by a logical node, logical module, or software that can implement all or part of the terminal's functions; similarly, the method executed by the RAN node can also be executed by a module applied to the RAN node (e.g., a chip, chip system, or processor), or by a logical node, logical module, or software that can implement all or part of the RAN node's functions.
[0166] The communication method provided in the embodiments of this application will be described below. First, this application provides a communication method in which multiple reports can be sent to a single window. For example... Figure 9 As shown, the communication method may include the following steps:
[0167] S901, the first communication device sends N reports to the second communication device. Correspondingly, the second communication device receives N reports from the first communication device, where N is a positive integer greater than 1.
[0168] In one possible implementation, such as Figure 9 As shown, before step S901, the first communication device and the second communication device can transmit data.
[0169] As a first possible implementation, the first communication device can be a data receiver, and the second communication device can be a data transmitter (e.g., in downlink data transmission, the first communication device is a terminal, and the second communication device is a RAN node; in uplink data transmission, the first communication device is a RAN node, and the second communication device is a terminal). In this case, the N reports can be understood as reports fed back from the data receiver to the data transmitter (e.g., PDCP status reports).
[0170] As a second possible implementation, the first communication device can be a data transmitter, and the second communication device can be a data receiver (for example, in downlink data transmission, the first communication device is a RAN node, and the second communication device is a terminal; in uplink data transmission, the first communication device is a terminal, and the second communication device is a RAN node). In this case, the N reports can be understood as reports fed back from the data transmitter to the data receiver (e.g., SN interval reports).
[0171] The N reports are used to indicate the status of data packets in the first window. For example, the N reports are used to indicate the status of data packets in the first window at a certain time, which can be the current time, or the generation time of the N reports, or the trigger time of the N reports, or the sending time of the N reports, without specifying a time.
[0172] For example, the term "data packet" in this application can also be understood as: data, message, SDU, PDU, payload, Internet Protocol (IP) packet, etc., and these descriptions can be used interchangeably. This is a unified explanation here, and subsequent embodiments will not repeat it.
[0173] For example, when the first communication device is a data receiving end, the first window can be the receiving window of the first protocol layer entity; when the first communication device is a data sending end, the first window can be the sending window of the first protocol layer entity.
[0174] For example, the first protocol layer entity can be an entity used to implement some or all of the PDCP layer functions, or it can be a protocol layer entity used to implement some or all of the PDCP layer functions and some of the RLC layer functions, or it can be a protocol layer entity located above the second protocol layer. The second protocol layer entity is an entity with (data packet) segmentation / reassembly functions, or it can be any protocol layer entity in the protocol stack (such as an RLC entity, MAC entity, etc.), or it can be a newly defined protocol layer entity in a future communication system, etc., without limitation. In addition, the PDCP layer, RLC layer, and MAC layer may have other names in future communication systems, and this application does not specifically limit them.
[0175] In this context, the i-th report among the N reports indicates the status of data packets within the i-th range of the first window. That is, it can be assumed that for each range within the first window, a report corresponding to that range is sent.
[0176] As one possible implementation, data packets within different ranges of the first window do not overlap. Data packets located within these N ranges may include some or all of the data packets in the first window. Furthermore, the term "range" in this embodiment can also be replaced with descriptions such as: part, sub-window, window range, or segment.
[0177] For example, taking a first window with a starting sequence number of 0 and an ending sequence number of 17, meaning the data packets in the first window can be data packets with sequence numbers from 0 to 17, as an example... Figure 10 As shown, the first window can include two ranges. The first range contains data packets with sequence numbers 1-6, and the second range contains data packets with sequence numbers 7-17. These two ranges include a portion of the data packets in the first window. Alternatively, the first range could also contain data packets with sequence numbers 0-6, and the second range could contain data packets with sequence numbers 7-17. Figure 10 (not shown in the image), at this time, these two ranges include all data packets in the first window.
[0178] It should be noted that the term "serial number" in this application can also be understood as SN, serial number, index, number, etc., and these descriptions can be used interchangeably. Furthermore, the term "serial number" in this application can also be replaced with a COUNT value, and a COUNT value can also be described as COUNT. Please refer to the aforementioned explanation of COUNT values; further details will not be repeated here.
[0179] For example, based on Figure 10 As shown in the example, the first communication device can send two reports: the first report indicates the status of data packets in the first range of the first window, and the second report indicates the status of data packets in the second range of the first window.
[0180] As one possible implementation, the status of the data packets in the first window, or the status of the data packets in the i-th range, may include at least one of the following: data packet correctly received / lost, data packet dropped / not dropped, data packet sent / not sent, data packet delivered to the lower layer / not delivered to the lower layer, data packet delivered to the upper layer / not delivered to the upper layer, data packet expired / not expired, data packet correctly decoded / data packet not correctly decoded, data packet correctly decrypted / data packet not correctly decrypted, data packet passed integrity check / data packet failed integrity check. Here, " / " represents "or".
[0181] As a first example, when the first communication device is a data receiver, the state of the data packet can include any of the following: the data packet is correctly received, the data packet is lost, the data packet is delivered to the upper layer, the data packet is not delivered to the upper layer, the data packet expires, the data packet does not expire, the data packet is correctly decoded, the data packet is not correctly decoded, the data packet is correctly decrypted, the data packet is not correctly decrypted, the data packet passes the integrity check, and the data packet fails the integrity check.
[0182] The phrase "data packet is received correctly" or "data packet is lost" can be understood as: data packet is received correctly or data packet is lost at the first protocol layer. Data packet loss can also be described as data packet not being received correctly or data packet not being received successfully.
[0183] Whether a data packet is delivered to an upper layer or not can be understood as either being delivered to the protocol layer above the first protocol layer or not being delivered to the protocol layer above the first protocol layer. Specifically, at the data receiving end, the protocol layer above the first protocol layer processes the data packet after the first protocol layer; at the data sending end, the protocol layer above the first protocol layer processes the data packet before the first protocol layer. For example, if the first protocol layer is PDCP, the protocol layer above it could be SDAP.
[0184] Data packet expiration can be understood as the expiration of the data packet's validity period or the expiration of the data packet's validity period. Data packet not expired can be understood as the expiration of the data packet's validity period.
[0185] A data packet not being decoded correctly can also be understood as a data packet decoding failure or a decoding error. "Decoding" can also be understood as "deciphering". A data packet not being decrypted correctly can also be understood as a data packet decryption failure or a decryption error. A data packet failing integrity verification can also be understood as a data packet integrity verification failure.
[0186] As a second example, when the first communication device is the data sender, the state of the data packet can include any of the following: the data packet is dropped, the data packet is not dropped, the data packet is sent, the data packet is not sent, the data packet is delivered to the lower layer, the data packet is not delivered to the lower layer, the data packet expires, or the data packet does not expire.
[0187] In this context, "data packet dropped" or "data packet not dropped" can be understood as "data packet dropped or not dropped at the first protocol layer." "Data packet sent" or "data packet not sent" can be understood as "data packet sent or not sent at the first protocol layer." The explanation of "data packet expired" or "not expired" can be found in the relevant explanation in the first example above, and will not be repeated here.
[0188] Whether a data packet is delivered to a lower layer or not can be understood as either being delivered to a lower protocol layer below the first protocol layer or not being delivered to a lower protocol layer below the first protocol layer. Specifically, at the data receiving end, the lower protocol layer below the first protocol layer processes the data packet before the first protocol layer; at the data sending end, the lower protocol layer below the first protocol layer processes the data packet after the first protocol layer. For example, if the first protocol layer is the PDCP layer, the lower protocol layer could be the RLC layer.
[0189] Optionally, after step S901, the following step S902 may also be performed:
[0190] S902, The second communication device processes the above N reports.
[0191] For example, if N reports indicate that data packets were lost in the first window, the second communication device can retransmit the lost data packets. If N reports indicate that data packets were discarded in the first window, the first protocol layer of the second communication device can submit data packets following the discarded data packets to the upper layer. Of course, the second communication device can also perform other processing based on the aforementioned N reports, and this application does not specifically limit this.
[0192] Based on the above scheme, multiple reports can be sent for a single window, each report indicating the status of data packets within a specific range of that window. Therefore, each report sent by the first communication device is relatively small compared to a single report sent for a single window, thereby reducing the report size and consequently reducing the report transmission latency.
[0193] For example, when the first window is a window of the first protocol layer, and the first protocol layer is located above a protocol layer with segmentation capabilities (such as the RLC layer, hereinafter referred to as the second protocol layer), since the report sent by the first communication device is small, the report does not need to be segmented at the second protocol layer, or it is divided into a small number of second protocol layer segments. Therefore, for a report sent by the first communication device, the second protocol layer of the second communication device does not need to wait for other segments, or only waits for a small number of segments, allowing the report to be delivered to the upper layer in a timely manner. This enables the upper layer to promptly obtain the status of the data packets within the corresponding range of the report. Compared to existing technologies, the second protocol layer of the second communication device does not need to wait for all report segments to be successfully received before delivering them to the upper layer, allowing each report to be delivered in a timely manner, thereby reducing report transmission latency and quickly completing the transmission of larger reports.
[0194] The overall flow of the communication method provided in this application has been described above. The format of the multiple reports sent by the first communication device is described below. For example, the format of the reports can be implemented using the following methods one and two:
[0195] Method 1: The i-th report includes the sequence number of the starting data packet within the i-th range and the first information.
[0196] The first information indicates the status of each data packet within the i-th range. In other words, the first information indicates the status of the starting data packet within the i-th range and the status of each data packet after the starting data packet.
[0197] For example, based on Figure 10 In the example shown, the sequence numbers of the data packets in the first range of the first window are 1-6, and the sequence numbers of the data packets in the second range are 7-17. Therefore, the sequence number of the starting data packet in the first range is 1, and the sequence number of the starting data packet in the second range is 7. The first report includes sequence number 1 and first information #1, which indicates the status of each data packet with sequence numbers 1-6. The second report includes sequence number 7 and first information #2, which indicates the status of each data packet with sequence numbers 7-17.
[0198] As one possible implementation, the first information can be a first bitmap. This first bitmap includes M bits, which correspond to M data packets in the i-th range, where M is the total number of data packets in the i-th range and M is a positive integer.
[0199] For example, based on Figure 10 In the example shown, the total number of data packets in the first range is 6, and the total number of data packets in the second range is 11. Then, the first information #1 can be a bit map with a length of 6 bits, and the first to sixth bits correspond to the data packets with sequence numbers 1 to 6 in the first range. The first information #2 can be a bit map with a length of 11 bits, and the first to eleventh bits correspond to the data packets with sequence numbers 7 to 17 in the second range.
[0200] When the m-th bit of the M bits is set to the first value, it indicates that the state of the data packet corresponding to the m-th bit is the first state; when the m-th bit is set to the second value, it indicates that the state of the data packet corresponding to the m-th bit is the second state, m = 1, ... M.
[0201] For example, the first and second states of a data packet can have the following nine possibilities:
[0202] a) The first state of a data packet is that the data packet is lost, and the second state of a data packet is that the data packet is correctly received.
[0203] b) The first state of a data packet is that the data packet has been dropped, and the second state of a data packet is that the data packet has not been dropped.
[0204] c) The first state of a data packet is that the data packet has been sent, and the second state of a data packet is that the data packet has not been sent.
[0205] d) The first state of a data packet is that the data packet has been delivered to the underlying layer, and the second state of a data packet is that the data packet has not been delivered to the underlying layer.
[0206] e) The first state of a data packet is that the data packet has been delivered to the upper layer, and the second state of a data packet is that the data packet has not been delivered to the upper layer.
[0207] f) The first state of a data packet is that the data packet has expired, and the second state of a data packet is that the data packet has not expired.
[0208] g) The first state of a data packet is that the data packet has not been correctly decoded, and the second state of a data packet is that the data packet has been correctly decoded.
[0209] h) The first state of the data packet is that the data packet has not been decrypted correctly, and the second state of the data packet is that the data packet has been decrypted correctly.
[0210] i) The first state of the data packet is that the data packet has failed the integrity check, and the second state of the data packet is that the data packet has passed the integrity check.
[0211] It should be noted that the first and second states mentioned above are just examples, and there can be other implementations, such as swapping the first and second states, i.e., the first state is that the data packet is correctly received and the second state is that the data packet is lost, or the first state is that the data packet is not discarded and the second state is that the data packet is discarded, etc., without restriction.
[0212] For example, the first value is "0", and the corresponding second value is "1"; or, the first value is "1", and the corresponding second value is "0", without limitation. Furthermore, the first value can be different for different first and second states, and the corresponding second value can also be different. For example, if the first state is packet loss and the second state is packet correct reception, the first value can be "0", and the corresponding second value is "1". Conversely, if the first state is packet discarded and the second state is packet not discarded, the first value can be "1", and the corresponding second value is "0". For ease of explanation, the following embodiments of this application use the example of packet loss as the first state and packet correct reception as the second state. The implementation of other states can be compared and referred to, and will not be elaborated upon.
[0213] For example, based on Figure 10The example shown uses the condition that the first state is packet loss and the second state is packet reception correctly, with the first value being 0 and the second value being 1. Assuming the sequence numbers of the lost packets in the first range are 1 and 5, and the sequence number of the lost packets in the second range is 16, the format of the first report can be as follows: Figure 11 As shown in (a) above, the format of the second report can be as follows: Figure 11 As shown in (b) above. See also Figure 11 In (a), the first report includes sequence number 1 and first bitmap #1, where first bitmap #1 is 011101, indicating that data packets with sequence numbers 1 and 5 were lost. See also... Figure 11 In (b), the second report includes sequence number 7 and first bitmap #2, which is 11111111101, indicating that the data packet with sequence number 16 was lost.
[0214] As one possible implementation, the sequence number of the starting data packet within the i-th range included in the i-th report can be carried in the first field. This first field can reuse fields from existing reports, such as the existing FMC / FDC field; or the first field can have other names and meanings, such as indicating the first data packet in a segment or the starting data packet in a segment; or the first field can be the first segment code (FSC), etc., without restriction. Furthermore, the first information in the i-th report can be carried in the bitmap field.
[0215] Based on the above method one, the i-th report carries the sequence number of the starting data packet in the i-th range, as well as a bit map indicating the status of each data packet in the i-th range. This enables the second communication device to determine the N ranges of the first window based on the N reports. For example, it can determine the starting position of the i-th range based on the sequence number of the starting data packet in the i-th range, and determine the data packets in the i-th range based on the bit map corresponding to the i-th range. This allows the device to correctly parse the reports to obtain the correct data packet status and then perform corresponding processing, thereby improving communication efficiency.
[0216] If the i-th report follows the existing standard PDCP status report, and carries the sequence number of the first lost data packet in the i-th range, as well as a bit map indicating whether each data packet after the first lost data packet is lost, it may cause misunderstanding on the second communication device side.
[0217] For example, based on Figure 10 The example shown illustrates that, if the existing standard PDCP status report is used, the formats of the first and second reports would be as follows: Figure 12 (a) and Figure 12As shown in (b) above. That is, in the first report, FMC = 1, and the subsequent bitmap is represented as 11101; in the second report, FMC = 16, and the subsequent bitmap is represented as 1. Therefore, after the second communication device receives the two reports sent by the first communication device, it may assume that the first communication device has divided the first window into three ranges (e.g., Figure 12 In the division method in (c), the second communication device successfully received the reports corresponding to serial numbers 1-6 and 16-17, but the reports corresponding to serial numbers 7-15 were not successfully received (or were lost). At this time, the second communication device cannot confirm whether the data packets with serial numbers 7-15 were lost. In order to ensure the reliability of transmission, the second communication device may retransmit the data packets with serial numbers 7-15, resulting in a waste of resources.
[0218] In other words, the second communication device and the first communication device have inconsistent understandings of the scope division of the first window, leading to a misunderstanding by the second communication device. However, through the method described above, the second communication device can avoid this misunderstanding, correctly understand the scope division of the window, and thus obtain the correct data packet status.
[0219] Method 2: The i-th report includes the number of the i-th range, the sequence number of the first data packet, and the second information.
[0220] Here, the first data packet is the first data packet in the i-th range whose state is the first state. The first state of the data packet can be referred to the relevant explanation in Method 1 above, and will not be repeated here.
[0221] For example, taking the first state as packet loss as an example, based on Figure 10 In the example shown, the sequence number of the first data packet with the first state in the first range is 1, that is, for the first range, the first data packet is the data packet with sequence number 1; the sequence number of the first data packet with the first state in the second range is 16, that is, for the second range, the first data packet is the data packet with sequence number 16.
[0222] The second information indicates the status of each data packet within the i-th range that follows the first data packet. For example, based on... Figure 10 In the example shown, the second information #1 in the first report indicates the status of each data packet with sequence number 2-6, and the second information #2 in the second report indicates the status of the data packet with sequence number 17.
[0223] As one possible implementation, the second information can be a second bitmap. This second bitmap consists of L bits, which correspond to L data packets, where L is the total number of data packets following the first data packet in the i-th range, and L is a positive integer.
[0224] For example, based on Figure 10 In the example shown, taking the first state as packet loss as an example, the sequence number of the first lost packet in the first range is 1, and the total number of packets following the first lost packet in the first range is 5. Therefore, the second information #1 can be a bitmap of length 5 bits, corresponding to packets with sequence numbers 2-6 in the first range. The sequence number of the first lost packet in the second range is 16, and the total number of packets following the first lost packet in the second range is 1. Therefore, the second information #2 can be a bitmap of length 1 bit, corresponding to packet with sequence number 17 in the second range.
[0225] In this configuration, when the l-th bit of the L bits is set to a first value, it indicates that the state of the data packet corresponding to the l-th bit is in the first state; when the l-th bit is set to a second value, it indicates that the state of the data packet corresponding to the l-th bit is in the second state, and l = 1, ..., L. The implementation of the first and second states of the data packet, as well as the first and second values, can be found in the relevant descriptions in Method 1 above, and will not be repeated here.
[0226] For example, based on Figure 10 The example shown uses the condition that the first state is packet loss and the second state is packet reception correctly, with the first value being 0 and the second value being 1. Assuming the sequence numbers of the lost packets in the first range are 1 and 5, and the sequence number of the lost packets in the second range is 16, the format of the first report can be as follows: Figure 13 As shown in (a) above, the format of the second report can be as follows: Figure 13 As shown in (b) above. See also Figure 13 In (a), the first report includes the first range number 1, sequence number 1, and second bitmap #1. Second bitmap #1 is 11101, indicating that data packets with sequence numbers 1 and 5 were lost. See also... Figure 13 In (b), the second report includes the second range number 2, sequence number 16, and second bit map #2. The first bit map #2 is 1, indicating that the data packet with sequence number 16 was lost and the data packet with sequence number 17 was received correctly.
[0227] As one possible implementation, the sequence number of the first data packet with a first state in the i-th report can be carried in a second field. This second field can reuse fields from existing reports, such as existing FMC / FDC fields, or it can have other implementations without restriction. The number of the i-th range included in the i-th report can be carried in a reserved field in an existing PDCP status report or SN interval report. The second information included in the i-th report can be carried in a bitmap field.
[0228] Based on the above-described method two, the number of the i-th range is carried in the i-th report, enabling the second communication device to determine the reception status of multiple reports sent by the first communication device based on N reports. For example, it can determine whether there are any reports that have not been received correctly based on the range number (e.g., if reports containing range numbers 1 and 3 are received, the report corresponding to range 2 can be considered lost). Alternatively, it can combine the range number, the sequence number of the first data packet within the range, and a bitmap indicating the status of each data packet after the first data packet to determine the N ranges of the first window, thereby correctly parsing the report to obtain the correct data packet status and taking appropriate action, improving communication efficiency and avoiding misunderstandings caused by using the existing standard PDCP status report format. The misunderstandings caused by using the existing standard PDCP status report format can be referred to the relevant explanation in the above-described method one, and will not be repeated here.
[0229] In one possible implementation, in the above-described method two, the number of the i-th range in the i-th report can also be replaced with the number, index, or sequence number of the i-th report.
[0230] Furthermore, in multiple reports sent at different times for different windows, the window range numbers, or the report numbers, are consecutive. For example, the first communication device divides the first window corresponding to the first time into two ranges and sends two reports, with the range numbers 1 and 2, and the reports numbered 1 and 2, respectively. For the second window corresponding to the second time, the first communication device divides it into three ranges and sends three reports, with the range numbers 3, 4, and 5, and the reports numbered 3, 4, and 5, respectively.
[0231] Alternatively, in multiple reports sent at different times for different windows, the window range number, or the report number, can be individually numbered, for example, all starting from 1. In this case, the multiple reports sent by the first communication device for each window can carry the window number, or the window's start sequence number and / or end sequence number. For example, if the first communication device divides the first window corresponding to the first time into two ranges and sends two reports, in addition to the information in Method Two above, these two reports can also carry the first window number, or the first window's start sequence number and / or end sequence number.
[0232] In Method 2 above, we will take the example of a data packet in the first state existing within the i-th range. However, the data packets within the i-th range may all be in the second state; for example, all data packets within the i-th range may have been correctly received. In this case, the i-th report may include the number of the i-th range, the total number of data packets within the i-th range, and third information indicating that the data packets within the i-th range are all in the second state.
[0233] For example, the third information can be a 1-bit indication, which can be set to a specific value to indicate that the status of packets in the i-th range is the second state.
[0234] For example, the total number of data packets within the i-th range carried in the i-th report can be used by the second communication device to determine the N ranges of the first window, thereby correctly parsing the report to obtain the correct data packet status, and then making corresponding processing to improve communication efficiency.
[0235] For example, assuming the first window has a starting sequence number of 0 and an ending sequence number of 17, and the data packets in the first range of the first window are data packets with sequence numbers 1-6, and the data packets in the second range are data packets with sequence numbers 7-17, and assuming that data packets with sequence numbers 1 and 5 in the first range are lost, and all data packets in the second range are successfully received, then the first report includes the number of the first range, sequence number 1, and bitmap 11101, and the second report includes the number of the second range, the total number of data packets in the second range (11), and third information. After receiving the first and second reports, the second communication device can determine that the ending sequence number of the first range is 6. Combining this with the total number of data packets in the second range (11), it can determine that the ending sequence number of the second range is 17. Combining this with the ending sequence number of the first window (17), it can be determined that there are no other ranges after the second range. Therefore, it can be concluded that the first window contains two ranges and there are no lost reports, thus allowing for appropriate processing based on the received reports.
[0236] Figure 9 The method shown reduces report transmission latency by sending multiple reports for a single window. Furthermore, this application also provides a communication method in which the sequence number of the first data packet with a first state after exceeding a threshold, or the sequence number of the first important data packet with a first state, can be carried in the report to reduce report transmission latency. See also Figure 14 The method includes the following steps:
[0237] S1401, the first communication device sends a first report to the second communication device. Correspondingly, the second communication device receives the first report from the first communication device.
[0238] As one possible implementation, such as Figure 14 As shown, before step S1401, the first communication device and the second communication device can transmit data. The first communication device can be a data receiver and the second communication device can be a data sender; or, the first communication device can be a data sender and the second communication device can be a data receiver, as described in the relevant description in step S901 above, which will not be repeated here.
[0239] The first report is used to indicate the status of the data packets in the first window. Furthermore, the first window can be the receiving window of a first protocol layer entity, or it can be the sending window of a first protocol layer entity. The status of the data packets may include whether the data packets were correctly received / lost, or whether the data packets were discarded / not discarded, etc., as described in step S901, and will not be repeated here.
[0240] The first report includes the sequence number of the first data packet and first information. The first data packet is the data packet in the first window that meets the first condition. The first information indicates the status of each data packet following the first data packet in the first window. The status of each data packet following the first data packet may include whether the data packet was correctly received / lost, whether the data packet was dropped / not dropped, etc., which can be referred to the relevant description in step S901, and will not be repeated here.
[0241] As one possible implementation, the first condition includes: the first data packet whose state is the first state after reaching the first threshold, and / or, an important data packet whose state is the first state. That is, the first data packet can be the first data packet in the first window whose state is the first state after reaching the first threshold, and / or, an important data packet in the first window whose state is the first state. The first state can be referred to the relevant explanation in Method 1 above, and will not be repeated here. Of course, the first condition can also include other limitations; no restrictions are applied to the first condition.
[0242] For example, the first threshold can be the quantity or the fault tolerance rate. The first threshold can be predefined by the protocol, negotiated by the first and second communication devices, configured by the second communication device to the first communication device (e.g., if the second communication device is a RAN node and the first communication device is a terminal, the RAN node configures the first threshold to the terminal), or determined by the first communication device itself, without restriction.
[0243] For example, when the first threshold is quantity, reaching the first threshold can be understood as: the number of data packets in the first window that are in the first state has been equal to or greater than the first threshold. When the first threshold is fault tolerance, the ratio of the number of data packets in the first window that are in the first state to the total number of data packets in the first window has been greater than or equal to the first threshold.
[0244] like Figure 15 As shown, taking the first window's starting sequence number as 0, ending sequence number as 19, first threshold as quantity, and first threshold as 2, and first state as data packet loss, and reaching the first threshold as greater than the first threshold as an example, assuming that data packets with sequence numbers 1, 5, 16, and 18 are lost in the first window, then the first data packet in the first window with the first state after reaching the first threshold is the data packet with sequence number 16.
[0245] Figure 15 In the example shown, when the data packet with sequence number 1 is lost, the number of data packets lost in the first window is 1, which is less than the first threshold of 2. When the data packet with sequence number 5 is lost, the number of data packets lost in the first window is 2, which is equal to the first threshold. Therefore, it can be considered that the data packets with sequence numbers 1 and 5 do not meet the first condition, or in other words, the first threshold has not yet been reached. Thus, neither the data packets with sequence numbers 1 nor 5 are the first data packets. When the data packet with sequence number 16 is lost, the number of data packets lost in the first window is 3, which exceeds the first threshold. When the data packet with sequence number 18 is lost, the number of data packets lost in the first window is 4, which also exceeds the first threshold. Among the data packets with sequence numbers 16 and 18, the data packet with sequence number 16 is the first data packet lost after the first threshold is reached. Therefore, the first data packet is the data packet with sequence number 16.
[0246] For example, when the first threshold is the fault tolerance rate, the above can be referred to. Figure 15 The example shown can be Figure 15 The first threshold 2 in the text is replaced with a fault tolerance rate of 10%, which is understandable and will not be elaborated here.
[0247] As one possible implementation, whether a data packet is an important data packet can be indicated by indication information carried within the data packet. That is, the data packet can carry indication information to indicate whether the data packet is an important data packet.
[0248] For example, the indication information can indicate whether the current data packet is an important data packet or a non-important data packet. For instance, the indication information can be a 1-bit indicator. If the bit is set to a first value, it indicates that the current data packet is an important data packet; if the bit is set to a second value, it indicates that the current data packet is a non-important data packet.
[0249] Alternatively, the indication information can indicate the importance level of the current data packet. If the importance level is higher than or equal to a certain threshold, the data packet is an important data packet; if the importance level is lower than or equal to the threshold, the data packet is a non-important data packet.
[0250] As another possible implementation, whether a data packet is important can be determined by a packet pattern. For example, a packet pattern can be predefined or negotiated between the sender and receiver, indicating the location of important or unimportant data packets. For instance, the packet pattern could be one important data packet + K unimportant data packets, where K is a positive integer. That is, the data packet sent by the sender is "one important data packet + K unimportant data packets + one important data packet + K unimportant data packets…". In this case, the important data packets are the first data packet, the (K+2)th data packet, and so on.
[0251] For example, taking the first window as having a starting sequence number of 0, an ending sequence number of 19, and a first state of data packet loss, assuming that data packets with sequence numbers 1, 5, 16, and 18 are lost in the first window, and that data packets with sequence numbers 16 and 18 are important data packets, then the first important data packet in the first window with a first state is the data packet with sequence number 16.
[0252] The first information indicates the status of each data packet following the first data packet within the first window. For example, based on the above... Figure 15 In the example shown, the first information indicates the status of each packet (sequence numbers 17-19) following the packet with sequence number 16 in the first window.
[0253] As one possible implementation, the first information can be a first bitmap. This first bitmap includes X bits, which correspond to X data packets in a first window, where X is the total number of data packets following the first data packet in the first window, and X is a positive integer. For example, based on... Figure 15 In the example shown, X equals 3, and the first to third bits correspond to data packets with sequence numbers 17-19 in the first window, respectively.
[0254] In this configuration, if the xth bit of the X bits is set to a first value, it indicates that the state of the data packet corresponding to the xth bit is the first state; if the xth bit is set to a second value, it indicates that the state of the data packet corresponding to the xth bit is the second state, where x = 1, ..., X. The first or second state, and the first or second value, can be found in the relevant explanation in Method 1 above, and will not be repeated here.
[0255] As one possible implementation, the sequence number of the first data packet can be carried in a first field, which can reuse fields from existing reports, such as existing FMC / FDC fields; or the first field can have other names and meanings, without restriction. Furthermore, the first information can be carried in a bitmap field.
[0256] Optionally, after step S1401, the following step S1402 may also be performed:
[0257] S1402, the second communication device processes the first report. The implementation of step S1402 can be referred to the relevant description in step S902 above, and will not be repeated here.
[0258] Based on the above scheme, the first communication device does not indicate the first data packet in the first window with a first state in the first window in the first report, but rather the first data packet in the first window with a first state after reaching a threshold, or the first important data packet with a first state. In this case, even if the first data packet with a first state in the first window is located early in the first window, if the first threshold has not yet been reached, or if the data packet is not an important data packet, the first report will not carry the sequence number of the data packet. Only when the first threshold is reached or an important data packet with a first state (i.e., the first data packet) appears will the first report carry the sequence number of the first data packet and indicate the state of each subsequent data packet. In other words, through the above scheme, the first data packet can be located relatively late in the first window, which can reduce the number of data packets after the first data packet, reduce the overhead of indicating the state of these data packets, thereby reducing the size of the report and thus reducing the transmission latency of the report.
[0259] In one possible implementation, Figure 9 The method shown and Figure 14 The methods shown can be performed independently or in combination. For example, Figure 9 In method two shown, the first data packet can also be replaced with Figure 14 The first data packet defined in the method shown is the data packet in the first window that satisfies the first condition. Of course, Figure 9 The method shown and Figure 14 The method shown can also be combined in other ways, which are not specifically limited in this application.
[0260] remove Figure 9 and Figure 14 In addition to the method shown, this application also provides a communication method in which bitmap compression can be used to reduce the report size, thereby reducing the report transmission latency. See also Figure 16 The method includes the following steps:
[0261] S1601, the first communication device sends a first report to the second communication device. Correspondingly, the second communication device receives the first report from the first communication device.
[0262] In one possible implementation, such as Figure 16 As shown, before step S1601, the first communication device and the second communication device can transmit data. The first communication device can be a data receiver and the second communication device can be a data sender; or, the first communication device can be a data sender and the second communication device can be a data receiver, as described in the relevant description in step S901 above, which will not be repeated here.
[0263] The first report is used to indicate the status of the data packets in the first window. Furthermore, the first window can be the receiving window of a first protocol layer entity, or it can be the sending window of a first protocol layer entity. The status of the data packets may include whether the data packets were correctly received / lost, or whether the data packets were discarded / not discarded, etc., as described in step S901, and will not be repeated here.
[0264] The first report includes the sequence number of the first data packet and first information. The first data packet is the first data packet in the first window whose status is the first state. The first information includes P first indication information, which are used to indicate the status of (some or all) data packets following the first data packet in the first window, where P is a positive integer. The status of each data packet following the first data packet may include whether the data packet was correctly received / lost, whether the data packet was dropped / not dropped, etc., which can be referred to the relevant description in step S901, and will not be repeated here.
[0265] In this context, the p-th first indication information among the P first indication information indicates the status of a consecutive plurality of data packets corresponding to the p-th first indication information. These consecutive plurality of data packets have the same status, where p = 1, ..., P. For example, the consecutive plurality of data packets can refer to a plurality of data packets with consecutive sequence numbers.
[0266] In other words, each of the P first indication messages corresponds to a series of consecutive data packets following the first data packet within the first window. Furthermore, for different first indication messages, the corresponding consecutive data packets do not overlap, or are completely different. For the same first indication message, the corresponding consecutive data packets have the same state, for example, all are in the first state or all are in the second state. The first state or second state can be referred to the relevant explanation in Method 1 above, and will not be repeated here.
[0267] For example, taking the first window with a starting sequence number of 0, an ending sequence number of 9, and a first state of data packet loss as an example, if data packets with sequence numbers 0-2 are lost, data packets with sequence numbers 3-6 are correctly received, and data packets with sequence numbers 7-9 are lost, that is, if represented by the traditional bit diagram as 0001111000, then P can be equal to 3. The first first indication information corresponds to data packets with sequence numbers 0-2, the second first indication information corresponds to data packets with sequence numbers 3-6, and the third first indication information corresponds to data packets with sequence numbers 7-9.
[0268] Optionally, after step S1601, the following step S1602 may also be performed:
[0269] S1602. The second communication device processes the first report. The implementation of step S1602 can be referred to the relevant description in step S902 above, and will not be repeated here.
[0270] The first instruction information in the above method is explained below.
[0271] As one possible implementation, the p-th first indication information includes quantity information and a status bit. The quantity information indicates the number of consecutive data packets corresponding to the p-th first indication information, and the status bit indicates the status of the consecutive data packets corresponding to the p-th first indication information.
[0272] For example, when the status bit is set to a first value, it indicates that the status of multiple consecutive data packets corresponding to the p-th first indication information is the first state; when the status bit is set to a second value, it indicates that the status of multiple consecutive data packets corresponding to the p-th first indication information is the second state. The first state, the second state, the first value, and the second value can be referred to the relevant description in Method 1 above, and will not be repeated here.
[0273] For example, based on the above example, taking a first value of 0 and a second value of 1 as an example, the first indication information includes quantity information #1 and status bit #1. Quantity information #1 indicates a quantity of 3, and status bit #1 set to 0 indicates that the data packet was lost. The whole can be represented as 3 0. The second indication information includes quantity information #2 and status bit #2. Quantity information #2 indicates a quantity of 4, and status bit #2 set to 1 indicates that the data packet was correctly received. The whole can be represented as 4 1. The third indication information includes quantity information #3 and status bit #3. Quantity information #3 indicates a quantity of 3, and status bit #3 set to 0 indicates that the data packet was lost. The whole can be represented as 3 0. That is, when the status of the data packets in the first window is represented by the bitmap as 0001111000, the status of these data packets in the first information can be represented as 3 0, 4 1, and 3 0.
[0274] As an example, such as Figure 17 As shown, the first report can be carried in the PDU, the sequence number of the first data packet carried in the first report can be carried in the first field of the PDU, and the first indication information carried in the first report can be carried in the second field of the PDU. Furthermore, the second field may include a count field (for carrying quantity information) and a status bit (…). Figure 17 (This is represented as 1 / 0). In addition, the PDU may also include a D / C field, a PDU type field, and a reserved field. The meanings of these fields can be found in the aforementioned relevant explanations and will not be repeated here.
[0275] It should be noted that, Figure 17 This example illustrates the situation where the quantity information precedes the status bit. In practical applications, the status bit can also precede the quantity information; there is no restriction. Furthermore, Figure 17 The example given is a 7-bit counter field. However, the size of the counter field can be greater than or less than 7 bits, without restriction.
[0276] It is understood that the above examples are only used to illustrate the solution of this application. In practical applications, the number of consecutive data packets with the same status may be large. In this case, the above "count + status bit" indication method can greatly reduce the size of the report compared with the traditional bit map indication method.
[0277] For example, assuming the first window size is 200, the starting sequence number is 0, and the ending sequence number is 199, if the first lost data packet is the data packet with sequence number 9, and the subsequent 120 consecutive data packets are correctly received, followed by another 50 consecutive lost data packets, and finally the last 10 consecutive data packets are correctly received, then using a traditional bitmap to indicate the status of data packets with sequence numbers 10-199 would require 190 bits. However, using the above-mentioned "count + status bit" method to indicate the status of data packets with sequence numbers 10-199 would only require a maximum of 24 bits (taking a count field size of 7 bits as an example).
[0278] As one possible implementation, the number of consecutive data packets corresponding to the p-th first indication information is greater than or equal to a first threshold. That is, the number of consecutive data packets corresponding to each first indication information is greater than or equal to the first threshold. In other words, the number of consecutive data packets in the first window with a state of either the first or second state is greater than or equal to the first threshold. For example, based on... Figure 17 In the example shown, the first threshold can be 3.
[0279] For example, the first threshold may be predefined by the protocol (or a standard preset value), or it may be negotiated by the first communication device and the second communication device, or it may be configured by the data sender or the sender of the first report, without limitation.
[0280] Based on this possible implementation, the number of consecutive data packets corresponding to each first indication information is limited to be greater than or equal to a first threshold. When the number of consecutive data packets in the first or second state is large, the first indication information can be used to indicate the state of each data packet after the first data packet. This ensures that the report size when using the first indication information is smaller than the report size when using the existing traditional bitmap, thereby reducing the report size and thus reducing the report transmission delay.
[0281] Based on the above scheme, the first communication device carries at least one first indication information in the first report. One first indication information can indicate the status of multiple consecutive data packets. Furthermore, since the status of these multiple consecutive data packets is the same, the first indication information can only carry the number of the multiple consecutive data packets and a status indication. This single status indication can be shared by the multiple consecutive data packets, eliminating the need to send a status indication for each data packet. Therefore, when the number of multiple consecutive data packets with the same status in the first window is large, using the first indication information to indicate the status of these multiple consecutive data packets reduces overhead and the report size compared to using a traditional bitmap, thereby reducing the report transmission latency.
[0282] The above explanation uses the example of the first information carrying at least one first indication information to indicate the status of each data packet after the first data packet. Furthermore, the first information can also carry a traditional bitmap. That is, the method of using at least one first indication information and the method of using a bitmap can be used in combination.
[0283] In one possible implementation, in addition to the P first indication messages, the first information also includes at least one first bitmap. Each first bitmap includes Y bits, which correspond to Y data packets located after the first data packet in the first window. These Y data packets are different from the data packets corresponding to the P first indication messages, where Y is a positive integer. Furthermore, the data packets corresponding to different first bitmaps do not overlap (or are completely different).
[0284] In this context, when the y-th bit of the Y bits is set to a first value, it indicates that the state of the data packet corresponding to the y-th bit is the first state; when the y-th bit is set to a second value, it indicates that the state of the data packet corresponding to the y-th bit is the second state, where y = 1, ..., Y. The first or second state, and the first or second value, can be found in the relevant explanation in Method 1 above, and will not be repeated here.
[0285] As one possible implementation, if there are multiple consecutive data packets with different states in the first window, or if the number of multiple consecutive data packets with the same state is less than or equal to a first threshold, the first information may include at least one first bit map, which is used to indicate the states of multiple consecutive data packets with different states, or to indicate the states of multiple consecutive data packets with the same state but less than or equal to the first threshold.
[0286] For example, taking a first window with a start sequence number of 0, an end sequence number of 9, a first state of data packet loss, and a first value of 0, if data packets with sequence numbers 0-2 are lost, data packets with sequence numbers 3-6 are correctly received, data packet 7 is lost, data packet 8 is correctly received, and data packet 9 is lost, then the first information can include two pieces of first information and one first bitmap. Specifically, the first piece of first information corresponds to data packets with sequence numbers 0-2, the second piece of first information corresponds to data packets with sequence numbers 3-6, and the first bitmap corresponds to data packets with sequence numbers 7-9. Further, taking a first indication information that includes quantity information and a status bit as an example, the first piece of first indication information can be represented as 3 0, the second piece of first indication information can be represented as 4 1, and the first bitmap can be represented as 010.
[0287] As one possible implementation, since the first information includes two types of indication methods (i.e., including the first indication information and the first bitmap), in order for the second communication device to correctly parse the first information, the first report may also include flag information, which indicates that the flag information is followed by either the first indication information method or the first bitmap method.
[0288] For example, "after the flag information" can be understood as: the first indication method following the flag information, or the indication method immediately following the flag information. For instance, based on the example above where the first information includes two pieces of first information and one first bitmap, the first report may include flag information #1, which indicates that the first information method should be used after flag information #1, that is, the first information after flag information #1 is the first indication information #1. Similarly, the first report may include flag information #2 and identification information #3, where the first information after flag information #2 is the first indication information #2, and the first information after flag information #3 is the first bitmap.
[0289] As one implementation, the flag information can be a 1-bit indication. If the 1-bit is set to a first value, it indicates that the flag information is followed by a first indication information; if the 1-bit is set to a second value, it indicates that the flag information is followed by a first bitmap.
[0290] As one possible implementation, the first report also includes length information indicating the length of the first bitmap. Furthermore, if the first information includes multiple first bitmaps, the first report may include length information corresponding to each first bitmap separately, and the lengths of different first bitmaps may be different.
[0291] Based on the above implementation, as a possible example, when the first information includes at least one first indication information and at least one first bit map, the relevant information of the first indication information can be carried in the format of "flag bit + count field + status bit". The flag bit, count field and status bit can be three consecutive fields. The flag bit is located in the first field of the three fields and is set to the first value. The order of the count field and status bit is not restricted.
[0292] In addition, the format "flag bit + length field + bit map" can be used to carry relevant information about the first bit map. Here, the flag bit, length field and bit map can be three consecutive fields, and the order of these three fields from first to last is: flag bit, length field, bit map. The flag bit can be set to the second value, the length field indicates the length of the bit map, and the bit map is the first bit map itself.
[0293] For example, the first report can be carried in the PDU, such as Figure 18 As shown, the PDU may include a first field for carrying the sequence number of the first data packet. The PDU also includes a flag bit (flag)#1. Figure 18In the PDU, denoted as F1, when flag #1 is set to the first value, the fields following flag #1 can be understood as a count field and a status field, used to indicate the number of consecutive data packets and the status of those consecutive data packets, respectively. Additionally, the PDU may also include flag #2 (… Figure 18 In the case of F2), if the flag #2 is set to the second value, the first field after the flag #2 is the length field, indicating the length of the first bitmap. Figure 18 The following example uses a first bitmap with a length of 9 (where each bit in the first bitmap is represented by 1 or 0). The length field is followed by the first bitmap. Additionally, the PDU may include a D / C field, a PDU type field, and a reserved field. The meanings of these fields can be found in the aforementioned explanations and will not be repeated here.
[0294] It should be noted that, Figure 18 This explanation uses only the example of the first information including a first indication message and a first bitmap. In practice, the first information may include at least one first indication message and at least one first bitmap, and the order of the first indication message and the first bitmap in the first information is not limited. For example, Figure 18 In the example shown, the first bitmap may be followed by the first indication information, and then by the first bitmap, etc.; or, in Figure 18 In the example shown, the relevant fields of the first indication information can be located after the relevant fields of the first bitmap without restriction.
[0295] Furthermore, this application Figure 17 and Figure 18 The sizes of the fields listed are for illustrative purposes only; other sizes may exist in actual applications, and this application does not impose specific limitations on them. Furthermore, Figure 17 and Figure 18 The position and order of the various fields are also illustrated for illustrative purposes, and this application does not impose any specific limitations on them.
[0296] As one possible implementation, as can be seen from the above description, the first communication device can use two indication methods, namely, first indication information and first bitmap, to indicate the status of each data packet following the first data packet in the first window. Therefore, in order for the second communication device to correctly parse the first report, the first report may also include second indication information, which indicates that the indication method used in the first report is one or both of the following: using P first indication information and using the first bitmap.
[0297] In other words, when the first indication information and the first bitmap can be used in combination, the second indication information can indicate one of three states: using P pieces of the first indication information, using the first bitmap, or using both P pieces of the first indication information and the first bitmap. The second communication device can parse the first information according to the format corresponding to the method indicated by the second indication information.
[0298] For example, this second instruction information can be carried through a reserved field in the PDU. For instance, such as... Figure 18 As shown, the two reserved fields can be redefined as type fields to indicate one or both of the following: using P first indication information and using a first bitmap.
[0299] Optionally, if the first indication information and the first bitmap cannot be used in combination, the first communication device may employ either at least one first indication information or a first bitmap. In this case, the first bitmap can be understood as an existing bitmap indicating the status of each data packet following the first data packet, and the first report does not need to carry flag information or the length information of the first bitmap. Furthermore, the first report may carry third indication information, which indicates that the indication method used in the first report is either using P first indication information or using a first bitmap.
[0300] For example, this third instruction information can be carried through a reserved field in the PDU. For instance, based on... Figure 17 The example shown can redefine a reserved field as a type field to indicate whether to use P first indication messages or a first bitmap.
[0301] In one possible implementation, Figure 9 , Figure 14 , Figure 16 The methods shown can be performed independently or in combination. For example, Figure 9 The second information in the method shown Figure 14 The first information in the method shown can also be used Figure 16 The method shown uses P first indication messages, or combines P first indication messages with at least one first bit map, to indicate the status of each data packet after the first data packet. Alternatively, Figure 16 The first data packet in the method shown can also be replaced with Figure 14 The first data packet defined in the method shown is the data packet in the first window that satisfies the first condition. Of course, Figure 16 The method shown is the same as Figure 9 or Figure 14Other combinations of the methods shown are possible, and this application does not impose specific limitations on them.
[0302] In one possible implementation, the above method can be applied to a scenario where the first protocol layer is associated with a window. In this scenario, the present application designs the report corresponding to the window to reduce the report transmission latency. Furthermore, the present application also provides a communication method in which the first protocol layer can be associated with multiple windows, and the first communication device can send the report corresponding to each window. Figure 19 As shown, the communication method includes the following steps:
[0303] S1901, the first communication device sends reports corresponding to N windows to the second communication device. Correspondingly, the second communication device receives the reports corresponding to the N windows from the first communication device.
[0304] In one possible implementation, before step S1901, the first communication device and the second communication device can perform data transmission. The first communication device can be a data receiver and the second communication device can be a data sender; or, the first communication device can be a data sender and the second communication device can be a data receiver, as described in the relevant description in step S901 above, which will not be repeated here.
[0305] Here, the N windows are windows associated with the first protocol layer entity. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the i-th window includes at least one of the following: data packet was correctly received / lost, data packet was dropped / not dropped, data packet was sent / not sent, data packet was delivered to the lower layer / not delivered to the lower layer, data packet was delivered to the upper layer / not delivered to the upper layer, data packet expired / not expired, data packet was correctly decoded / data packet was not correctly decoded, data packet was correctly decrypted / data packet was not correctly decrypted, or data packet passed integrity check / data packet failed integrity check. Refer to the relevant description in step S901 above, which will not be repeated here.
[0306] For example, when the first communication device is a data receiving end, the N windows can be N receiving windows of the first protocol layer entity; when the first communication device is a data sending end, the N windows can be N sending windows of the first protocol layer entity. The implementation of the first protocol layer entity can be referred to the relevant description in step S901 above, and will not be repeated here.
[0307] Optionally, after step S1901, the following step S1902 may also be performed:
[0308] S1902, the second communication device processes the reports corresponding to the N windows respectively. The implementation of step S1902 can be referred to the relevant description in step S902 above, and will not be repeated here.
[0309] The following section explains the N windows and the report corresponding to the i-th window.
[0310] As one possible implementation, the sequence numbers of the data packets in the N windows are consecutive across the N windows; in other words, the sequence numbers of the data packets in the N windows are consecutive. That is, the sequence numbers of the data packets in each window do not start from 0. For example, with N equal to 2, the sequence numbers of the data packets in the first window are 0-7, and the sequence numbers of the data packets in the second window are 8-17.
[0311] As another possible implementation, the sequence numbers of the data packets in the N windows can be non-contiguous, or in other words, they can be numbered individually. That is, the sequence numbers of the data packets in each window start from 0. In this scenario, when the first communication device sends a report corresponding to a window, it can carry the window number so that the second communication device knows which window's number it is receiving.
[0312] As one possible implementation, the sum of the sizes of the N windows can be the size of the aforementioned first window. For example, such as... Figure 20 As shown, the size of the first window is 18, meaning the starting sequence number is 0 and the ending sequence number is 17. These N windows include two windows: the first window has a size of 8, a starting sequence number of 0, and an ending sequence number of 7; the second window has a size of 10, a starting sequence number of 8, and an ending sequence number of 17. Alternatively, the starting sequence number of the second window can also be 0, and the ending sequence number can be 9.
[0313] As one possible implementation, the number of windows N associated with the first protocol layer entity can be predefined by the protocol, or it can be negotiated between the first and second communication devices, or it can be configured by the second communication device to the first communication device, or it can be configured by the first communication device to the second communication device.
[0314] For example, such as Figure 19 As shown, before step S1901, the second communication device may send first information to the first communication device. This first information can be used to configure the number of windows associated with the first protocol layer entity as N. Correspondingly, the first communication device receives the first information from the second communication device and determines the number of windows N associated with the first protocol layer entity based on the first information.
[0315] Optionally, before the second communication device sends the first information to the first communication device, the first communication device may send a second information to the second communication device. This second information indicates the number of windows (e.g., M) that the first communication device expects / suggests / anticipates being associated with the first protocol layer entity. After receiving the second information, the second communication device can determine the number of windows associated with the first protocol layer entity and send the first information to the first communication device to configure the number of windows N associated with the first protocol layer. The number of windows N configured by the second communication device can be the same as or different from the number of windows M expected by the first communication device; this is not limited.
[0316] It should be noted that the above explanation uses the example of the second communication device sending a first message to the first communication device, and correspondingly, the first communication device sending a second message to the second communication device. Alternatively, this scheme can be replaced with: the first communication device sending a first message to the second communication device, and correspondingly, the second communication device sending a second message to the first communication device, indicating the number of windows associated with the first protocol layer entity that the second communication device expects / suggests / anticipates.
[0317] As one possible implementation, when the first protocol layer entity is associated with N windows, the number of windows associated with other protocol layer entities of the first communication device can be the same as or different from the number of windows associated with the first protocol layer entity, and is not limited.
[0318] As one possible implementation, the length of each of the N windows associated with the first protocol layer entity can be predefined by the protocol, negotiated by the first and second communication devices, configured by the second communication device to the first communication device, or configured by the first communication device to the second communication device. Please refer to the above description regarding the number of windows associated with the first protocol layer entity, which will not be repeated here.
[0319] As one possible implementation, the report corresponding to the i-th window can be adopted... Figure 9 The implementation of the i-th report in the method shown is as follows: The report corresponding to the i-th window includes the sequence number of the starting data packet within the i-th window and third information, which indicates the status of each data packet within the i-th window. Alternatively, the report corresponding to the i-th window includes the sequence number of the first data packet and fourth information, which indicates the status of each data packet following the first data packet within the i-th window. Here, the first data packet is the first data packet within the i-th window with a status of "first state". The implementation of the third information can be found in [reference needed]. Figure 9 For details regarding the first information in the method shown, and the implementation of the fourth information, please refer to [link / reference]. Figure 9 The relevant explanations of the second information in the method shown will not be repeated here.
[0320] As another possible implementation, the report corresponding to the i-th window can be adopted Figure 14 The implementation of the first report in the method shown is as follows: The report corresponding to the i-th window may include the sequence number of the first data packet and fifth information. This fifth information indicates the status of each data packet following the first data packet in the i-th window. The first data packet is the first data packet in the i-th window to reach the first threshold and / or the first important data packet to reach the first status. The implementation of the fifth information can be found in [reference needed]. Figure 14 The explanation of the first information in the method shown will not be repeated.
[0321] As another possible implementation, the report corresponding to the i-th window can be adopted... Figure 16 The implementation of the first report in the method shown is as follows: The report corresponding to the i-th window may include the sequence number of the first data packet and sixth information. The first data packet is the first data packet in the i-th window with a first state. The sixth information includes P first indication messages, which are used to indicate the state of data packets following the first data packet in the i-th window. The implementation of the sixth information can be found in [reference needed]. Figure 16 The explanation of the first information in the method shown will not be repeated.
[0322] As another possible implementation, the report corresponding to the i-th window can be adopted... Figure 9 , Figure 14 or Figure 16 The combination of at least two of the methods shown, and the report implementation methods provided, can be referred to the foregoing specific description of the combination of several methods, which will not be repeated here.
[0323] Optionally, in the implementation of the report corresponding to the i-th window, if the sequence numbers of the data packets in the N windows are not consecutive, the report corresponding to the i-th window may also include the number or index of the i-th window.
[0324] As one possible implementation, the reports corresponding to different windows in these N windows can adopt the same or different implementation methods. For example, the reports corresponding to all windows in these N windows can all adopt... Figure 14 The method shown illustrates the implementation of the first report; alternatively, reports corresponding to some windows may use... Figure 14 The method shown illustrates the implementation of the first report; the reports corresponding to the other part of the window are implemented using... Figure 16 The implementation of the first report in the method shown.
[0325] Based on the above scheme, multiple windows can be associated with the first protocol layer entity, and a report can be sent for each window. Each report indicates the status of the data packets within its corresponding window. Therefore, each report sent by the first communication device is relatively small compared to a single report corresponding to a larger window composed of these multiple windows, thereby reducing the report size and consequently reducing the report transmission latency.
[0326] In one possible implementation, the report sent by the first communication device in the above method can be understood as an indication of the status of data packets in the first window at a certain moment. Furthermore, this application also provides a communication method applicable to scenarios requiring frequent report sending, used to design the implementation of reports sent at different times. For example... Figure 21 As shown, the communication method includes the following steps:
[0327] S2101, the first communication device sends a first report to the second communication device. Correspondingly, the second communication device receives the first report from the first communication device.
[0328] In one possible implementation, before step S2101, the first communication device and the second communication device can perform data transmission. The first communication device can be a data receiver and the second communication device can be a data sender; or, the first communication device can be a data sender and the second communication device can be a data receiver, as described in the relevant description in step S901 above, which will not be repeated here.
[0329] The first report is used to indicate the status of the data packets in the first window. Furthermore, the first window can be a receiving window of a first protocol layer entity, or it can be a sending window of a first protocol layer entity. The status of the data packets can include at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, or the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, the data packet passed integrity verification / the data packet failed integrity verification. Refer to the relevant description in step S901; it will not be repeated here.
[0330] As one possible implementation, the first window can be the sending or receiving window of the first protocol layer entity at a first moment. Here, the first moment can be the triggering time or the sending time of the first report.
[0331] For example, the trigger time of the first report can be understood as either the time when the first report is generated or the time when the first report is sent. For instance, if a report used to indicate the status of a data packet needs to be sent periodically, then the time within each period when the report is to be sent can be called the trigger time of the report.
[0332] For example, the sending time of the first report can be understood as: the time when the first report is sent, or the time when the first report is sent ends, or the start time of the time domain resources used to carry the first report, or the end time of the time domain resources used to carry the first report.
[0333] As one possible implementation, the first report can be adopted Figure 9 The implementation of the i-th report in the method shown is as follows: The first report includes the sequence number of the starting data packet within the first window and first information, which indicates the status of each data packet within the first window. Alternatively, the report corresponding to the first window includes the sequence number of the first data packet and first information, which indicates the status of each data packet following the first data packet within the first window. Here, the first data packet is the first data packet within the first window whose status is "first state," as shown in the reference. Figure 9 The relevant explanations for the methods shown will not be repeated here.
[0334] As another possible implementation, the first report can be adopted Figure 14 The implementation of the first report in the method shown is as follows: The first report may include the sequence number of the first data packet and first information, which indicates the status of each data packet following the first data packet in the first window. The first data packet is the first data packet in the first window to reach a first threshold and / or the first important data packet to reach a first status. (See reference...) Figure 14 The relevant explanations for the methods shown will not be repeated here.
[0335] As another possible implementation, the first report can adopt Figure 16 The implementation of the first report in the method shown is as follows: The first report may include the sequence number of the first data packet and first information. The first data packet is the first data packet in the first window with a state of "first state". The first information includes P first indication information items, which are used to indicate the state of data packets following the first data packet in the first window. (See reference...) Figure 16 The relevant explanations for the methods shown will not be repeated here.
[0336] As another possible implementation, the first report can adopt Figure 9 , Figure 14 or Figure 16The combination of at least two of the methods shown, and the report implementation methods provided, can be referred to the foregoing specific description of the combination of several methods, which will not be repeated here.
[0337] S2102, the first communication device sends a second report to the second communication device. Correspondingly, the second communication device receives the second report from the first communication device.
[0338] The second report indicates the status of data packets between the first time and the second time. The first time is the trigger time or sending time of the first report, and the second time is the trigger time or sending time of the second report. The trigger time or sending time of the second report can be referred to the relevant explanation regarding the trigger time or sending time of the first report in step S2102 above, and will not be repeated here.
[0339] As one possible implementation, the data packets between the first time and the second time can be understood as: data packets transmitted between the first time and the second time, or data packets that should be transmitted between the first time and the second time.
[0340] As one possible timeframe, at the second time, the sending or receiving window of the first protocol layer entity can be a second window. For example, this second window includes the first window, such that the start sequence number of the second window is the same as the start sequence number of the first window, and the end sequence number of the second window is greater than the end sequence number of the first window. In this case, data packets between the first and second times can also be understood as data packets included in the second window excluding those in the first window. That is, the second report indicates the status of a first portion of data packets in the second window, which represents the status of data packets in the second window excluding those in the first window.
[0341] For example, such as Figure 22 As shown, the first window has a starting sequence number of 0 and an ending sequence number of 8. The second window has a starting sequence number of 0 and an ending sequence number of 17. Therefore, the first report indicates the status of data packets with sequence numbers 0-8. Data packets between the first and second times include data packets with sequence numbers 9-17; therefore, the second report indicates the status of data packets with sequence numbers 9-17.
[0342] As one possible implementation, the second report can be adopted Figure 9 The implementation of the i-th report in the method shown, or by using Figure 14 The implementation of the first report in the method shown, or by using Figure 16 The implementation of the first report in the method shown, or by using Figure 9 , Figure 14 or Figure 16The combination of at least two of the methods shown, and the report implementation methods provided, can be referred to the relevant description of the first report above, and will not be repeated here.
[0343] Optionally, if a data packet with a changed state exists in the first window between the first time and the second time, the communication method may further include the following step S2103:
[0344] S2103, the first communication device sends first information to the second communication device. Correspondingly, the second communication device receives the first information from the first communication device.
[0345] In this embodiment, the first information indicates a data packet whose state was indicated as "first state" in the first report, but whose state changed to "second state" before the second time; or, the first information indicates a data packet whose state was indicated as "second state" in the first report, but whose state changed to "first state" before the second time. For example, the state indicated in the first report as "first state / second state" can also be replaced with: being indicated as "first state / second state" in the first report. Furthermore, the following embodiments of this application use the change of a data packet's state from "first state" to "second state" as an example. The implementation of the first state and the second state can be referred to the relevant description in Method 1 above, and will not be repeated here.
[0346] For example, taking the first state as packet loss and the second state as packet correct reception as an example, such as... Figure 23 As shown, the first report indicates that the data packet with sequence number 1 was lost. If the first communication device successfully receives the data packet with sequence number 1 before the second time, the first communication device can send a first message indicating that the data packet with sequence number 1 was correctly received.
[0347] For example, if the sending or receiving window of the first protocol layer entity is the second window at the second time, the first information can also be considered as indicating a data packet in the second part of the data packet whose state has changed. This second part of the data packet includes data packets included in both the first and second windows.
[0348] As one possible implementation, the first information may include the sequence number of the data packet whose state has changed, for example, the sequence number of a data packet whose state was indicated as first state in the first report, but whose state changed to second state before a second time. Figure 23 In the example shown, the first piece of information may include serial number 1.
[0349] As another possible implementation, in the case of multiple consecutive state changes in data packets, the first information may include a start sequence number and an end sequence number, where the start sequence number is the sequence number of the first data packet in the multiple consecutive state changes, and the end sequence number is the sequence number of the last data packet in the multiple consecutive state changes.
[0350] For example, based on Figure 22 In the example shown, assuming the data packet whose state changes is a data packet with sequence number 1-5, then the starting sequence number is 1 and the ending sequence number is 5. The first information may include the starting sequence number 1 and the ending sequence number 5.
[0351] As another possible implementation, in the case of multiple consecutive state changes in data packets, the first information may include a starting sequence number and the number of such consecutive state changes in data packets, wherein the starting sequence number is the sequence number of the first data packet among the multiple consecutive state changes in data packets.
[0352] For example, based on Figure 22 In the example shown, assuming the data packets whose states change are data packets with sequence numbers 1-5, the starting sequence number is 1, and the number of consecutive data packets whose states change is 5, then the first information can include the starting sequence number 1 and the number 5.
[0353] As one possible implementation, the first information can be carried in the control PDU of the first protocol layer. For example, if the first protocol layer is the PDCP layer, the first information can be carried in the PDCP control PDU.
[0354] For example, when the first information includes the sequence number of the data packet whose state has changed, the structure of the PDCP control PDU can be as follows: Figure 23 As shown. Among them, the D / C field indicates that the PDU is a control PDU; the PDU type field can indicate the type of the PDU. For example, if the state change is from packet loss to packet being received correctly, the PDU type field can indicate that the PDU is an acknowledgment (ACK) PDU. R represents a reserved field, and SN is the sequence number of the packet whose state has changed.
[0355] It should be noted that there is no strict execution order between the above steps S2103 and S2102. Step S2102 can be executed first, followed by step S2103; or step S2103 can be executed first, followed by step S2102; or steps S2102 and S2103 can be executed simultaneously, for example, by sending the second report and the first information in the same message.
[0356] Optionally, in some possible implementations, the communication method may further include the following steps:
[0357] S2104. The second communication device processes the first report and the second report.
[0358] For example, the second communication device may process the data based on the first report after step S2101. After step S2102, the second communication device may process the data based on the second report, or may process the data in combination with the first and second reports.
[0359] Optionally, after step S2103, the second communication device may process the information based on the first information. Alternatively, it may process the information based on at least two of the first report, the second report, and the first information.
[0360] The processing performed by the second communication device based on the first report, the second report, and the first information can be referred to the relevant description in step S902 above, and will not be repeated here.
[0361] Based on the above scheme, the first communication device can first send a first report indicating the status of data packets in the first window, with the trigger time or sending time of the first report being the first time; then it can send a second report indicating the status of data packets between the first time and the second time. In other words, when multiple reports of data packet status are required, an incremental reporting method can be used. In subsequent reports, the status of previously reported data packets does not need to be reported again. Compared to reporting the status of all data packets within the window each time, or repeatedly reporting the status of already reported data packets, signaling overhead can be reduced. Simultaneously, the size of subsequent reports can be reduced, thereby reducing report transmission latency.
[0362] Furthermore, if a data packet with a changed status exists in the first window between the first and second time periods, the first communication device can report first information indicating the data packet with the changed status, enabling the second communication device to obtain the latest data packet status and perform corresponding processing, thereby improving communication efficiency.
[0363] In one possible implementation, for the above method embodiments, in a CU-DU architecture or ORAN system, the function of RAN node and terminal interaction can be implemented by DU or O-DU. The information sent by the RAN node to the terminal can be generated by DU or O-DU, or it can be generated by CU or O-CU and sent to DU or O-DU. The processing function of the RAN node can be implemented by CU or O-CU, or by DU or O-DU, or by a combination of CU and DU (or O-CU and O-DU), without limitation.
[0364] The method provided in this application has been described above. In addition, this application also provides a communication device for implementing the functions described in the above method embodiments.
[0365] It is understood that, in order to achieve the aforementioned functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0366] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0367] Figure 24 A schematic diagram of a communication device 240 is shown. The communication device 240 includes a processing module 2401 and a transceiver module 2402. The communication device 240 can be used to implement the functions of the first or second communication device described above.
[0368] In some embodiments, the communication device 240 may further include a storage module. Figure 24 (Not shown in the image) is used to store program instructions and data.
[0369] In some embodiments, the transceiver module 2402, also referred to as a transceiver unit, is used to implement sending and / or receiving functions. The transceiver module 2402 may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.
[0370] In some embodiments, the transceiver module 2402 may include a receiving module and a sending module, respectively configured to perform receiving and sending steps performed by the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein; the processing module 2401 may be configured to perform processing steps performed by the first communication device or the second communication device in the above method embodiments, and / or other processes to support the technology described herein.
[0371] In one possible implementation, when the communication device 240 is used to perform the functions of the first communication device:
[0372] The transceiver module 2402 is used to send N reports, which are used to indicate the status of data packets in the first window. The i-th report in the N reports is used to indicate the status of data packets in the i-th range in the first window, i = 1, ..., N, where N is a positive integer greater than 1.
[0373] In another possible implementation, when the communication device 240 is used to perform the functions of the first communication device:
[0374] The transceiver module 2402 is used to send a first report, which includes the sequence number of a first data packet and first information. The first data packet is the first data packet in the first window that reaches a first threshold and is in the first state, and / or the first important data packet in the first state. The first information indicates the state of each data packet following the first data packet in the first window.
[0375] In yet another possible implementation, when the communication device 240 is used to perform the functions of the first communication device:
[0376] The transceiver module 2402 is used to send a first report, which includes the sequence number of a first data packet and first information. The first data packet is the first data packet in the first window with a first state. The first information includes P first indication messages, which indicate the state of data packets following the first data packet in the first window. The p-th first indication message in the P first indication messages indicates the state of multiple consecutive data packets corresponding to the p-th first indication message, and the states of these multiple consecutive data packets are the same. p = 1, ..., P, where P is a positive integer.
[0377] In yet another possible implementation, when the communication device 240 is used to perform the functions of the first communication device:
[0378] The transceiver module 2402 is also used to send reports corresponding to N windows respectively. The N windows are windows associated with the first protocol layer entity, and N is a positive integer greater than 1. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1.
[0379] In yet another possible implementation, when the communication device 240 is used to perform the functions of the first communication device:
[0380] The transceiver module 2402 is used to send a first report, which indicates the status of data packets in a first window; the transceiver module 2402 is also used to send a second report, which indicates the status of data packets between a first time and a second time, where the first time is the trigger time or sending time of the first report, and the second time is the trigger time or sending time of the second report.
[0381] The status of the aforementioned data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
[0382] When the communication device 240 is used to implement the functions of the second communication device, the transceiver module 2402 can be used to implement the receiving or sending steps performed by the second communication device in the above method embodiments, such as receiving the various reports from the first communication device. Please refer to the foregoing related descriptions, which will not be repeated here.
[0383] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0384] In this application, the communication device 240 can be presented in an integrated manner, divided into various functional modules. Here, "module" can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the above functions.
[0385] In some embodiments, when Figure 24 When the communication device 240 is a chip or chip system, the function / implementation process of the transceiver module 2402 can be implemented through the input / output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 2401 can be implemented through the processor (or processing circuit) of the chip or chip system.
[0386] Since the communication device 240 provided in this embodiment can execute the above method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.
[0387] As a possible product form, the first or second communication device described in the embodiments of this application can be implemented using one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.
[0388] As another possible product form, the first or second communication device described in the embodiments of this application can be implemented using a general bus architecture. For ease of explanation, see [link to documentation]. Figure 25 , Figure 25 This is a schematic diagram of the structure of a communication device 2500 provided in an embodiment of this application. The communication device 2500 includes a processor 2501 and a transceiver 2502. The communication device 2500 can be a first communication device, or a chip or chip system therein; or, the communication device 2500 can be a second communication device, or a chip or module therein. Figure 25 Only the main components of the communication device 2500 are shown. In addition to the processor 2501 and transceiver 2502, the communication device may further include a memory 2503 and input / output devices. Figure 25 (Not indicated).
[0389] Optionally, the processor 2501 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs, thereby implementing the methods provided in the above-described method embodiments. The memory 2503 is mainly used to store software programs and data. The transceiver 2502 may include radio frequency (RF) circuitry and an antenna. The RF circuitry is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.
[0390] Optionally, the processor 2501, transceiver 2502, and memory 2503 can be connected via a communication bus.
[0391] When the communication device is powered on, the processor 2501 can read the software program in the memory 2503, execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 2501 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 2501. The processor 2501 converts the baseband signal into data and processes the data.
[0392] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0393] In some embodiments, those skilled in the art will recognize that the above-described communication device 240 can be implemented in hardware using... Figure 25 The communication device shown is in the form of 2500.
[0394] As an example, Figure 24 The function / implementation process of the processing module 2401 can be achieved through... Figure 25 The processor 2501 in the communication device 2500 shown calls computer execution instructions stored in the memory 2503 to implement the function. Figure 24 The function / implementation process of the transceiver module 2402 in the middle can be obtained through Figure 25 This is achieved through the transceiver 2502 in the communication device 2500 shown.
[0395] As another possible product form, the first or second communication device in this application can be adopted. Figure 26 The shown composition structure, or including Figure 26 The components shown. Figure 26 This application provides a schematic diagram of the composition of a communication device 2600, which may be a first communication device or a chip or system-on-a-chip in the first communication device; or, it may be a second communication device or a chip or system-on-a-chip in the second communication device.
[0396] like Figure 26 As shown, the communication device 2600 includes at least one processor 2601 and at least one communication interface. Figure 26 (This is merely an example illustration, using a communication interface 2604 and a processor 2601 as examples. Optionally, the communication device 2600 may also include a communication bus 2602 and a memory 2603.)
[0397] Processor 2601 can be a general-purpose central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a PLD, or any combination thereof. Processor 2601 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.
[0398] The communication bus 2602 is used to connect different components in the communication device 2600, enabling communication between them. The communication bus 2602 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 26 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0399] Communication interface 2604 is used for communicating with other devices or communication networks. Exemplarily, communication interface 2604 can be a module, circuit, transceiver, or any device capable of communication. Optionally, the communication interface 2604 can also be an input / output interface located within processor 2601, used to implement signal input and signal output for the processor.
[0400] The memory 2603 may be a device with storage function for storing instructions and / or data. The instructions may be computer programs.
[0401] For example, the memory 2603 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and / or instructions; it may also be a random access memory (RAM) or other type of dynamic storage device capable of storing information and / or instructions; it may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.
[0402] It should be noted that the memory 2603 can exist independently of the processor 2601, or it can be integrated with the processor 2601. The memory 2603 can be located inside or outside the communication device 2600, without limitation. The processor 2601 can be used to execute the instructions stored in the memory 2603 to implement the methods provided in the following embodiments of this application.
[0403] Optionally, the processor 2601 and / or memory 2603 may include an artificial intelligence (AI) module, which is used to implement AI-related functions. The AI module can be implemented through software, hardware, or a combination of both. For example, the AI module may include a radio network intelligent controller (RIC) module. For example, the AI module can be a near real-time RIC or a non-real-time RIC.
[0404] As an optional implementation, the communication device 2600 may also include an output device 2605 and an input device 2606. The output device 2605 communicates with the processor 2601 and can display information in various ways. For example, the output device 2605 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 2606 communicates with the processor 2601 and can receive user input in various ways. For example, the input device 2606 may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0405] In some embodiments, the hardware implementation will be apparent to those skilled in the art as described above. Figure 24 The communication device 240 shown can employ Figure 26 The communication device shown is in the form of 2600.
[0406] As an example, Figure 24 The function / implementation process of the processing module 2401 can be achieved through... Figure 26 The processor 2601 in the communication device 2600 shown calls computer execution instructions stored in the memory 2603 to achieve this. Figure 24 The function / implementation process of the transceiver module 2402 in the middle can be obtained through Figure 26 This is achieved through the communication interface 2604 in the communication device 2600 shown.
[0407] It should be noted that, Figure 26 The structures shown do not constitute a specific limitation on the first or second communication device. For example, in other embodiments of this application, the first or second communication device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0408] In some embodiments, this application also provides a communication device, which includes a processor for implementing the methods in any of the above method embodiments.
[0409] As one possible implementation, the communication device also includes a memory. This memory stores necessary computer programs and data. The computer program may include instructions, which a processor can invoke to instruct the communication device to execute the methods described in any of the above method embodiments. Alternatively, the memory may not be present in the communication device.
[0410] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, used to receive computer execution instructions (which are stored in memory and may be read directly from memory or may be transmitted through other devices) and transmit them to the processor.
[0411] As another possible implementation, the communication device also includes a communication interface for communicating with modules outside the communication device.
[0412] It is understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or may include chips and other discrete devices. This application does not specifically limit this.
[0413] This application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a computer, implements the functions of any of the above-described method embodiments.
[0414] This application also provides a computer program product that, when executed by a computer, implements the functions of any of the above method embodiments.
[0415] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0416] It is understood that the systems, apparatuses, and methods described in this application can also be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. 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 couplings or direct couplings or communication connections shown or discussed may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0417] The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. The components shown as units may or may not be physical units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0418] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0419] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and 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 instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive (SSD)). In this embodiment, the computer may include the aforementioned apparatus.
[0420] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0421] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the scope of this application. Accordingly, this specification and drawings are merely illustrative descriptions of the application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application is also intended to include such modifications and modifications.
Claims
1. A communication method, characterized in that, The method includes: Send N reports, which are used to indicate the status of data packets in the first window. The i-th report in the N reports is used to indicate the status of data packets within the i-th range of the first window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the first window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
2. A communication method, characterized in that, The method includes: Receive N reports, which are used to indicate the status of data packets in the first window. The i-th report in the N reports is used to indicate the status of data packets within the i-th range in the first window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the first window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
3. The method according to claim 1 or 2, characterized in that, The i-th report includes the sequence number of the starting data packet in the i-th range and first information, the first information indicating the status of each data packet in the i-th range.
4. The method according to claim 3, characterized in that, The first information is a first bitmap, which includes M bits. The M bits correspond to M data packets in the i-th range, where M is the total number of data packets in the i-th range and M is a positive integer. Wherein, when the m-th bit of the M bits is set to a first value, it indicates that the state of the data packet corresponding to the m-th bit is a first state; when the m-th bit is set to a second value, it indicates that the state of the data packet corresponding to the m-th bit is a second state, m = 1, ... M.
5. The method according to claim 1 or 2, characterized in that, The i-th report includes the number of the i-th range, the sequence number of the first data packet, and the second information; Wherein, the first data packet is the first data packet in the i-th range whose state is the first state, and the second information indicates the state of each data packet in the i-th range that follows the first data packet.
6. The method according to claim 5, characterized in that, The second information is a second bitmap, which includes L bits, and the L bits correspond to L data packets, where L is the total number of data packets in the i-th range that are located after the first data packet, and L is a positive integer; Wherein, when the l-th bit of the L bits is set to a first value, it indicates that the state of the data packet corresponding to the l-th bit is a first state; when the l-th bit is set to a second value, it indicates that the state of the data packet corresponding to the l-th bit is a second state, l = 1, ... L.
7. The method according to claim 1, characterized in that, When all data packets in the i-th range are in the second state, the i-th report includes the number of the i-th range, the total number of data packets in the i-th range, and third information, wherein the third information indicates that all data packets in the i-th range are in the second state.
8. A communication method, characterized in that, The method includes: Send a first report, the first report including the sequence number of the first data packet and first information; Wherein, the first data packet is the first data packet in the first window that is in the first state after reaching the first threshold and / or the first important data packet in the first state, and the first information indicates the state of each data packet in the first window that is located after the first data packet; The status of each data packet following the first data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
9. A communication method, characterized in that, The method includes: Receive a first report, the first report including the sequence number of the first data packet and first information; Wherein, the first data packet is the first data packet in the first window that is in the first state after reaching the first threshold and / or the first important data packet in the first state, and the first information indicates the state of each data packet in the first window that is located after the first data packet; The status of each data packet following the first data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
10. The method according to claim 8 or 9, characterized in that, The first information is a first bitmap, which includes X bits. The X bits correspond to X data packets in the first window, where X is the total number of data packets following the first data packet in the first window, and X is a positive integer. Wherein, when the xth bit of the X bits is set to a first value, it indicates that the state of the data packet corresponding to the xth bit is a first state; when the xth bit is set to a second value, it indicates that the state of the data packet corresponding to the xth bit is a second state, x = 1, ..., X.
11. A communication method, characterized in that, The method includes: Send a first report, which includes the sequence number of the first data packet and first information, wherein the first data packet is the first data packet in the first window whose status is the first status; Wherein, the first information includes P first indication information, the P first indication information is used to indicate the status of the data packet located after the first data packet in the first window, the p-th first indication information in the P first indication information indicates the status of multiple consecutive data packets corresponding to the p-th first indication information, the status of the multiple consecutive data packets is the same, p = 1, ..., P, where P is a positive integer; The status of the data packet following the first data packet in the first window includes at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
12. A communication method, characterized in that, The method includes: Receive a first report, the first report including the sequence number of the first data packet and first information, the first data packet being the first data packet in the first window with a status of the first status; Wherein, the first information includes P first indication information, the P first indication information is used to indicate the status of the data packet located after the first data packet in the first window, the p-th first indication information in the P first indication information indicates the status of multiple consecutive data packets corresponding to the p-th first indication information, the status of the multiple consecutive data packets is the same, p = 1, ..., P, where P is a positive integer; The status of the data packet following the first data packet in the first window includes at least one of the following: the data packet was correctly received / lost, the data packet was dropped / not dropped, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
13. The method according to claim 11 or 12, characterized in that, The p-th first indication information includes quantity information and a status bit. The quantity information indicates the number of consecutive data packets corresponding to the p-th first indication information, and the status bit indicates the status of the consecutive data packets corresponding to the p-th first indication information.
14. The method according to any one of claims 11-13, characterized in that, The number of consecutive data packets corresponding to the p-th first indication information is greater than or equal to the first threshold.
15. The method according to any one of claims 11-14, characterized in that, The first information also includes at least one first bitmap, the first bitmap including Y bits, the Y bits corresponding to Y data packets located after the first data packet in the first window, the Y data packets being different from the data packets corresponding to the P first indication information, where Y is a positive integer; Wherein, when the y-th bit of the Y bits is set to a first value, it indicates that the state of the data packet corresponding to the y-th bit is a first state; when the y-th bit is set to a second value, it indicates that the state of the data packet corresponding to the y-th bit is a second state, y = 1, ..., Y.
16. The method according to claim 15, characterized in that, The first report also includes flag information, which indicates whether the flag information is followed by the first indication information or the first bitmap.
17. The method according to claim 15 or 16, characterized in that, The first report also includes length information, which indicates the length of the first bitmap.
18. The method according to any one of claims 11-17, characterized in that, The first report also includes second indication information; the second indication information indicates that the indication method used in the first report is one or both of the method of using the P first indication information and the method of using the first bit map.
19. A communication method, characterized in that, The method includes: Send reports corresponding to N windows respectively. The N windows are windows associated with the first protocol layer entity, where N is a positive integer greater than 1. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the i-th window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
20. A communication method, characterized in that, The method includes: Receive reports corresponding to N windows respectively. The N windows are windows associated with the first protocol layer entity, where N is a positive integer greater than 1. The report corresponding to the i-th window indicates the status of the data packet in the i-th window, i = 1, ..., N, where N is a positive integer greater than 1. The status of the data packet in the i-th window includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
21. The method according to claim 19, characterized in that, The method is applied to a first communication device, and the method further includes: Receive first information from the second communication device, the first information being used to configure the number of windows associated with the first protocol layer entity as N.
22. The method according to claim 21, characterized in that, The method further includes: Send a second message to the second communication device, the second message indicating the number of windows associated with the first protocol layer entity that the first communication device expects.
23. A communication method, characterized in that, The method includes: Send a first report, which indicates the status of the data packets in the first window; Send a second report, which indicates the status of data packets between a first time and a second time, where the first time is the trigger time or sending time of the first report, and the second time is the trigger time or sending time of the second report; The status of the data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
24. The method according to claim 23, characterized in that, The method further includes: Send a first message indicating a data packet whose status was a first state as indicated in the first report, but whose status changed to a second state before the second time.
25. A communication method, characterized in that, The method includes: Receive a first report, which indicates the status of the data packets in the first window; Receive a second report, the second report indicating the status of data packets between a first time and a second time, the first time being the trigger time or sending time of the first report, and the second time being the trigger time or sending time of the second report; The status of the data packet includes at least one of the following: the data packet was correctly received / lost, the data packet was discarded / not discarded, the data packet was sent / not sent, the data packet was delivered to the lower layer / not delivered to the lower layer, the data packet was delivered to the upper layer / not delivered to the upper layer, the data packet expired / not expired, the data packet was correctly decoded / not correctly decoded, the data packet was correctly decrypted / not correctly decrypted, or the data packet passed the integrity check / the data packet failed the integrity check.
26. The method according to claim 25, characterized in that, The method further includes: Receive first information, which indicates a data packet whose state was a first state as indicated in the first report, but whose state changed to a second state before the second time.
27. The method according to any one of claims 1-26, characterized in that, The first state of a data packet is that it was lost; the second state is that it was correctly received. Or... The first state of a data packet is that it has been dropped; the second state is that it has not been dropped; or... The first state of a data packet is that it has been sent; the second state is that it has not been sent. Or... The first state of a data packet is that it has been delivered to the lower layer; the second state is that it has not been delivered to the lower layer. Or... The first state of a data packet is that it has been delivered to the upper layer; the second state is that it has not been delivered to the upper layer. Or... The first state of the data packet is that the data packet has expired, and the second state of the data packet is that the data packet has not expired; or, The first state of the data packet is that the data packet was not correctly decoded; the second state of the data packet is that the data packet was correctly decoded; or... The first state of the data packet is that the data packet has not been decrypted correctly; the second state of the data packet is that the data packet has been decrypted correctly; or... The first state of a data packet is that the data packet has failed the integrity check, and the second state of a data packet is that the data packet has passed the integrity check.
28. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions to cause the communication device to perform the method as described in any one of claims 1-27.
29. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the method described in any one of claims 1-27 to be performed.
30. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are run on a computer, the method described in any one of claims 1-27 is performed.
