Communication methods, communication apparatus, devices, medium, chip, product and program

By using stream identification, serial number and packet number in WiFi technology to determine the transmission sequence and priority of data units, the problem of head-of-line blocking is solved, data transmission efficiency and reliability are improved, and the transmission needs of low-latency data packets are met.

WO2025111999A1PCT designated stage expired Publication Date: 2025-06-05GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD

Patent Information

Application Number
PCT/CN2023/135698
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

In the existing WiFi technology, the transmission mechanism of data units leads to head-of-line blocking problems, affecting the rapid transmission of low-latency data packets and the satisfaction of QoS requirements.

Method used

By including a stream identifier (TID), a sequence number (SN) and a packet number (PN) in the data unit, and determining the transmission order and priority of the data unit based on this information, a communication method of sequential/out-order processing is realized.

Benefits of technology

It improves the transmission efficiency and transmission reliability of the data unit, ensures the rapid transmission of low-latency data packets and meets the QoS requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023135698_05062025_PF_FP_ABST
    Figure CN2023135698_05062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides communication methods, communication apparatuses, devices, a medium, a chip, a product, and a program. A method comprises: a first device transmits a first data unit, the first data unit comprising one or more of the following: a first receiver address (RA), a first transmitter address (TA), a first traffic identifier (TID), a first priority, a first mark, a first sequence number (SN) and a first packet number (PN), wherein the first SN and / or the first PN are determined on the basis of one or more of the following: the first RA, the first TA, the first TID, the first priority, the first mark, whether out-of-order transmission is used, and an out-of-order transmission mode.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method, communication device, equipment, medium, chip, product and program Technical Field

[0001] The embodiments of the present application relate to the field of communication technology, and specifically to a communication method, communication device, equipment, medium, chip, product and program. Background Art

[0002] Wireless Fidelity (WiFi) technology based on IEEE 802.11 is a widely used wireless network transmission technology. How WiFi Media Access Control (MAC) transmits data units has always been a concern in this field.

[0003] Summary of the Invention

[0004] Embodiments of the present application provide a communication method, a communication device, a device, a storage medium, a chip, and a program.

[0005] In a first aspect, an embodiment of the present application provides a communication method, the method comprising:

[0006] The first device sends a first data unit; the first data unit includes one or more of the following: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN;

[0007] The first SN and / or the first PN are determined according to one or more of the following:

[0008] The first RA, the first TA, the first TID, the first priority, the first mark, whether out-of-order transmission is performed, and the out-of-order transmission mode.

[0009] In a second aspect, an embodiment of the present application provides a communication method, the method comprising:

[0010] The second device receives one or more data units; each data unit in at least some of the data units includes one or more of the following: a sender address TA, a receiver address RA, a flow identifier TID, a priority, a tag, a sequence number SN, and a packet number PN;

[0011] The SN and / or PN included in each data unit is determined according to one or more of the following:

[0012] TA, RA, TID, priority, tag, out-of-order transmission, out-of-order transmission mode.

[0013] In a third aspect, an embodiment of the present application provides a communication device, including:

[0014] A communication unit configured to send a first data unit; the first data unit comprising one or more of the following: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN;

[0015] The first SN and / or the first PN are determined according to one or more of the following:

[0016] The first RA, the first TA, the first TID, the first priority, the first mark, whether out-of-order transmission is performed, and the out-of-order transmission mode.

[0017] In a fourth aspect, an embodiment of the present application provides a communication device, including:

[0018] A communication unit configured to receive one or more data units; each data unit in at least some of the data units includes one or more of the following: a sender address TA, a receiver address RA, a flow identifier TID, a priority, a tag, a sequence number SN, and a packet number PN;

[0019] The SN and / or PN included in each data unit is determined according to one or more of the following:

[0020] TA, RA, TID, priority, tag, out-of-order transmission, out-of-order transmission mode.

[0021] In a fifth aspect, an embodiment of the present application provides a first device, comprising: a processor, a memory, and a transceiver,

[0022] The processor is used to call and run the computer program stored in the memory, and the processor is combined with the transceiver to enable the first device to implement the method described in the first aspect.

[0023] In a sixth aspect, an embodiment of the present application provides a second device, comprising: a processor, a memory, and a transceiver,

[0024] The processor is used to call and run the computer program stored in the memory, and the processor is combined with the transceiver to enable the second device to implement the method described in the second aspect.

[0025] In a seventh aspect, an embodiment of the present application provides a computer storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in the first aspect or the second aspect.

[0026] In an eighth aspect, an embodiment of the present application provides a chip, comprising: a processor, configured to call and run a computer program from a memory to implement the method described in the first aspect or the second aspect.

[0027] In a ninth aspect, an embodiment of the present application provides a computer program product, comprising a computer storage medium storing a computer program, wherein the computer program comprises instructions that can be executed by at least one processor, and when the instructions are executed by the at least one processor, the method described in the first aspect or the second aspect is implemented.

[0028] In a tenth aspect, a computer program is provided, wherein the computer program enables a computer to execute the method as described in the first aspect or the second aspect.

[0029] With the above technical solution, since the first data unit sent by the first device includes the first TID, and different TIDs correspond to different service flows, different transmission delays, different transmission urgency levels, or different QoS requirements, the data unit is identified by the first TID. Therefore, when the transmission priority corresponding to the first TID is higher, the data unit corresponding to the first TID can be preferentially transmitted, and the transmission of the data unit can meet its QoS requirements, thereby improving the transmission efficiency of the data unit. In addition, since the first SN and / or first PN are determined based on one or more of the following: the first RA, the first TA, the first TID, the first priority, the first flag, whether out-of-order transmission is performed, and the out-of-order transmission mode, the SN and / or PN in each data unit can be determined based on the transmission information of the data unit. Furthermore, each data unit can be transmitted based on the determined SN and / or PN in each data unit, thereby improving the reliability of data unit transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0031] FIG1 is an example of a communication system architecture used in an embodiment of the present application;

[0032] FIG2 is a schematic diagram of an application scenario of an embodiment of the present application;

[0033] FIG3 is a schematic diagram of another application scenario of an embodiment of the present application;

[0034] FIG4 is a schematic diagram of out-of-order transmission provided by an embodiment of the present application;

[0035] FIG5 is a schematic diagram of another out-of-order transmission provided by an embodiment of the present application;

[0036] FIG6 is a flow chart of a communication method provided in an embodiment of the present application;

[0037] FIG7 is a flow chart of another communication method provided in an embodiment of the present application;

[0038] FIG8 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application;

[0039] FIG9 is a schematic diagram of the structure of another communication device provided in an embodiment of the present application;

[0040] FIG10 is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0041] FIG11 is a schematic structural diagram of a chip according to an embodiment of the present application. DETAILED DESCRIPTION

[0042] The following will describe the technical solutions in the embodiments of this application in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0043] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as Wireless Local Area Networks (WLAN), Wireless Fidelity (WiFi), or other communication systems. WLAN can support frequency bands including, but not limited to, low frequency bands (2.4 GHz, 5 GHz, 6 GHz) and high frequency bands (60 GHz).

[0044] FIG1 illustrates an example of a communication system architecture used in an embodiment of the present application. As shown in FIG1 , the communication system 100 may include an access point (AP) 110 and a station (STA) 120 that accesses a network through the AP 110. In some scenarios, the AP 110 may be referred to as an AP STA, meaning that, in a sense, the AP 110 is also a type of STA. In some scenarios, the STA 120 may be referred to as a non-AP STA. In some scenarios, the STA 120 may include both AP STAs and non-AP STAs. Communication in the communication system 100 may include communication between the AP 110 and the STA 120, communication between the STA 120 and the STA 120, or communication between the STA 120 and a peer STA. A peer STA may refer to a device communicating with the peer of the STA 120. For example, the peer STA may be an AP or a non-AP STA.

[0045] AP 110 can be used as a bridge between wired and wireless networks, connecting wireless network clients together and then connecting the wireless network to Ethernet. AP 110 can be a terminal device (such as a mobile phone) or a network device (such as a router) equipped with a WiFi chip.

[0046] It should be noted that the role of STA 120 in the communication system is not absolute. In other words, STA 120 can switch between the roles of AP and STA. For example, in some scenarios, when a mobile phone is connected to a router, it is a STA. When the mobile phone is used as a hotspot for other mobile phones, it acts as an AP.

[0047] In some embodiments, AP 110 and STA 120 can be devices used in the Internet of Vehicles, IoT nodes and sensors in the Internet of Things (IoT), smart cameras, smart remote controls, smart water and electricity meters in smart homes, and sensors in smart cities.

[0048] In some embodiments, AP 110 may be a device supporting the 802.11be standard. The AP may also be a device supporting various current and future 802.11 family WLAN standards, such as 802.11ax, 802.11ac, 802.11n, 802.11g, 802.11b, and 802.11a. In some embodiments, STA 120 may support the 802.11be standard. The STA may also support various current and future 802.11 family WLAN standards, such as 802.11ax, 802.11ac, 802.11n, 802.11g, 802.11b, and 802.11a.

[0049] In some embodiments, AP 110 and / or STA 120 can be deployed on land, including indoors or outdoors, handheld, wearable or vehicle-mounted; can also be deployed on the water surface (such as a ship); can also be deployed in the air (for example, on an airplane, balloon, and satellite, etc.).

[0050] In some embodiments, the AP 110 or the STA 120 may be an Internet of Things (IoT) device supporting WLAN / WiFi technology, a satellite terminal, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, a server, a mobile phone, a tablet computer, a computer with wireless transceiver capabilities, a handheld computer, a desktop computer, a personal digital assistant, a portable media player, a smart speaker, a navigation device, a smart watch, a smart glass, a smart necklace and other wearable devices, a pedometer, a digital TV, a Virtual Reality (VR) terminal device, an Augmented Reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a smart home, or a wireless terminal in a smart home. The invention relates to wireless terminals in a connected home and vehicles, on-board equipment, on-board modules, wireless modems, handheld devices, customer premises equipment (CPE), smart home appliances, on-board communication equipment, wireless communication chips, application specific integrated circuits (ASIC) or system on chip (SoC) in the connected vehicle system.

[0051] For example, STA 120 can also be a wearable device. Wearable devices can also be called wearable smart devices, which are a general term for wearable devices that use wearable technology to intelligently design and develop wearable devices, such as glasses, gloves, watches, clothing and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothes or accessories. Wearable devices are not just hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. In a broad sense, wearable smart devices include those that are full-featured, large in size, and can achieve complete or partial functions without relying on smartphones, such as smart watches or smart glasses, as well as those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.

[0052] It should be understood that Figure 1 is merely an example of the present application and should not be construed as limiting the present application. For example, Figure 1 only exemplarily illustrates one AP and two STAs. In some embodiments, the communication system 100 may include multiple APs and other numbers of STAs, which are not limited in this embodiment of the present application.

[0053] Figure 2 is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in Figure 2, the communication system may include an AP Multi-Link Device (MLD) 210 and a non-AP MLD 220. The AP MLD 210 is an electronic device capable of forming a wireless local area network 230 based on transmitted signals, such as a router or a mobile phone with a hotspot function. The non-AP MLD 220 is an electronic device connected to the wireless local area network 230 formed by the AP MLD 210, such as a mobile phone, a smart washing machine, an air conditioner, an electronic lock, and the like. The non-AP MLD 220 communicates with the AP MLD 210 via the wireless local area network 230. The AP MLD 210 may be a soft AP MLD, a mobile AP MLD, or the like.

[0054] Figure 3 is a schematic diagram of another application scenario according to an embodiment of the present application. As shown in Figure 3, in the communication system described in Figure 3, an AP MLD 210 is associated with at least two APs 2101, and a non-AP MLD 220 is associated with at least two STAs (STAs) 2201. Each AP is connected to a different STA in the non-AP MLD 220 via a different link. An AP associated with an AP MLD is also referred to as an AP MLD-affiliated AP, and a STA associated with a non-AP MLD is also referred to as a non-AP MLD-affiliated STA.

[0055] In the embodiment of the present application, the AP MLD 210 and the non-AP MLD 220 may be terminal devices.

[0056] In any embodiment of the present application, the terminal device may refer to an access terminal, user equipment (UE), a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent or a user device. For example, the terminal device may include one of the following or a combination of at least two: Internet of Things (IoT) devices, satellite terminals, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, servers, mobile phones, tablet computers, computers with wireless transceiver capabilities, handheld computers, desktop computers, personal digital assistants, portable media players, smart speakers, navigation devices, smart watches, smart glasses, smart necklaces and other wearable devices, pedometers, digital TVs, Virtual Reality (VR) terminal devices, Augmented Reality (AR) terminal devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes. The products include wireless terminals in the Internet of Vehicles (IoV) and vehicles, on-board equipment, on-board modules, wireless modems, handheld devices, customer premises equipment (CPE), smart home appliances, on-board communication equipment, wireless communication chips, application specific integrated circuits (ASIC), and system-on-chips (SoC).

[0057] The communication systems shown in Figures 2 and 3 may also include network devices, which may be access network devices that communicate with terminal devices. The access network devices may provide communication coverage for a specific geographical area and may communicate with terminal devices within the coverage area.

[0058] FIG2 and FIG3 exemplarily show an AP MLD and a non-AP MLD. Optionally, the wireless communication system may include multiple non-AP MLDs connected to the wireless local area network 230 , which is not limited in this embodiment of the present application.

[0059] It should be noted that Figures 1, 2, and 3 are merely examples of the systems to which this application is applicable. Of course, the methods shown in the embodiments of this application can also be applied to other systems. In addition, the terms "system" and "network" are often used interchangeably herein. The term "and / or" herein is merely a description of the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " herein generally indicates that the associated objects before and after are in an "or" relationship. It should also be understood that the "indication" mentioned in the embodiments of this application can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can obtain it through A; it can also mean that A indirectly indicates B, for example, A indicates C, and B can obtain it through C; it can also mean that there is an association relationship between A and B. It should also be understood that the “correspondence” mentioned in the embodiments of the present application may indicate a direct or indirect correspondence between the two, or an association relationship between the two, or a relationship between indication and being indicated, configuration and being configured, etc. It should also be understood that the “predefined” or “predefined rules” mentioned in the embodiments of the present application can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in devices (for example, including terminal devices and network devices), and the present application does not limit its specific implementation method. For example, predefined can refer to what is defined in the protocol. It should also be understood that in the embodiments of the present application, the “protocol” may refer to a standard protocol in the field of communications, for example, it may include LTE protocols, NR protocols, and related protocols used in future communication systems, and the present application does not limit this.

[0060] To facilitate understanding of the technical solutions of the embodiments of the present application, the technical solutions of the present application are described in detail below through specific embodiments. The solutions in any one or more of the above embodiments can be arbitrarily combined with the technical solutions of the embodiments of the present application as optional solutions, and they all fall within the scope of protection of the embodiments of the present application. The embodiments of the present application include at least part of the following contents.

[0061] The following describes the in-order transmission mechanism provided by WiFi MAC:

[0062] WiFi's MAC data service provides peer logical link control (LLC) sublayer entities or IEEE 802.1Q bridge ports with the ability to exchange Medium Access Control Service Data Units (MSDUs). To support this service, the local MAC uses the underlying physical layer services to transmit the MSDU to the peer MAC entity, where it is passed to the peer LLC sublayer or bridge port. This asynchronous MSDU transmission is performed on a connectionless basis. By default, MSDU transmission is on a best-effort basis. However, Quality of Service (QoS) data uses a Traffic Identifier / Traffic IDentifier (TID) to specify different services on a per-MSDU basis.

[0063] A station (STA) maintains one or more sequence number spaces to determine the sequence number of a frame when transmitting it. When multiple sequence number spaces are supported, the appropriate sequence number space is determined by information in the MAC control field of the frame to be transmitted. For each MSDU (if not in an Aggregation-Medium Access Control Service Data Unit (A-MSDU)) or A-MSDU or Medium Access Control Management Protocol Data Unit (MMPDU) transmitted using that sequence number space, each sequence number space is represented by a modulo 4096 (i.e., 2^12) counter that starts at 0 and increments by 1.

[0064] A Multi-Link Device (MLD) maintains one or more sequence number spaces that are used when a STA affiliated with the MLD sends individually addressed QoS data frames to STAs associated with the associated MLD to determine the sequence numbers of the frames.

[0065] The sequence number space may contain one counter or multiple counters.

[0066] Medium Access Control Protocol Data Units (MPDUs) belonging to the same MSDU or A-MSDU should have the same sequence number. Different MSDUs (if not in an A-MSDU), A-MSDUs or MMPDUs (most likely) have different sequence numbers.

[0067] The following describes the Robust Security Network Association (RSNA) confidentiality and integrity protocol:

[0068] The WiFi standard defines the following RSNA data confidentiality and integrity protocols: Counter with Cipher-Block Chaining Message Authentication Code protocol (CTR with CBC-MAC protocol, CCMP) and Galois / Counter Mode protocol (GCMP).

[0069] CCMP provides data confidentiality, authentication, integrity, and replay protection. CCMP is based on CCM (Counter-Mode / CBC-MAC) of the Advanced Encryption Standard (AES) encryption algorithm. CCM combines a counter (CTR) for data confidentiality and a Cipher-Block Chaining Message Authentication Code (CBC-MAC) for authentication and integrity. CCM protects the integrity of the MPDU data field and selected parts of the IEEE 802.11 MPDU header. CCM is a generic mode that can be used with any block-oriented encryption algorithm. CCM requires a new temporary key for each session. CCM also requires that each frame protected by a given temporary key have a unique nonce value. Reusing a nonce value with the same temporary key invalidates all security guarantees.

[0070] For secure Protocol Version (PV) 0 MPDUs, CCMP encrypts the body field of the plaintext MPDU and encapsulates the resulting ciphertext, where a new non-zero packet number (PN) is obtained for each MPDU by increasing the packet number (PN) so that the PN will not be repeated for the same temporary key.

[0071] The PN value is used to number each MPDU in sequence. Each sender STA that is not affiliated with an MLD should maintain a single PN (48-bit counter) for each pairwise transient key security association (PTKSA) and group temporary key security association (GTKSA). Each sender STA that is affiliated with an MLD should use the PN (48-bit counter) maintained by the MLD for the PTKSA or the PN maintained by the STA for the GTKSA. The PN should be implemented as a 48-bit strictly increasing integer, initialized to 0 when the corresponding transient key is initialized or refreshed (through a key update).

[0072] The PN value of each MPDU increases by a positive number. For MPDUs composed of fragmented MSDUs, A-MSDUs, and MMPDUs, the PN should be incremented by 1. For P-V0 MPDUs, the PN of a series of encrypted MPDUs using the same temporary key will never repeat. For P-V1 MPDUs, the PN of a series of encrypted MPDUs using the same temporary key and partial stream identifier (PTID) (for data frames) will never repeat. For example, the PTID is the least significant 3 bits of the TID.

[0073] When the PN space is exhausted (i.e., the PN exceeds the thresholds defined by the PN Exhaustion Minimum Threshold and the PN Exhaustion Maximum Threshold), the options available to the implementation are to replace the corresponding key or end the communication. If individually addressed MPDUs are sent by the MLD to the receiving MLD via attached STAs, a single PN space shall be reserved for the PTKSA for transmission via all attached STAs.

[0074] The receiver shall discard any received data frame with a PN less than or equal to the value of the replay counter associated with the TA, Receiver Address or Receiving Station Address (RA), and priority value of the received MPDU. If the MPDU is an individually addressed data frame transmitted between an AP MLD and a non-AP MLD associated with the AP MLD via an attached STA, the receiver shall discard any received data frame with a PN less than or equal to the value of the replay counter associated with the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the priority value of the received MPDU.

[0075] For individually addressed MPDUs received by dependent STAs from the transmitting MLD, the receiving MLD shall maintain a set of replay counters for the PTKSA for all dependent STAs.

[0076] The following describes the out-of-order transmission scheme:

[0077] In some embodiments, to address the head-of-line blocking issue in WiFi, a Media Access Control Service Access Point (MAC SAP or MAC-SAP) is proposed to selectively transmit out-of-order data packets for specific flow identifiers (TIDs). The number of specific TIDs may be limited to one or two, and their use may be limited to establishing flows that can benefit from out-of-order packet delivery (e.g., following corresponding Stream Classification Service (SCS) negotiation). Furthermore, a distinction is made between the PN space used for frames that require out-of-order transmission and frames that require in-order transmission.

[0078] Figure 4 is a schematic diagram of an out-of-order transmission provided by an embodiment of the present application. As shown in Figure 4, the sender (Originator) transmits a data frame (Data frame) to the receiver (Recipient). In the out-of-order delivery, although the receiver cannot successfully receive the MPDU with a serial number (SN) of 11 and a PN of 51 sent by the sender at the beginning, it still first passes the received MPDU (such as PN 50 (corresponding SN=x) and / or 113 (corresponding SN=x+63)) to the next MAC process, that is, performs replay detection; then, after receiving the MPDU with a PN of 51, it passes it together with the subsequently received MPDU (such as the MPDU corresponding to SN=74 and PN=114) to the next MAC process.

[0079] In FIG4 , each time the receiver receives multiple MPDUs, it needs to reply a Block Acknowledgment (BA) frame to the sender. The BA frame includes a Block Acknowledgment Bitmap (BA Bitmap) field, and each bit in the BA Bitmap field corresponds to whether each MPDU is correctly received.

[0080] In Figure 4 , the maximum length of the PN window is 64, the size of the BA scoreboard is equal to the length of the PN window bitmap, which is 64. Holes correspond to unreceived MPDUs with SN 11 and PN 51. The PN window can be updated when an MPDU with SN 11 and PN 51 is received.

[0081] In some embodiments, to address the head-of-line blocking problem in WiFi, an independent PN sequence and replay counter for low-latency packets are proposed to facilitate earlier processing of low-latency packets while continuing to support replay detection of other packets in the same TID.

[0082] Figure 5 is a schematic diagram of another out-of-order transmission method provided by an embodiment of the present application. As shown in Figure 5, traffic flow A and traffic flow B use different PN sequences and different replay counters. The AP sends MPDU0 [PN = 0], MPDU1 [PN = 1], MPDU2 [PN = 7], and MPDU3 [PN = 8] to the STA. The BA frame sent back by the STA to the AP includes an acknowledgment bitmap of Bitmap = 0111, indicating that MPDU0 was not received. However, the STA can still transmit MPDU2 and MPDU3 to the upper layer.

[0083] WiFi MAC is typically designed to provide ordered data transmission to upper layers, meaning packets are transmitted with increasing sequence numbers. If there is a "hole" in the receiving end's reordering buffer (i.e., a packet with a higher sequence number has not been received) preceding a received packet, the received packet will remain in the reordering buffer and not be forwarded to upper layers.

[0084] Therefore, the in-order transmission restriction also leads to the head-of-line blocking problem: if there are holes in the packets stored in the reordering buffer (that is, there are packets with earlier sequence numbers that have not been received), they will not be forwarded; the sender must first send packets with lower sequence numbers (SN) before sending packets with higher SNs. Therefore, packets with low latency transmission requirements will not be transmitted quickly due to head-of-line blocking, resulting in packet transmission failing to meet their QoS requirements.

[0085] In the solution proposed in the embodiment corresponding to FIG4 , low-latency data packets are not distinguished from non-low-latency data packets, and the head-of-line blocking problem of low-latency data packets cannot be fundamentally solved.

[0086] In the solution proposed in the embodiment corresponding to Figure 5, the problem of how to perform SN processing and SN reordering on low-latency data packets and non-low-latency data packets is not solved. At the same time, there is no specific method for distinguishing low-latency data packets and allocating PN sequences.

[0087] In an embodiment of the present application, the mechanism of sending data units in sequence adopted by the WiFi MAC layer may cause head-of-line blocking, thereby failing to quickly send data units with low-latency transmission requirements. This application proposes a data unit communication method based on in-order / out-of-order processing, which mainly includes the following aspects:

[0088] 1) Data unit differentiated transmission indication method: Data units corresponding to different service flows or different transmission delay requirements (or transmission urgency) or other QoS requirements of a specific TID are marked to distinguish data units of different service flows or different transmission delay requirements or different QoS requirements;

[0089] 2) SN allocation and processing mechanism based on QoS transmission requirements: The sender can allocate SN counters or SN sequences according to <receiver address, specific TID (such as TID i), flow label / data unit label>. The receiver can process data units with different flow labels / data unit labels for a specific TID, including reordering and data unit transmission to the upper layer.

[0090] 3) PN allocation and processing mechanism that differentiates QoS transmission requirements: The sender can allocate PN counters or PN sequences according to <sender address, receiver address, TID i / corresponding priority, flow label / data unit label>, and the receiver processes data units with different flow labels / data unit labels for a specific TID.

[0091] It should be noted that, in any embodiment of the present application, the first device may include or be replaced by one of the following: a transmitter, a sender, a sender device, a sender, a sender device, a first MAC layer, a first MAC layer entity, a first STA, a first MLD, a first terminal device, etc. In any embodiment of the present application, the second device may include or be replaced by one of the following: a receiver, a receiver, a receiver device, a receiver, a receiver device, a second MAC layer, a second MAC layer entity, a second STA, a second MLD, a second terminal device, etc.

[0092] FIG6 is a flow chart of a communication method provided in an embodiment of the present application. As shown in FIG6 , the method includes:

[0093] S602. The first device sends a first data unit; the first data unit includes one or more of the following: a first receiver address RA (Receiver Address, RA), a first transmitter address (Transmitter Address, TA), a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN.

[0094] The first SN and / or the first PN are determined according to one or more of the following:

[0095] The first RA, the first TA, the first TID, the first priority, the first mark, whether out-of-order transmission is performed, and the out-of-order transmission mode.

[0096] Optionally, any data unit mentioned in the embodiments of the present application (for example, any one or more data units from the first data unit to the ninth data unit) may include one of the following or be replaced by at least one of the following: a data frame, a data packet, QoS data, an MPDU, an MSDU, MSDUs, an A-MSDU, an A-MSDUs, or an MMPDU. For example, the first data unit may include one of the following or be replaced by one of the following: a first data frame, a first data packet, a first QoS data, a first MPDU, a first MSDUs, a first MSDU, a first A-MSDU, a first A-MSDUs, or a first MMPDU.

[0097] Optionally, the first device may send one or more data units, and the one or more data units may include the first data unit. Optionally, the multiple data units may be sent on one link or multiple links. Optionally, the multiple data units may be sent on one frequency band or multiple frequency bands. Optionally, the multiple data units may be sent on one channel or multiple channels. Optionally, the multiple data units may be sent in order or out of order. For example, the multiple data units may be sent in the order of SNs, the order of SN generation, the order of SN filling, the order of SN puncturing, or the order of data unit generation, or out of order of SNs, the order of SN generation, the order of SN filling, the order of SN puncturing, or the order of data unit generation. For example, the multiple data units may be sent in the order of PNs, the order of PN generation, the order of PN filling, the order of PN puncturing, or the order of data unit generation, or out of order of PNs, the order of PN generation, the order of PN filling, the order of PN puncturing, or the order of data unit generation. For example, the data unit corresponding to SN=2 may be sent first, followed by the data unit corresponding to SN=1. For example, the data unit corresponding to PN=3 may be sent first, and then the data unit corresponding to PN=1 may be sent.

[0098] Optionally, in any embodiment of the present application, any RA may include a MAC address. Optionally, in any embodiment of the present application, any TA may include a MAC address.

[0099] Optionally, different data units among the multiple data units may include the same RA. Optionally, different data units among the multiple data units may include different RAs. Optionally, different data units among the multiple data units may include the same TA. Optionally, different data units among the multiple data units may include different TAs. Optionally, different data units among the multiple data units may include the same TID. Optionally, different data units among the multiple data units may include different TIDs. Optionally, different TIDs correspond to different priorities. Optionally, different data units among the multiple data units may include the same tag. Optionally, different data units among the multiple data units may include different tags.

[0100] Optionally, different TIDs correspond to different service flows, different transmission delays, different transmission urgency levels, or different QoS requirements. Optionally, the first TID may be included in multiple TIDs, and the multiple TIDs may be agreed upon by the protocol. For example, the value range of the first TID is 0 to 7.

[0101] Optionally, the first SN may be determined according to the first RA and the first TID (the first TID may be replaced by the first priority).

[0102] Optionally, the first SN may be determined according to the first RA, the first TID (the first TID may be replaced by the first priority) and the first tag.

[0103] Optionally, the first SN may be determined according to the first RA, the first TID (the first TID may be replaced by the first priority), and whether out-of-order transmission is performed.

[0104] Optionally, the first SN may be determined according to the first RA, the first TID (the first TID may be replaced by the first priority), the first flag, and whether out-of-order transmission is performed.

[0105] Optionally, the first SN may be determined according to the first RA, the first TID (the first TID may be replaced by the first priority) and the out-of-order transmission mode.

[0106] Optionally, the first SN may be determined according to the first RA, the first TID (the first TID may be replaced by the first priority), the first flag, and the out-of-order transmission mode.

[0107] Optionally, the first PN may be determined according to the first TA, the first RA, and the first TID (the first TID may be replaced by the first priority).

[0108] Optionally, the first PN may be determined according to the first TA, the first RA, the first TID (the first TID may be replaced by the first priority) and the first flag.

[0109] Optionally, the first PN may be determined according to the first TA, the first RA, the first TID (the first TID may be replaced by the first priority), and whether out-of-order transmission is performed.

[0110] Optionally, the first PN may be determined according to the first TA, the first RA, the first TID (the first TID may be replaced by the first priority), the first flag, and whether out-of-order transmission is performed.

[0111] Optionally, the first PN may be determined according to the first TA, the first RA, the first TID (the first TID may be replaced by the first priority) and the out-of-order transmission mode.

[0112] Optionally, the first PN may be determined according to the first TA, the first RA, the first TID (the first TID may be replaced by the first priority), the first flag, and the out-of-order transmission mode.

[0113] Optionally, in any embodiment of the present application, RA may be address 1 and TA may be address 2.

[0114] Optionally, out-of-order transmission may refer to a situation where the order in which the data units are sent by the transmitter in the MAC SAP differs from the order in which the data units are received by the receiver in the MAC SAP. For example, if the transmitter sends data unit 0 and data unit 1 in sequence in the MAC SAP, and the receiver receives data unit 1 and data unit 0 in sequence in the MAC SAP, the transmission of data unit 0 and data unit 1 may be considered out-of-order transmission because the receiver receives data unit 1, which was sent later in the order, before receiving data unit 0, which was sent earlier in the order.

[0115] Optionally, whether the data units are transmitted out of order may include whether the data units are transmitted out of order, or may include whether one or more data units are transmitted out of order; the one or more data units include the first data unit.

[0116] Optionally, the first SN may be determined based on or not based on whether out-of-order transmission occurs, and / or the first PN may be determined based on or not based on whether out-of-order transmission occurs. For example, both the first SN and the first PN may be determined based on whether out-of-order transmission occurs. For another example, neither the first SN nor the first PN may be determined based on whether out-of-order transmission occurs. For another example, one of the first SN and the first PN may be determined based on whether out-of-order transmission occurs, while the other may not be determined based on whether out-of-order transmission occurs.

[0117] Optionally, the first SN and / or the first PN are determined according to whether the data unit is transmitted in sequence (also called non-out-of-sequence transmission).

[0118] Optionally, the first SN and / or the first PN are determined according to whether the data unit is transmitted out of order.

[0119] Optionally, in some embodiments, in-order transmission may include transmission in the order of SNs, the order of generating SNs, the order of filling SNs, the order of adding SNs, or the order of generating data units. In some embodiments, in-order transmission may include transmission in the order of PNs, the order of generating PNs, the order of filling PNs, the order of adding PNs, or the order of generating data units. Optionally, in some embodiments, out-of-order transmission means transmission not in the order of SNs, the order of generating SNs, the order of filling SNs, the order of adding SNs, or the order of generating data units. In some embodiments, out-of-order transmission means transmission not in the order of PNs, the order of generating PNs, the order of filling PNs, the order of adding PNs, or the order of generating data units.

[0120] Optionally, the first SN corresponding to in-order transmission may be different from the first SN corresponding to out-of-order transmission. Optionally, the first PN corresponding to in-order transmission may be different from the first PN corresponding to out-of-order transmission. Optionally, the first SN corresponding to in-order transmission may be the same as the first SN corresponding to out-of-order transmission. Optionally, the first PN corresponding to in-order transmission may be the same as the first PN corresponding to out-of-order transmission.

[0121] Optionally, the order of SNs included in the plurality of data units in the in-sequence transmission is the same as or different from the order of SNs included in the plurality of data units in the out-of-sequence transmission. Optionally, the order of PNs included in the plurality of data units in the in-sequence transmission is the same as or different from the order of PNs included in the plurality of data units in the out-of-sequence transmission.

[0122] Optionally, the SN counter / SN sequence / SN space corresponding to the sequential transmission may be the same as the SN counter / SN sequence / SN space corresponding to the sequential transmission. Optionally, the SN counter / SN sequence / SN space corresponding to the sequential transmission may be different from the SN counter / SN sequence / SN space corresponding to the sequential transmission.

[0123] Optionally, the PN counter / PN sequence / PN space corresponding to the sequential transmission may be the same as the PN counter / PN sequence / PN space corresponding to the sequential transmission. Optionally, the PN counter / PN sequence / PN space corresponding to the sequential transmission may be different from the PN counter / PN sequence / PN space corresponding to the sequential transmission.

[0124] Optionally, whether it is out-of-order transmission and / or the out-of-order transmission mode may be agreed upon by a protocol, or may be predefined by the first device, or may be configured by the second device to the first device.

[0125] Optionally, during in-order transmission, the SN and / or PN of one or more data units may not be determined based on the TID / the priority corresponding to the TID and / or the tag / the urgency corresponding to the tag, and the one or more data units may be transmitted in the order of the SN and / or PN. For example, the SN and / or PN of one or more data units may not be determined based on the TID / the priority corresponding to the TID and the tag / the urgency corresponding to the tag.

[0126] Optionally, during in-order transmission, the SN and / or PN of one or more data units may be determined based on the TID / priority corresponding to the TID, and / or based on the tag / urgent situation corresponding to the tag, and the one or more data units may be transmitted in the order of the SN and / or PN. For example, the SN and / or PN of one or more data units may be determined based on the TID / priority corresponding to the TID, and based on the urgency corresponding to the tag / tag. For example, the SN and / or PN of one or more data units may be determined based on the TID / priority corresponding to the TID. For example, the SN and / or PN of one or more data units may be determined based on the TID / priority corresponding to the TID. For example, the SN and / or PN of one or more data units may be determined based on the urgency corresponding to the tag / tag.

[0127] Optionally, the higher the priority corresponding to the TID / TID of a data unit, the earlier the SN and / or PN sequence of the data unit will be; conversely, the lower the priority corresponding to the TID / TID of a data unit, the later the SN and / or PN sequence of the data unit will be. Optionally, the more urgent the emergency situation corresponding to the tag / mark of a data unit, the earlier the SN and / or PN sequence of the data unit will be; conversely, the less urgent the emergency situation corresponding to the tag / mark of a data unit, the later the SN and / or PN sequence of the data unit will be. Optionally, for at least one data unit corresponding to a certain TID, if the emergency situation corresponding to the included tag / mark is more urgent, the more urgent data unit will be placed earlier in the SN and / or PN sequence of the at least one data unit, otherwise, it will be placed later.

[0128] Optionally, during out-of-order transmission, the SN and / or PN of one or more data units may be determined based on / without the TID / priority corresponding to the TID, and / or based on / without the tag / urgent situation corresponding to the tag, and one or more data units may not be transmitted in the order of the SN and / or PN. For example, during out-of-order transmission, the SN and / or PN of one or more data units may be determined based on / without the TID / priority corresponding to the TID, and / or based on the urgency corresponding to the tag / tag. For example, during out-of-order transmission, the SN and / or PN of one or more data units may be determined based on / without the TID / priority corresponding to the TID, and / or based on the urgency corresponding to the tag / tag. For example, during out-of-order transmission, the SN and / or PN of one or more data units may be determined based on / without the TID / priority corresponding to the TID, and / or based on the urgency corresponding to the tag / tag.

[0129] Optionally, the out-of-order transmission mode may include: (one or more) data units corresponding to the first RA and / or the first TID, or QoS data corresponding to the first RA and / or the first TID, using the same SN space (or sequence) and / or the same PN space (or sequence). Optionally, in this case, PN is detected using a PN window.

[0130] Optionally, the out-of-order transmission mode may include: (one or more) data units corresponding to the first RA and / or the first TID, or QoS data corresponding to the first RA and / or the first TID, using different SN spaces (or sequences) and / or different PN spaces (or sequences). Optionally, in this case, PN may be detected using a PN window, or PN may not be detected using a PN window. Optionally, PN may not be detected using a PN window, for example, PN may be detected using a PN replay counter.

[0131] Optionally, in different out-of-order transmission modes, the order of SNs included in multiple data units may be the same or different. Optionally, in different out-of-order transmission modes, the order of PNs included in multiple data units may be the same or different.

[0132] Optionally, the SN counters / SN sequences / SN spaces corresponding to different out-of-order transmission modes may be the same. Optionally, the SN counters / SN sequences / SN spaces corresponding to different out-of-order transmission modes may be different.

[0133] Optionally, the PN counters / PN sequences / PN spaces corresponding to different out-of-order transmission modes may be the same. Optionally, the PN counters / PN sequences / PN spaces corresponding to different out-of-order transmission modes may be different.

[0134] Optionally, the (one or more) data units corresponding to the first RA and / or the first TID, or the QoS data corresponding to the first RA and / or the first TID, may be uplink data, or may be downlink data, or may be uplink data and downlink data.

[0135] With the above technical solution, since the first data unit sent by the first device includes the first TID, and different TIDs correspond to different service flows, different transmission delays, different transmission urgency levels, or different QoS requirements, the data unit is identified by the first TID. Therefore, when the transmission priority corresponding to the first TID is higher, the data unit corresponding to the first TID can be preferentially transmitted, and the transmission of the data unit can meet its QoS requirements, thereby improving the transmission efficiency of the data unit. In addition, since the first SN and / or first PN are determined based on one or more of the following: the first RA, the first TA, the first TID, the first priority, the first flag, whether out-of-order transmission is performed, and the out-of-order transmission mode, the SN and / or PN in each data unit can be determined based on the transmission information of the data unit. Furthermore, each data unit can be transmitted based on the determined SN and / or PN in each data unit, thereby improving the reliability of data unit transmission.

[0136] In some embodiments, the first mark is used to indicate that the first data unit is urgently sent, or to indicate that the first data unit is non-urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit.

[0137] Optionally, in any embodiment of the present application, the mark may include or be replaced by: a data unit mark or a stream mark or other content. The specific description of the mark in the embodiment of the present application is not limited. For example, other content may also be instructions, emergency instructions, specific instructions, etc.

[0138] For example, the first tag is used to indicate that the first data unit is sent urgently. For another example, the first tag is used to indicate that the first data unit is sent non-urgently. For another example, the first tag is used to indicate a first urgency level for sending the first data unit. For another example, the first tag is used to indicate a first latency requirement for sending the first data unit.

[0139] Optionally, in any embodiment of the present application, the degree of urgency can be replaced by one of the following: emergency level, emergency information, urgency, urgency level, urgency information, tension length, tension level, tension information, emergency requirements, emergency corresponding value, non-urgency level, etc.

[0140] Optionally, in any embodiment of the present application, the delay requirement can be replaced by one of the following: delay value, whether low delay, whether high delay, delay information, delay length, sending / transmission delay, sending / transmission delay requirement, etc.

[0141] Optionally, in any embodiment of the present application, urgent sending can be replaced by urgent transmission, and non-urgent sending can be replaced by non-urgent transmission.

[0142] Optionally, each data unit in one or more data units may include a tag. For example, the one or more data units include a first data unit and a second data unit, the first data unit includes a first tag, and the second data unit includes a second tag. Optionally, each data unit in a portion of the multiple data units may include an RA, TA, TID, SN, PN, and a tag, while each data unit in another portion of the multiple data units may include an RA, TA, TID, SN, and PN but not a tag. For example, the one or more data units include a first data unit and a third data unit, the first data unit includes a first tag, and the third data unit does not include a tag.

[0143] Optionally, different data units in the multiple data units may include the same tag. Optionally, different data units in the multiple data units may include different tags. For example, the multiple data units include a first data unit and a second data unit, where the second data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, the second tag, the second SN, and the second PN. Optionally, the first tag and the second tag may be the same or different.

[0144] Optionally, two different tags may be used, one of which may be used to indicate that the data unit is sent urgently, and the other may be used to indicate that the data unit is sent non-urgently. Optionally, different tags may correspond to different urgency levels or different latency requirements. Optionally, different tags may correspond to different values.

[0145] Optionally, when a data unit does not include a mark, it indicates that the data unit is not urgently sent. In other embodiments, when a data unit does not include a mark, it indicates that the data unit is urgently sent. In some embodiments, when a data unit does not include a mark, it indicates that the data unit is urgently sent and has the highest urgency.

[0146] Optionally, the value of the first flag may be a first numerical value or a second numerical value. Optionally, the first numerical value is used to indicate that the first data unit is sent urgently, and the second numerical value is used to indicate that the first data unit is sent non-urgently. Exemplarily, the first numerical value may be 1, and the second numerical value may be 0. Another exemplary embodiment, the first numerical value may be 0, and the second numerical value may be 1.

[0147] Optionally, the value of the first flag can be any one of multiple values, where different values ​​correspond to different urgency or different delay requirements. For example, the multiple values ​​can be 0-3, 0-7, 0-15, or 0-1, etc., and this application does not limit this.

[0148] Optionally, the data unit with the lowest urgency or the highest delay requirement may be a data unit for non-urgent transmission. Optionally, the data unit with the lowest urgency or the highest delay requirement may be a data unit for urgent transmission.

[0149] In an embodiment of the present application, since the first data unit sent by the first device also includes a first mark, the first mark is used to indicate that the first data unit is urgently sent, or indicates that the first data unit is non-urgently sent, or indicates the first urgency or first delay requirement of sending the first data unit, so that the urgency of sending the data unit can be marked by the first mark, and then at least part of the one or more data units corresponding to the same TID can be urgently marked, so that the data units including the urgency mark can be sent first, which is conducive to the rapid transmission of low-latency data units and improves the transmission efficiency of the data units.

[0150] The following describes a method for allocating an SN counter, an SN sequence, or the first SN:

[0151] In some embodiments, the method further comprises: the first device allocating an SN counter or an SN sequence, and / or determining the first SN according to one or more of the following: the first RA, the first TID, the first tag.

[0152] Optionally, the SN included in a data unit may be generated by an SN counter or may belong to one of an SN sequence.

[0153] Optionally, the first device may allocate an SN counter or an SN sequence, and / or determine the first SN according to the first RA, the first TID, and the first tag.

[0154] Optionally, the first device may allocate an SN counter or an SN sequence, and / or determine the first SN according to the first RA and the first TID.

[0155] Optionally, the first device may allocate an SN counter or an SN sequence, and / or determine the first SN according to the first RA and the first tag.

[0156] Optionally, the first device may allocate an SN counter or an SN sequence, and / or determine the first SN according to the first TID and the first tag.

[0157] For example, the first RA and / or the first TID corresponds to at least one data unit, and the at least one data unit includes a data unit (one or more) indicating urgent transmission and a data unit (one or more) indicating non-urgent transmission. Then the corresponding counters can be two, one SN counter corresponds to the data unit indicating urgent transmission, and the other SN counter corresponds to the data unit indicating non-urgent transmission; or, the corresponding SN sequences are two groups, one group of SN sequences corresponds to the data unit indicating urgent transmission, and the other group of SN sequences corresponds to the data unit indicating non-urgent transmission; or, the first SN can be allocated according to the SN counter corresponding to the data unit corresponding to urgent transmission, or, the first SN can be allocated according to the SN counter corresponding to the data unit corresponding to non-urgent transmission.

[0158] Optionally, in any embodiment of the present application, each value in a set of SN sequences may be determined according to a corresponding SN counter.

[0159] For another example, the first RA and / or the first TID corresponds to at least one data unit, which includes a data unit (one or more) with a first urgency or a first delay requirement, a data unit (one or more) with a second urgency or a second delay requirement, and a data unit (one or more) with a third urgency or a third delay requirement. Then, the corresponding counters may be three, one SN counter corresponding to the data unit indicating the first urgency or the first delay requirement, another SN counter corresponding to the data unit indicating the second urgency or the second delay requirement, and another SN counter corresponding to the data unit indicating the third urgency or the third delay requirement; or, the corresponding SN sequences are three groups, one group of SN sequences corresponding to the data unit indicating the first urgency or the first delay requirement, another group of SN sequences corresponding to the data unit indicating the second urgency or the second delay requirement, and another group of SN sequences corresponding to the data unit indicating the third urgency or the third delay requirement; or, the first SN may be allocated according to the SN counter used for the data unit corresponding to the first urgency or the first delay requirement.

[0160] For another example, the first RA and / or the first TID corresponds to at least one data unit, and the at least one data unit includes a data unit (one or more) indicating urgent transmission and a data unit (one or more) indicating non-urgent transmission, or the at least one data unit includes a data unit (one or more) with a first urgency level or a first delay requirement, a data unit (one or more) with a second urgency level or a second delay requirement, and a data unit (one or more) with a third urgency level or a third delay requirement, but the corresponding SN counter is still one, and the one SN counter corresponds to a data unit indicating urgent transmission and a data unit indicating non-urgent transmission, or the one SN counter corresponds to data units of different urgency levels or different delay requirements; or the corresponding SN sequence is still a group, and the group of SN sequences corresponds to data units indicating urgent transmission and data units of non-urgent transmission, or the group of SN sequences corresponds to data units of different urgency levels or different delay requirements.

[0161] In some embodiments, the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on one or more of: the first RA, the first TID, and / or the first tag, including:

[0162] In the case where the receiver includes a non-MLD receiving station STA, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: the first RA, the first TID, and the first tag of the receiving STA.

[0163] In this case, when the receiver includes a non-MLD receiving STA, the corresponding first RA is the first RA of the receiving STA.

[0164] In some embodiments, the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on one or more of: the first RA, the first TID, and / or the first tag, including:

[0165] In the case where the receiving party includes a receiving multi-link device MLD, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: a receiving MLD media access control MAC address to which the receiving STA identified by the first RA is attached, the first TID, and the first tag.

[0166] In this case, when the receiver includes a receiving MLD, the corresponding first RA is a receiving MLD media access control MAC address to which the receiving STA identified by the first RA belongs.

[0167] Optionally, the receiver may correspond to the first RA. Optionally, the receiver may be the second device.

[0168] Optionally, the first device (also referred to as a sender) may include a non-MLD STA, or the first device may include an MLD.

[0169] Optionally, the sender includes a non-MLD STA, and the receiver includes a non-MLD STA. Optionally, the sender includes a non-MLD STA, and the receiver includes an MLD. Optionally, the sender includes an MLD, and the receiver includes an MLD. Optionally, the sender includes an MLD, and the receiver includes a non-MLD STA.

[0170] In some embodiments, the quality of service (QoS) data corresponding to the first RA and / or the first TID may be one or more of the following: one or more SN spaces, one or more SN counters, or one or more SN sequences.

[0171] Optionally, the quality of service (QoS) data corresponding to the first RA and / or the first TID may include: quality of service (QoS) data corresponding to the first RA and the first TID, or QoS data corresponding to the first RA, or QoS data corresponding to the first TID. Optionally, the quality of service (QoS) data corresponding to the first RA and / or the first TID may include one or more data units, and the one or more data units may include a first data unit.

[0172] Optionally, the SN space used by the data unit indicating urgent transmission is different from the SN space used by the data unit indicating non-urgent transmission. Optionally, the SN space used by the data units indicating different urgency or different delay requirements is different.

[0173] Optionally, the SN space used by the data unit indicating urgent transmission is the same as the SN space used by the data unit indicating non-urgent transmission. Optionally, the SN space used by the data units indicating different urgency levels or different delay requirements is the same.

[0174] Optionally, the SN counter used by the data unit indicating urgent transmission is different from the SN counter used by the data unit indicating non-urgent transmission. Optionally, the SN counters used by the data units indicating different urgency or different delay requirements are different.

[0175] Optionally, the SN counter used by the data unit indicating urgent transmission is the same as the SN counter used by the data unit indicating non-urgent transmission. Optionally, the SN counter used by the data units indicating different urgency or different delay requirements is the same.

[0176] Optionally, an SN space may include one or more SN counters. Optionally, different SN spaces correspond to different SN counters.

[0177] In some embodiments, the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on one or more of the following: the first RA, the first TID, and the first tag; correspondingly, the quality of service (QoS) data corresponding to the first RA and / or the first TID uses one or more of the following: one or more SN spaces, one or more SN counters, and one or more SN sequences. For example, the first device allocates an SN counter or an SN sequence, and / or determines the first SN based on the first RA, the first TID, and the first tag; correspondingly, the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: multiple SN spaces, multiple SN counters, and multiple SN sequences. For another example, the first device allocates an SN counter or an SN sequence, and / or determines the first SN based on the first RA, the first TID, and the first tag; correspondingly, the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: one SN space, one SN counter, and one SN sequence.

[0178] Another method for allocating the SN counter, the SN sequence, or the first SN is described below:

[0179] In some embodiments, the method further comprises:

[0180] The first device allocates an SN counter or an SN sequence, and / or determines the first SN according to the first RA and the first TID.

[0181] Optionally, when the first data unit does not include the first tag, the first device may allocate an SN counter or an SN sequence, and / or determine the first SN according to the first RA and the first TID.

[0182] Optionally, in the case that the first data unit includes the first tag, the first device may still allocate an SN counter or an SN sequence, and / or determine the first SN according to the first RA and the first TID.

[0183] For example, the first RA and / or the first TID corresponds to at least one data unit, the at least one data unit including a data unit (one or more) indicating urgent transmission and a data unit (one or more) indicating non-urgent transmission, and a corresponding SN counter or a set of SN sequences corresponds not only to the data unit indicating urgent transmission but also to the data unit indicating non-urgent transmission; and / or, the first SN can be allocated based on the one SN counter.

[0184] For another example, the first RA and / or the first TID corresponds to at least one data unit, which includes a data unit (one or more) with a first urgency or a first delay requirement, a data unit (one or more) with a second urgency or a second delay requirement, and a data unit (one or more) with a third urgency or a third delay requirement, a corresponding SN counter or a group of SN sequences, a data unit indicating the first urgency or the first delay requirement, a data unit indicating the second urgency or the second delay requirement, and a data unit indicating the third urgency or the third delay requirement; and / or, the first SN can be allocated based on the one SN counter.

[0185] In some embodiments, the first device assigns an SN counter or an SN sequence and / or determines the first SN according to the first RA and the first TID, including:

[0186] In a case where the receiver includes a non-MLD receiving STA, the first device allocates an SN counter or an SN sequence and / or determines the first SN according to the first RA and the first TID of the receiving STA.

[0187] In this case, when the receiver includes a non-MLD receiving STA, the corresponding first RA is the first RA of the receiving STA.

[0188] In some embodiments, the first device assigns an SN counter or an SN sequence and / or determines the first SN according to the first RA and the first TID, including:

[0189] In the case where the receiving party includes a receiving MLD, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to the receiving MLD MAC address to which the receiving STA identified by the first RA is attached and the first TID.

[0190] In this case, when the receiver includes a receiving MLD, the corresponding first RA is a receiving MLD media access control MAC address to which the receiving STA identified by the first RA belongs.

[0191] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: an SN space, an SN counter, and an SN sequence.

[0192] Optionally, the SN space used by the data unit indicating urgent transmission is the same as the SN space used by the data unit indicating non-urgent transmission. Optionally, the SN space used by the data units indicating different urgency levels or different delay requirements is the same.

[0193] Optionally, the SN counter used by the data unit indicating urgent transmission is the same as the SN counter used by the data unit indicating non-urgent transmission. Optionally, the SN counter used by the data units indicating different urgency or different delay requirements is the same.

[0194] In some implementations, the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on the first RA and the first TID. Correspondingly, QoS data corresponding to the first RA and / or the first TID uses one or more of the following: an SN space, an SN counter, and an SN sequence.

[0195] The following describes a method for allocating a PN counter, a PN sequence, or the first PN:

[0196] In some embodiments, the method further includes: the first device allocating a PN counter or a PN sequence, and / or determining the first PN according to one or more of the following: the first TA, the first RA, the first TID, the first priority, and the first tag.

[0197] Optionally, the PN included in a data unit may be generated by a PN counter or may belong to one of a PN sequence.

[0198] Optionally, the first device allocates a PN counter or a PN sequence and / or determines the first PN according to the following four items: the first item is a first TA, the second item is a first RA, the third item is a first TID or a first priority, and the fourth item is the first tag.

[0199] Optionally, the first device allocates a PN counter or a PN sequence and / or determines the first PN according to the following three items: a first item is a first TA, a second item is a first RA, and a third item is a first TID or a first priority.

[0200] Optionally, the first device allocates a PN counter or a PN sequence, and / or determines the first PN according to the following three items: the first item is a first TA, the second item is a first RA, and the third item is the first tag.

[0201] For example, the first TA, the first RA and the first TID correspond to at least one data unit, and the at least one data unit includes a data unit (one or more) indicating urgent transmission and a data unit (one or more) indicating non-urgent transmission. Then the corresponding counters can be two, one PN counter corresponds to the data unit indicating urgent transmission, and the other PN counter corresponds to the data unit indicating non-urgent transmission; or, the corresponding PN sequences are two groups, one group of PN sequences corresponds to the data unit indicating urgent transmission, and the other group of PN sequences corresponds to the data unit indicating non-urgent transmission; or, the first PN can be allocated according to the PN counter corresponding to the data unit corresponding to urgent transmission, or, the first PN can be allocated according to the PN counter corresponding to the data unit corresponding to non-urgent transmission.

[0202] Optionally, in any embodiment of the present application, each value in a set of PN sequences may be determined according to a corresponding PN counter.

[0203] For another example, the first TA, the first RA, and the first TID correspond to at least one data unit, and the at least one data unit includes one or more data units with a first urgency or a first delay requirement, one or more data units with a second urgency or a second delay requirement, and one or more data units with a third urgency or a third delay requirement. Then, the corresponding counters may be three, one PN counter corresponding to the data unit indicating the first urgency or the first delay requirement, another PN counter corresponding to the data unit indicating the second urgency or the second delay requirement, and another PN counter corresponding to the data unit indicating the third urgency or the third delay requirement; or, the corresponding PN sequences may be three groups, one group of PN sequences corresponding to the data unit indicating the first urgency or the first delay requirement, another group of PN sequences corresponding to the data unit indicating the second urgency or the second delay requirement, and another group of PN sequences corresponding to the data unit indicating the third urgency or the third delay requirement; or, the first PN may be allocated according to the PN counter used for the data unit corresponding to the first urgency or the first delay requirement.

[0204] For another example, the first TA, the first RA and the first TID correspond to at least one data unit, and the at least one data unit includes a data unit (one or more) indicating urgent transmission and a data unit (one or more) indicating non-urgent transmission, or the at least one data unit includes a data unit (one or more) with a first urgency level or a first delay requirement, a data unit (one or more) with a second urgency level or a second delay requirement, and a data unit (one or more) with a third urgency level or a third delay requirement, but the corresponding PN counter is still one, and the one PN counter corresponds to a data unit indicating urgent transmission and a data unit indicating non-urgent transmission, or the one PN counter corresponds to data units of different urgency levels or different delay requirements; or the corresponding PN sequence is still a group, and the group of PN sequences corresponds to data units indicating urgent transmission and data units of non-urgent transmission, or the group of PN sequences corresponds to data units of different urgency levels or different delay requirements.

[0205] In some embodiments, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on one or more of the following: the first TA, the first RA, the first TID, the first priority, and the first tag, including:

[0206] In the case where the receiving side includes a non-MLD receiving STA, the first device allocates a PN counter or a PN sequence, and / or determines the first PN according to one or more of the following: the first TA, the first RA of the receiving STA, the first TID, the first priority, and the first tag.

[0207] In this case, when the receiver includes a non-MLD receiving STA, the corresponding first RA is the first RA of the receiving STA.

[0208] In some embodiments, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on one or more of the following: the first TA, the first RA, the first TID, the first priority, and the first tag, including:

[0209] In a case where the receiving side includes a receiving MLD, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on one or more of the following: a transmitting MLD MAC address to which the transmitting STA identified by the first TA is attached, a receiving MLD MAC address to which the receiving STA identified by the first RA is attached, the first TID, the first priority, and the first tag.

[0210] In this case, when the receiver includes a receiving MLD, the corresponding first TA is the sending MLD MAC address to which the sending STA identified by the first TA belongs, and the corresponding first RA is the receiving MLD MAC address to which the receiving STA identified by the first RA belongs.

[0211] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: one or more PN spaces, one or more PN counters, and one or more PN sequences.

[0212] Optionally, the quality of service (QoS) data corresponding to the first RA and / or the first TID may include one of the following: quality of service (QoS) data corresponding to the first RA and the first TID, quality of service (QoS) data corresponding to the first RA, quality of service (QoS) data corresponding to the first TID, and quality of service (QoS) data corresponding to the first TA, the first RA, and the first TID. Optionally, the quality of service (QoS) data corresponding to the first RA and / or the first TID may include one or more data units, and the one or more data units may include a first data unit.

[0213] Optionally, the PN space used by the data unit indicating urgent transmission is different from the PN space used by the data unit indicating non-urgent transmission. Optionally, the PN space used by the data units indicating different urgency or different delay requirements is different.

[0214] Optionally, the PN space used by the data unit indicating urgent transmission is the same as the PN space used by the data unit indicating non-urgent transmission. Optionally, the PN space used by the data units indicating different urgency levels or different delay requirements is the same.

[0215] Optionally, the PN counter used by the data unit indicating urgent transmission is different from the PN counter used by the data unit indicating non-urgent transmission. Optionally, the PN counters used by the data units indicating different urgency or different delay requirements are different.

[0216] Optionally, the PN counter used by the data unit indicating urgent transmission is the same as the PN counter used by the data unit indicating non-urgent transmission. Optionally, the PN counter used by the data units indicating different urgency or different delay requirements is the same.

[0217] Optionally, a PN space may include one or more PN counters. Optionally, different PN spaces correspond to different PN counters.

[0218] In some embodiments, the first device allocates a PN counter or a PN sequence, and / or determines the first PN, based on one or more of the following: the first TA, the first RA, the first TID, the first priority, and the first tag. Correspondingly, the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: one or more PN spaces, one or more PN counters, and one or more PN sequences. For example, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on the first TA, the first RA, the first TID, and the first tag. Alternatively, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on the first TA, the first RA, the first priority, and the first tag. Correspondingly, the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: multiple PN spaces, multiple PN counters, and multiple PN sequences. For another example, the first device allocates a PN counter or a PN sequence, and / or determines the first PN, based on the first TA, the first RA, the first TID, and the first tag. Alternatively, the first device allocates a PN counter or a PN sequence, and / or determines the first PN based on the first TA, the first RA, the first priority, and the first tag. Correspondingly, the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: a PN space, a PN counter, and a PN sequence.

[0219] Another allocation method of the PN counter or the PN sequence or the first PN is described below:

[0220] In some embodiments, the method further comprises:

[0221] The first device allocates a PN counter or a PN sequence, and / or determines the first PN according to the first TA, the first RA, and the first TID or the first priority.

[0222] Optionally, when the first data unit does not include the first tag, the first device may allocate a PN counter or a PN sequence, and / or determine the first PN according to the first TA, the first RA, and the first TID or the first priority.

[0223] Optionally, in the case that the first data unit includes the first tag, the first device may still allocate a PN counter or a PN sequence and / or determine the first PN according to the first TA, the first RA, and the first TID or the first priority.

[0224] In this way, the first device allocates a PN counter or a PN sequence or the first PN according to the following three items: the first item is the first TA, the second item is the first RA, and the third item is the first TID or the first priority.

[0225] For example, the first RA and / or the first TID corresponds to at least one data unit, where the at least one data unit includes one or more data units indicating urgent transmission and one or more data units indicating non-urgent transmission. A corresponding PN counter or a set of PN sequences corresponds not only to the data units indicating urgent transmission but also to the data units indicating non-urgent transmission. Alternatively, the first PN can be allocated based on the one PN counter.

[0226] For another example, the first RA and / or the first TID corresponds to at least one data unit, the at least one data unit including a data unit (one or more) with a first urgency or a first delay requirement, a data unit (one or more) with a second urgency or a second delay requirement, and a data unit (one or more) with a third urgency or a third delay requirement, a corresponding PN counter or a group of PN sequences, a data unit indicating the first urgency or the first delay requirement, a data unit indicating the second urgency or the second delay requirement, and a data unit indicating the third urgency or the third delay requirement; alternatively, the first PN can be allocated based on the one PN counter.

[0227] In some embodiments, the first device allocates a PN counter or a PN sequence or the first PN according to the first TA, the first RA, and the first TID or the first priority, including:

[0228] In a case where the receiver includes a non-MLD receiving STA, the first device allocates a PN counter or a PN sequence and / or determines the first PN according to the first TA, the first RA of the receiving STA, and the first TID or the first priority.

[0229] In this case, when the receiver includes a non-MLD receiving STA, the corresponding first RA is the first RA of the receiving STA.

[0230] In some embodiments, the first device allocates a PN counter or a PN sequence or the first PN according to the first TA, the first RA, and the first TID or the first priority, including:

[0231] In the case where the receiving side includes a receiving MLD, the first device allocates a PN counter or a PN sequence, and / or determines the first PN according to the transmitting MLD MAC address to which the transmitting STA identified by the first TA is attached, the receiving MLD MAC address to which the receiving STA identified by the first RA is attached, and the first TID or the first priority.

[0232] In this case, when the receiver includes a receiving MLD, the corresponding first TA is the sending MLD MAC address to which the sending STA identified by the first TA belongs, and the corresponding first RA is the receiving MLD MAC address to which the receiving STA identified by the first RA belongs.

[0233] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: a PN space, a PN counter, and a PN sequence.

[0234] Optionally, the PN space used by the data unit indicating urgent transmission is the same as the PN space used by the data unit indicating non-urgent transmission. Optionally, the PN space used by the data units indicating different urgency levels or different delay requirements is the same.

[0235] Optionally, the PN counter used by the data unit indicating urgent transmission is the same as the PN counter used by the data unit indicating non-urgent transmission. Optionally, the PN counter used by the data units indicating different urgency or different delay requirements is the same.

[0236] Optionally, the PN sequence used by the data unit indicating urgent transmission is the same as the PN sequence used by the data unit indicating non-urgent transmission. Optionally, the PN sequence used by the data units indicating different urgency or different delay requirements is the same.

[0237] In some embodiments, the first device allocates a PN counter or a PN sequence and / or determines the first PN based on the first TA, the first RA, and the first TID or the first priority. Correspondingly, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: a PN space, a PN counter, and a PN sequence.

[0238] In some embodiments, after the first device sends the first data unit, the method further includes: the first device sending a second data unit;

[0239] wherein, in the transmission queue, the position of the second data unit is before the position of the first data unit;

[0240] The first mark is used to indicate that the first data unit is urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit;

[0241] The second data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a second tag, a second SN, and a second PN;

[0242] The second mark is used to indicate that the second data unit is sent non-urgently, or to indicate the second urgency or second delay requirement for sending the second data unit, the first urgency is greater than the second urgency, and the first delay requirement is more urgent than the second delay requirement.

[0243] Optionally, the first delay requirement is more urgent than the second delay requirement, which can be replaced by: the first delay requirement is stricter than the second delay requirement.

[0244] Optionally, the first delay requirement for sending the first data unit is more urgent than the second delay requirement for sending the second data unit, which may include: the first data unit is sent with low delay, and the second data unit is sent with non-low delay; or, the first data unit is sent with non-high delay, and the second data unit is sent with high delay; or, the delay value corresponding to the sending of the first data unit is less than the delay value corresponding to the sending of the second data unit.

[0245] Exemplarily, a transmission queue may include multiple data units, and the data units included in the transmission queue may include one or more data units for indicating that the data unit is urgently sent (including a first data unit, each of the one or more data units for indicating that the data unit is urgently sent includes a first mark), and also include one or more data units for indicating that the data unit is not urgently sent (including a second data unit, each of the one or more data units for indicating that the data unit is not urgently sent includes a second mark). Then, the first device may first send the one or more data units in the transmission queue for indicating that the data unit is urgently sent, and then send the one or more data units for indicating that the data unit is not urgently sent. In this way, even if the position of the first data unit is after the position of the second data unit, the first data unit may be transmitted first, and then the second data unit may be transmitted.

[0246] Exemplarily, a transmission queue may include multiple data units, and the data units included in the transmission queue may include one or more data units for indicating a first urgency or a first delay requirement (including a first data unit, each of the one or more data units for indicating the first urgency or the first delay requirement includes a first mark), and also include one or more data units for indicating a second urgency or a second delay requirement (including a second data unit, each of the one or more data units for indicating the second urgency or the second delay requirement includes a first mark). The first urgency is greater than the second urgency, and the first delay requirement is more urgent than the second delay requirement. Then, the first device may first send the one or more data units in the transmission queue for indicating the first urgency or the first delay requirement, and then send the one or more data units for indicating the second urgency or the second delay requirement. In this way, even if the position of the first data unit is after the position of the second data unit, the first data unit may be transmitted first, and then the second data unit may be transmitted.

[0247] Alternatively, the number of data units in the transmission queue may be the size of one BA scoreboard or one PN window. For example, the number of data units in the transmission queue may be 64. Alternatively, the number of data units in the transmission queue may be the size of multiple BA scoreboards or multiple PN windows.

[0248] Optionally, all data units in the transmission queue may correspond to the first RA and / or the first TID.

[0249] In some embodiments, after the first device sends the first data unit, the method further includes: the first device sending a third data unit;

[0250] wherein, in the transmission queue, the position of the third data unit is before the position of the first data unit;

[0251] The first mark is used to indicate that the first data unit is urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit;

[0252] The third data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a third SN, and a third PN.

[0253] Exemplarily, a transmission queue may include multiple data units, and the data units included in the transmission queue may include one or more data units for indicating that the data unit is urgently sent (including a first data unit, each of the one or more data units for indicating that the data unit is urgently sent includes a first mark), and also include one or more data units not used to indicate that the data unit is urgently sent (including a third data unit, each of the one or more data units not used to indicate that the data unit is urgently sent does not include a mark, for example, does not include the first mark or the second mark). Then, the first device may first send the one or more data units in the transmission queue for indicating that the data unit is urgently sent, and then send the one or more data units not used to indicate that the data unit is urgently sent. In this way, even if the position of the first data unit is after the position of the third data unit, the first data unit may be transmitted first, and then the third data unit may be transmitted.

[0254] Exemplarily, a transmission queue may include multiple data units, and the data units included in the transmission queue may include one or more data units for indicating a first degree of urgency or a first delay requirement (including a first data unit, each of the one or more data units for indicating the first degree of urgency or the first delay requirement includes a first mark), and also include one or more data units not used to indicate that the data unit is urgently sent (including a third data unit, each of the one or more data units not used to indicate that the data unit is urgently sent does not include a mark, for example, does not include a first mark or a second mark). Then, the first device may first send the one or more data units in the transmission queue for indicating the first degree of urgency or the first delay requirement, and then send the one or more data units not used to indicate that the data unit is urgently sent. In this way, even if the position of the first data unit is after the position of the third data unit, the first data unit may be transmitted first, and then the third data unit may be transmitted.

[0255] In some embodiments, the first flag and / or the first TID are included in a high throughput HT control field of the first data unit.

[0256] In some embodiments, the HT Control field corresponds to a high-efficiency HE variant, and the first flag and / or the first TID are included in a control subfield of an A-Control subfield of the HT Control field.

[0257] Optionally, the A-Control subfield may include a differentiated transmission indication control subfield; and the first flag and / or the first TID are included in the differentiated transmission indication control subfield.

[0258] Optionally, the A-Control subfield includes a control list subfield of variable length and a padding field of variable length (the length may also be 0), the control list subfield includes one or more control subfields, the control subfield includes a control ID subfield and a control information subfield; the control ID subfield indicates the type of information carried in the control information subfield, and the length of the control information subfield is fixed for each value of the control ID subfield.

[0259] Optionally, one or more control subfields may include a distinguishing transmission indication control subfield, and the control ID subfield value of the distinguishing transmission indication control subfield may be used to indicate an urgent transmission indication (Urgent Transmission Indication) control subfield, or to indicate a non-urgent transmission indication control subfield.

[0260] Optionally, the control subfield for distinguishing the sending indication may include one or more of the following: an urgent sending indication, a flow identifier (TID), and a reserved field. Optionally, the length corresponding to the urgent sending indication may be 0 or a variable length. The control subfield for distinguishing the sending indication may include one or more of the following: a non-urgent sending indication, a flow identifier (TID), and a reserved field. Optionally, the length corresponding to the urgent sending indication / non-urgent sending indication may be 0 or a variable length. Optionally, the length corresponding to the flow identifier may be 0 or a variable length. Optionally, the length of the reserved field may be 0 or a variable length. Optionally, the urgent sending indication may correspond to the control ID subfield value. Optionally, the flow identifier may correspond to the control ID subfield.

[0261] In some embodiments, one or more of the first data unit, the second data unit, and the third data unit are included in one or more data units;

[0262] Each of the one or more data units includes one of the following: data frame, data packet, QoS data, media access control protocol data unit MPDU, media access control service data unit MSDU, MSDUs, aggregated-media access control service data unit A-MSDU, A-MSDUs, media access control management protocol data unit MMPDU.

[0263] FIG7 is a flow chart of another communication method provided in an embodiment of the present application. As shown in FIG7 , the method includes:

[0264] S702. The second device receives one or more data units; each data unit in at least some of the data units includes one or more of the following: a sender address TA, a receiver address RA, a flow identifier TID, a priority, a tag, a sequence number SN, and a packet number PN;

[0265] The SN and / or PN included in each data unit is determined according to one or more of the following:

[0266] TA, RA, TID, priority, tag, out-of-order transmission, out-of-order transmission mode.

[0267] Optionally, at least part of the data units may be part or all of the data units in one or more data units.

[0268] Optionally, the one or more data units received by the second device may be received on one or more links. Optionally, the one or more data units received by the second device may be received on one frequency band or multiple frequency bands. Optionally, the one or more data units received by the second device may be received on one or more channels. The multiple data units received by the second device may be received in order or out of order. For example, the multiple data units received by the second device may be received in the order of SN or out of order. For example, the multiple data units may be received in the order of PN or out of order. For example, the data unit corresponding to SN=2 may be received first, and then the data unit corresponding to SN=1 may be received. For example, the data unit corresponding to PN=3 may be received first, and then the data unit corresponding to PN=1 may be received.

[0269] Optionally, different data units among the multiple data units may include the same RA. Optionally, different data units among the multiple data units may include different RAs. Optionally, different data units among the multiple data units may include the same TA. Optionally, different data units among the multiple data units may include different TAs. Optionally, different data units among the multiple data units may include the same TID. Optionally, different data units among the multiple data units may include different TIDs. Optionally, different TIDs correspond to different priorities. Optionally, different data units among the multiple data units may include the same tag. Optionally, different data units among the multiple data units may include different tags.

[0270] Optionally, the TID included in each data unit may be included in multiple TIDs, and the multiple TIDs may be agreed upon by the protocol. For example, the value range of the TID included in each data unit is 0 to 7.

[0271] Optionally, the SN and / or PN included in each data unit is determined based on one or more of the following: the TA included in each data unit, the RA included in each data unit, the TID included in each data unit, the priority included in each data unit, the mark included in each data unit, whether to transmit out of order, and the out of order transmission mode.

[0272] Optionally, each data unit may be replaced by a data unit i, where i is any integer greater than or equal to 0.

[0273] Optionally, the SN included in each data unit can be determined based on the RA included in each data unit and the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit). For example, the SN included in data unit i can be determined based on the first RA included in data unit i and the TID included in data unit i.

[0274] Optionally, the SN included in each data unit can be determined according to the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit), and the tag included in each data unit.

[0275] Optionally, the SN included in each data unit may be determined according to the RA included in each data unit, the TID included in each data unit (the TID included in each data unit may be replaced by the priority included in each data unit), and whether out-of-order transmission is performed.

[0276] Optionally, the SN included in each data unit can be determined based on the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit), the tag included in each data unit, and whether it is transmitted out of order.

[0277] Optionally, the SN included in each data unit may be determined according to the RA included in each data unit, the TID included in each data unit (the TID included in each data unit may be replaced by the priority included in each data unit), and the out-of-order transmission mode.

[0278] Optionally, the SN included in each data unit can be determined based on the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit), the tag included in each data unit, and the out-of-order transmission mode.

[0279] Optionally, the PN included in each data unit may be determined according to the TA included in each data unit, the RA included in each data unit, and the TID included in each data unit (the TID included in each data unit may be replaced by the priority included in each data unit).

[0280] Optionally, the PN included in each data unit can be determined based on the TA included in each data unit, the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit) and the tag included in each data unit.

[0281] Optionally, the PN included in each data unit can be determined according to the TA included in each data unit, the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit) and whether it is transmitted out of order.

[0282] Optionally, the PN included in each data unit can be determined based on the TA included in each data unit, the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit), the tag included in each data unit, and whether it is transmitted out of order.

[0283] Optionally, the PN included in each data unit can be determined according to the TA included in each data unit, the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit) and the out-of-order transmission mode.

[0284] Optionally, the PN included in each data unit can be determined according to the TA included in each data unit, the RA included in each data unit, the TID included in each data unit (the TID included in each data unit can be replaced by the priority included in each data unit), the tag included in each data unit, and the out-of-order transmission mode.

[0285] For example, the multiple data units include a first data unit and a second data unit, wherein the first data unit includes the first TA, the first RA, the first TID, the first priority, the first tag, the first SN and the first PN; the second data unit includes the first TA, the first RA, the first TID, the first priority, the second tag, the second SN and the second PN.

[0286] In some embodiments, the mark included in each data unit is used to indicate that each data unit is urgently sent, or indicates that each data unit is non-urgently sent, or indicates the urgency or delay requirement of sending each data unit.

[0287] For example, a data unit may include a tag indicating that the data unit is sent urgently. Another example is that the data unit includes a tag indicating that the data unit is sent non-urgently. Another example is that the data unit includes a tag indicating the urgency of sending the data unit. For example, the data unit includes a tag indicating the delay requirement for sending the data unit.

[0288] Optionally, different data units in the plurality of data units may include the same tag. Optionally, different data units in the plurality of data units may include different tags.

[0289] Optionally, the value of the flag included in each data unit can be a first value or a second value. Optionally, the first value is used to indicate that the first data unit is sent urgently, and the second value is used to indicate that the first data unit is sent non-urgently. Exemplarily, the first value can be 1, and the second value can be 0. Another exemplary embodiment, the first value can be 0, and the second value can be 1.

[0290] Optionally, the value of the tag included in each data unit can be any one of multiple values, where different values ​​correspond to different urgency or different delay requirements. For example, the multiple values ​​can be 0-3, 0-7, 0-16, 0-2, etc., and this application does not limit this.

[0291] The following describes one way to allocate and / or control receive reorder buffers:

[0292] In some embodiments, the method further comprises:

[0293] The second device allocates and / or controls a receiving reordering buffer according to one or more of the following: TA, TID, and tag; the receiving reordering buffer is used to reorder at least one data unit corresponding to one or more of the TA, TID, and tag.

[0294] Optionally, the second device may allocate and / or control a receive reordering buffer according to the TA, TID, and tag.

[0295] Optionally, the second device may allocate and / or control a receiving reordering buffer according to the TA and the TID.

[0296] Optionally, the second device may allocate and / or control a receiving reordering buffer according to the TA and the tag.

[0297] Optionally, the second device may allocate and / or control a receive reordering buffer according to the TID and the tag.

[0298] Optionally, a receive reordering buffer is allocated and / or controlled for the same TA, the same TID, and the same tag. The receive reordering buffer can be used to reorder at least one data unit corresponding to the same TA, the same TID, and the same tag. Optionally, a receive reordering buffer is allocated and / or controlled for the same TA and the same TID. Optionally, a receive reordering buffer is allocated and / or controlled for the same TA and the same tag. Optionally, a receive reordering buffer is allocated and / or controlled for the same TA and the same tag.

[0299] Optionally, different TAs correspond to different receiving reordering buffers, and / or different TIDs correspond to different receiving reordering buffers, and / or different tags correspond to different receiving reordering buffers.

[0300] For example, the one or more data units received by the second device include: data unit 1 to data unit 10, each of data units 1 to data unit 10 includes a first TA, a first TID, and a first tag, then the second device allocates and / or controls a receive reordering buffer, and the receive reordering buffer is used to reorder data units 1 to data unit 10.

[0301] For another example, the one or more data units received by the second device include: data units 1 to data units 18, each of data units 1 to data units 10 includes a first TA, a first TID, and a first tag, and each of data units 11 to data units 18 includes a first TA, a first TID, and a second tag. The second device allocates and / or controls two receive reordering buffers, one of which is used to reorder data units 1 to data units 10, and the other is used to reorder data units 11 to data units 18.

[0302] Optionally, reordering the at least one data unit may include: reordering the at least one data unit according to the order of SN.

[0303] Optionally, for the same sender address and TID, tagged data units and untagged data units can be allocated a unified receive reordering buffer (although tagged data units are included, they are allocated a unified SN sequence). For example, tagged data units and untagged data units are both allocated the first SN sequence (corresponding to the first SN space) and the first receive reordering buffer.

[0304] Optionally, for the same sender address and TID, tagged data units and untagged data units can be allocated different receive reordering buffers (using different SN spaces based on the tag). For example, tagged data units use the second SN space or second SN sequence and are allocated the second receive reordering buffer; untagged data units use the third SN space or third SN sequence and are allocated the third receive reordering buffer.

[0305] In some embodiments, the method further comprises:

[0306] The second device allocates and / or controls a receiving reordering buffer according to the TA and the TID; the receiving reordering buffer is used to reorder at least one data unit corresponding to the TA and the TID.

[0307] Optionally, for the same TA and the same TID, one receiving reordering buffer is allocated and / or controlled. The one receiving reordering buffer may be used to reorder at least one data unit corresponding to the same TA and the same TID.

[0308] Optionally, different TAs correspond to different reorder buffers, and / or different TIDs correspond to different reorder buffers. Optionally, different tags correspond to the same reorder buffer.

[0309] For example, the one or more data units received by the second device include: data units 1 to 18, each of data units 1 to 10 includes a first TA, a first TID, and a first tag, and each of data units 11 to 18 includes a first TA, a first TID, and a second tag. The second device allocates and / or controls a receive reordering buffer, and the receive reordering buffer is used to reorder data units 1 to 18.

[0310] For another example, the one or more data units received by the second device include: data units 1 to 20, each of data units 1 to 10 includes a first TA, a first TID, and a target tag (the target tag can be the first tag or the second tag), and each of data units 11 to 20 includes a first TA, a second TID, and a specific tag (the specific tag can be the first tag or the second tag). The second device then allocates and / or controls two receive reordering buffers, one of which is used to reorder data units 1 to 10, and the other of which is used to reorder data units 11 to 20. Optionally, the target tag and the specific tag can be the same or different.

[0311] In some embodiments, the method further comprises:

[0312] The second device transfers the one or more data units to a next media access control MAC process or an upper layer according to the SN sequence of the one or more data units.

[0313] Optionally, the second device may submit each received data unit to a receive reordering buffer, sort the data units in order of SN, and pass each received data unit to the next MAC process or upper layer in order of SN. Optionally, if there is a data unit that is not successfully received (for example, corresponding to a target SN), all data units that are successfully received before the target SN are passed to the next MAC process or upper layer in order, until the data unit corresponding to the target SN is received, and then the data unit corresponding to the target SN and the data units after the target SN are passed to the next MAC process or upper layer in order.

[0314] In some embodiments, the one or more data units include a fourth data unit; the method further comprises: upon receiving the fourth data unit and not receiving at least one fifth data unit, the second device passing the fourth data unit to a next MAC process or an upper layer;

[0315] The SN corresponding to the fifth data unit is smaller than the SN corresponding to the fourth data unit, or the sending time of the fifth data unit is earlier than the sending time of the fourth data unit, or the time when the SN of the fifth data unit is filled is earlier than the time when the SN of the fourth data unit is filled;

[0316] The fourth data unit and the fifth data unit satisfy one or more of the following:

[0317] The priority of the TID included in the fourth data unit is higher than the priority of the TID included in the fifth data unit;

[0318] The fourth data unit includes a flag for indicating that the fourth data unit is urgently sent, and the fifth data unit includes a flag for indicating that the fifth data unit is non-urgently sent, or the fifth data unit does not include a flag;

[0319] The mark included in the fourth data unit is used to indicate the third urgency or third delay requirement for sending the fourth data unit, and the mark included in the fifth data unit is used to indicate the fourth urgency or fourth delay requirement for sending the fifth data unit, the third urgency is greater than the fourth urgency, and the third delay requirement is more urgent than the fourth delay requirement.

[0320] Optionally, the fifth data unit may be sent at the same time as the first device sends the fifth data unit; and the fourth data unit may be sent at the same time as the first device sends the fourth data unit. In this way, even if the fifth data unit is sent before the fourth data unit, if the second device receives the fourth data unit first, it may first pass the fourth data unit to the next MAC process or upper layer, and then, after receiving the fifth data unit, pass the fifth data unit to the next MAC process or upper layer.

[0321] Optionally, Fill in SN can be replaced by one of the following: Enter SN, Add SN.

[0322] In some embodiments, upon receiving the fourth data unit and not receiving at least one fifth data unit, the second device passing the fourth data unit to a next MAC process or an upper layer includes:

[0323] Upon receiving the fourth data unit and not receiving the at least one fifth data unit, and if one or more of the following conditions are met, the second device passes the fourth data unit to a next MAC process or an upper layer:

[0324] A difference between the SN of the fourth data unit and a minimum value of the SNs of the at least one fifth data unit is less than or equal to a first threshold;

[0325] The waiting time of the fourth data unit in the receiving reordering buffer is greater than or equal to a second threshold.

[0326] Optionally, the first threshold and / or the second threshold may be agreed upon by protocol, or may be preset.

[0327] An implementation method for allocating a replay counter is described below:

[0328] In some embodiments, the method further comprises:

[0329] The second device allocates a replay counter according to one or more of the following: TA, RA, TID, priority, tag.

[0330] Optionally, the second device may allocate a replay counter according to the TA, RA, TID, and tag.

[0331] Optionally, the second device may allocate a replay counter according to the TA, RA, priority, and tag.

[0332] Optionally, the second device may allocate a replay counter according to the TA, RA, and TID.

[0333] Optionally, the second device may allocate a replay counter according to the TA, RA, and priority.

[0334] Optionally, the second device may allocate a replay counter according to the TA and the RA.

[0335] Optionally, a replay counter is assigned to the same TA, the same RA, the same TID or priority, and the same tag. Optionally, a replay counter is assigned to the same TA and the same RA. Optionally, a replay counter is assigned to the same TA, the same RA, and the same TID or priority. Optionally, a replay counter is assigned to the same TA, the same RA, and the same tag.

[0336] Optionally, different TAs correspond to different replay counters, and / or different RAs correspond to different replay counters, and / or different TIDs or priorities correspond to different replay counters, and / or different tags correspond to different replay counters.

[0337] For example, the one or more data units received by the second device include: data unit 1 to data unit 10, each of data unit 1 to data unit 10 includes a first TA, a first RA, a first TID and a first tag, then the second device allocates a replay counter.

[0338] For another example, the one or more data units received by the second device include: data unit 1 to data unit 18, each data unit in data unit 1 to data unit 10 includes a first TA, a first RA, a first TID, and a first tag, and each data unit in data unit 11 to data unit 18 includes a first TA, a first RA, a first TID, and a second tag, then the second device allocates two replay counters.

[0339] In some embodiments, the second device assigns the replay counter based on one or more of the following: TA, RA, TID, priority, tag, including:

[0340] In a case where the second device includes a non-MLD receiving station STA, the second device allocates a replay counter according to one or more of the following: TA, RA of the receiving STA, TID, priority, and tag.

[0341] In this case, if the second device includes a non-MLD receiving STA, the corresponding RA is the RA of the receiving STA.

[0342] In some embodiments, the second device assigns the replay counter based on one or more of the following: TA, RA, TID, priority, tag, including:

[0343] In the case where the second device includes a receiving multi-link device MLD, the second device allocates the replay counter according to one or more of the following: a transmitting MLD MAC address to which the transmitting STA identified by the TA is attached, a receiving MLD MAC address to which the receiving STA identified by the RA is attached, a TID, a priority, and a tag.

[0344] In this case, when the second device includes a receiving MLD, the corresponding TA is the transmitting MLD MAC address to which the transmitting STA identified by the TA belongs, and the corresponding RA is the receiving MLD MAC address to which the receiving STA identified by the RA belongs.

[0345] In some embodiments, the QoS data corresponding to each RA and / or each TID uses one or more replay counters.

[0346] Optionally, the QoS data corresponding to each RA and each TID uses one or more replay counters. Optionally, the QoS data corresponding to each RA uses one or more replay counters. Optionally, the QoS data corresponding to each TID uses one or more replay counters. Optionally, the QoS data corresponding to each TA, each RA, and each TID uses one or more replay counters.

[0347] Optionally, different TAs correspond to different QoS data, and / or different RAs correspond to different QoS data, and / or different TIDs correspond to different QoS data.

[0348] Optionally, the replay counter used by the data unit indicating urgent transmission is different from the replay counter used by the data unit indicating non-urgent transmission. Optionally, the replay counter used by the data units indicating different urgency or different delay requirements is different.

[0349] Optionally, the replay counter used by the data unit indicating urgent transmission is the same as the replay counter used by the data unit indicating non-urgent transmission. Optionally, the replay counter used by the data units indicating different urgency or different delay requirements is the same.

[0350] In some embodiments, the second device allocates replay counters based on the TA, RA, TID or priority, and tag. Accordingly, one or more replay counters are used for the QoS data corresponding to the TID. For example, if one or more data units include two different tags, two replay counters are used. For another example, if one or more data units include one tag, one replay counter is used.

[0351] In some embodiments, the one or more data units include a sixth data unit; and the method further includes:

[0352] In a case where the PN of the sixth data unit received by the second device is greater than the value of the replay counter, the second device determines that the sixth data unit passes the replay detection.

[0353] In some embodiments, the one or more data units include a seventh data unit; and the method further comprises:

[0354] In a case where the PN of the seventh data unit received by the second device is less than or equal to the value of the replay counter, the seventh data unit is discarded.

[0355] In some embodiments, the one or more data units include an eighth data unit; and the method further includes:

[0356] When the PN of the eighth data unit received by the second device is within the range of the PN window, the second device determines that the eighth data unit passes the replay detection; the starting PN of the PN window is the difference between the last PN currently recorded and the size of the PN window, and the ending PN of the PN window is the last PN currently recorded.

[0357] Optionally, the second device may further perform the following steps: when the last PN of the current record changes, updating the PN window.

[0358] For example, the data units corresponding to the first PN and the third PN in the current PN window have not arrived, and the starting PN of the PN window is the first PN. If the data unit corresponding to the first PN arrives, the starting PN of the PN window is updated to the third PN, and the PN window size remains unchanged.

[0359] In some embodiments, the one or more data units include a ninth data unit; and the method further includes:

[0360] In a case where the PN of the ninth data unit received by the second device is not within the range of the PN window, the second device discards the ninth data unit.

[0361] In some embodiments, when the QoS data corresponding to the RA and / or TID adopts one or more of the following: a PN space, a PN counter, and a PN sequence, the second device performs PN replay detection according to the PN window.

[0362] In some embodiments, when the QoS data corresponding to the RA and / or TID uses one or more of the following: multiple PN spaces, multiple PN counters, and multiple PN sequences, the second device performs PN replay detection based on the PN window, or the second device performs PN replay detection based on the PN replay counter.

[0363] Optionally, when the QoS data corresponding to the RA and / or TID adopts one or more of the following: multiple PN spaces, multiple PN counters, and multiple PN sequences, the second device performs PN replay detection according to the PN window.

[0364] Optionally, when the QoS data corresponding to the RA and / or TID adopts one or more of the following: multiple PN spaces, multiple PN counters, and multiple PN sequences, the second device performs PN replay detection according to the PN replay counter.

[0365] In some embodiments, the tag and / or TID included in each data unit is included in a high throughput HT control field of each data unit.

[0366] In some embodiments, the HT Control field corresponds to a high-efficiency HE variant, and the tag and / or TID included in each data unit is included in a control subfield of an A-Control subfield of the HT Control field.

[0367] In some embodiments, each of the one or more data units includes one of the following: a data frame, a data packet, QoS data, a media access control protocol data unit MPDU, a media access control service data unit MSDU, MSDUs, an aggregated-media access control service data unit A-MSDU, A-MSDUs, a media access control management protocol data unit MMPDU.

[0368] Some embodiments of the present application are described below:

[0369] At a sender corresponding to a first device, the first device sends a first data unit; the first data unit includes: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN; the first tag is used to indicate that the first data unit is urgently sent, or to indicate a first urgency or first delay requirement for sending the first data unit; the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on the first RA, the first TID, and the first tag; and quality of service (QoS) data corresponding to the first RA and / or the first TID uses one or more of the following: multiple SN spaces, multiple SN counters, and multiple SN sequences; the first device allocates a PN counter or a PN sequence, and / or determines the first PN, based on the first TA, the first RA, the first TID, and the first tag; and the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: multiple PN spaces, multiple PN counters, and multiple PN sequences.

[0370] At the receiving side corresponding to the second device, the second device allocates and / or controls a receive reordering buffer according to the TA, TID, and tag; the second device allocates a replay counter according to the TA, RA, TID, and tag, and uses multiple replay counters for QoS data corresponding to each RA and / or each TID.

[0371] Some embodiments of the present application are described below:

[0372] At a sender corresponding to a first device, the first device sends a first data unit; the first data unit includes: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN; the first tag is used to indicate that the first data unit is urgently sent, or to indicate a first urgency or first delay requirement for sending the first data unit; the first device allocates an SN counter or an SN sequence, and / or determines the first SN, based on the first RA and the first TID; and quality of service (QoS) data corresponding to the first RA and / or the first TID uses one or more of the following: an SN space, an SN counter, and an SN sequence; the first device allocates a PN counter or a PN sequence, and / or determines the first PN, based on the first TA, the first RA, and the first TID; and the QoS data corresponding to the first RA and / or the first TID uses one or more of the following: a PN space, a PN counter, and a PN sequence.

[0373] At the receiving end corresponding to the second device, the second device allocates and / or controls a receive reordering buffer according to TA and TID; the second device allocates a replay counter according to TA, RA, and TID, and one replay counter is used for the QoS data corresponding to each RA and / or each TID.

[0374] Some embodiments of the present application are described below:

[0375] Embodiment 1:

[0376] For a specific TID, data units with different traffic flows or different tags are processed separately.

[0377] For the scenario where multiple traffic flows are mapped to a specific TID, based on the sending delay requirements of different traffic flows, data units (such as MSDUs or A-MSDUs, MPDU, A-MPDU) corresponding to different traffic flows of the specific TID are distinguished. For example, they can be divided into data units corresponding to low-delay traffic flows (or delay-sensitive traffic flows) and data units corresponding to non-low-delay traffic flows, and different sending mechanisms and / or receiving mechanisms are adopted at the sending end and / or the receiving end:

[0378] The following describes the sending-end processing mechanism of the embodiments of the present application:

[0379] (1) Data unit marking:

[0380] Data units corresponding to a specific TID with different traffic flows, different sending delay requirements (or sending urgency), or other QoS requirements are marked to distinguish data units with different traffic flows or different sending delay requirements.

[0381] (2) SN allocation and processing:

[0382] i) Allocate an SN counter or an SN sequence according to <RA / Address 1, TID i, flow mark / data unit mark>.

[0383] In this way, the SN counter or the SN sequence can be allocated according to the following three items: the first item is RA / Address 1, the second item is TID i, and the third item is the flow mark / data unit mark. Optionally, i is an integer greater than or equal to 0.

[0384] For a given recipient, the QoS data corresponding to a specific TID (such as TID i) (i.e., individually addressed QoS data units) can use one or more SN spaces and one or more counters. For example, for the SN space of a specific individually addressed QoS data unit, in the case where the recipient is a STA, the counter is indexed by <address 1, TID i, flow label / data unit label>, and in the case where the recipient is a MLD, the counter is indexed by <the MLD MAC address attached to the STA identified by address 1, TID i, flow label / data unit label>. Here, address 1 refers to the RA of the receiving station.

[0385] ii) Allocate SN counters or SN sequences according to <RA / address 1, TID i>.

[0386] In this way, SN counters or SN sequences can be allocated according to the following two items, the first item is RA / address 1, and the second item is TID i.

[0387] For a given recipient, the QoS data corresponding to TID i (i.e., individually addressed QoS data units) uses only one SN space and one counter, that is, in the case where the recipient is a STA, the counter is indexed by <address 1, TID i>, and in the case where the recipient is a MLD, the counter is indexed by <the MLD MAC address attached to the STA identified by address 1, TID i>. Here, address 1 refers to the RA of the receiving station.

[0388] (3) PN allocation and processing:

[0389] i) Allocate PN counters or PN sequences according to <TA, RA, TID i / corresponding priority, flow label / data unit label>.

[0390] In this way, PN counters or PN sequences can be allocated according to the following four items, the first item is TA, the second item is RA, the third item is TID i / corresponding priority, and the fourth item is flow label / data unit label.

[0391] For a given recipient, the QoS data corresponding to a specific TID (such as TID i) (i.e., individually addressed QoS data units) can use one or more PN spaces and one or more counters (or PN sequences), that is, in the case where the recipient is a STA, the replay counter is associated with <TA, RA, TID i / corresponding priority, flow label / data unit label>, and in the case where the recipient is a MLD, the counter is associated with <the MLD MAC address attached to the STA identified by TA, the MLD MAC address attached to the STA identified by RA, TIDi or corresponding priority, flow label / data unit label>.

[0392] ii) Allocate a PN counter or PN sequence according to <TA, RA, TID i / corresponding priority>.

[0393] In this way, the PN counter or PN sequence can be allocated according to the following three items: the first item is TA, the second item is RA, and the third item is the priority corresponding to TID i / .

[0394] For a given recipient, the QoS data corresponding to TID i (i.e., the individually addressed QoS data unit) uses only one PN space and one counter (or PN sequence). That is, for the case where the recipient is a STA, the counter is associated with <TA, RA, TID i / corresponding priority>, and for the case where the recipient is a MLD, the counter is associated with <the MLD MAC address attached to the STA identified by TA, the MLD MAC address attached to the STA identified by RA, TIDi or corresponding priority>.

[0395] (4) Data unit processing mechanism for the transmit buffer or queue:

[0396] At the transmit end, for a specific TID, data units corresponding to low-latency traffic flows (or latency-sensitive traffic flows) in the transmit queue, or data units with a high urgency level or that need to be transmitted preferentially, should be transmitted preferentially. For example, in the transmit queue, if there are data units corresponding to newly entered low-latency traffic flows, even if there are data units corresponding to non-low-latency traffic flows at the head of the current queue, the transmission order of the data units in the transmit queue is reordered so that the data units corresponding to the low-latency traffic flows are scheduled to the head of the transmit queue for preferential transmission.

[0397] The following describes the receive-end processing mechanism of the embodiments of the present application:

[0398] (1) SN processing and reordering:

[0399] i) Allocate and / or control the reordering buffer according to <TA, TID i, flow label / data unit label>.

[0400] In this way, the reordering buffer can be allocated and / or controlled according to the following three items: the first item is TA, the second item is TID i, and the third item is the flow label / data unit label.

[0401] At the recipient, allocate a receive reordering buffer corresponding to each <TA, TID i, flow label / data unit label> and control it. The receive reordering buffer is responsible for reordering the MSDU or A-MSDU corresponding to <TA, TID i, flow label / data unit label>. At the same time, it is also responsible for identifying and discarding duplicate frames (i.e., frames with the same sequence number). And the data units can be passed to the next MAC process (or passed to the upper layer) in one of the following ways:

[0402] (i) The data units are eventually passed to the next MAC process (or to the upper layer) in the order of the received sequence numbers;

[0403] (ii) For a data unit with a specific flow identifier or tag (such as a tag for low latency, urgent transmission, or priority transmission), even if there is an unreceived data unit with a corresponding sequence number lower than the sequence number of the data unit (i.e., a data unit that is transmitted earlier but not received), if given conditions are met (such as the difference between the sequence number of the received and to-be-transmitted data unit and the sequence number of the unreceived data unit (such as the earliest unreceived data unit) is less than or equal to a predetermined threshold, and / or the waiting time of the received and to-be-transmitted data unit in the buffer exceeds a time threshold), the MSDU or A-MSDU with the specific flow identifier or tag is still passed to the next MAC process (or to the upper layer).

[0404] ii) In accordance with<TA,TID i> Allocates and / or controls reorder buffers.

[0405] In this way, the reorder buffer can be allocated and / or controlled according to the following two items, the first item is TA and the second item is TID i.

[0406] On the receiving side, the allocation corresponds to each<TA,TID i> The receive reordering buffer controls and reorders data units (such as MSDUs or A-MSDUs) that correspond to the TA and TID. It also identifies and discards duplicate frames (i.e., frames with the same sequence number). Furthermore, it can pass data units to the next MAC process (or to the upper layer) in one of the following ways:

[0407] (i) The data units are eventually passed to the next MAC process (or to the upper layer) in the order of the received sequence numbers;

[0408] (ii) For a data unit with a specific flow identifier or tag (such as a tag for low latency, urgent transmission, or priority transmission), even if there is an unreceived data unit with a corresponding sequence number lower than the sequence number of the data unit (i.e., a data unit that is transmitted earlier but not received), if given conditions are met (such as the difference between the sequence number of the received and to-be-transmitted data unit and the sequence number of the unreceived data unit (such as the earliest unreceived data unit) is less than or equal to a to-be-determined threshold, and / or the waiting time of the received and to-be-transmitted data unit in the buffer exceeds a time threshold, and / or the unreceived data unit is a data unit not marked for low latency or not marked for priority transmission), the MSDU or A-MSDU with the specific flow identifier or tag is still passed to the next MAC process (or to the upper layer).

[0409] (2) PN processing and replay detection:

[0410] i) Allocate replay counters according to <TA, RA, the corresponding priority of TID i / , stream label / data unit label> and perform replay detection.

[0411] In this way, replay counters can be allocated according to the following four items: the first item is TA, the second item is RA, the third item is the corresponding priority of TID i / , and the fourth item is the stream label / data unit label.

[0412] For a given receiver, the QoS data corresponding to a specific TID (such as TID i) (i.e., the separately addressed QoS data unit) can use one or more replay counters. That is, for the case where the receiver is a STA, the replay counter is associated with <TA, RA, the corresponding priority of TID i / , stream label / data unit label>, and for the case where the receiver is an MLD, the replay counter is associated with <the MLD MAC address attached to the STA identified by TA, the MLD MAC address attached to the STA identified by RA, TIDi or the corresponding priority, stream label / data unit label>.

[0413] Moreover, one of the following methods can be used to perform replay detection on data units:

[0414] (i) Replay detection based on PN replay counters:

[0415] If the PN of the received QoS data unit is greater than the value of the replay counter associated with <TA, RA, the corresponding priority of TID i / , stream label / data unit label> (such as for MLD, using the sender MLD MAC address, the receiver MLD MAC address (individual or group address) and the priority value or corresponding TID of the received data unit (such as MPDU), and the stream label / data unit label; for non-MLD stations, using the MAC address of the sending STA, the MAC address of the receiving STA (individual or group address) and the priority value or corresponding TID of the received data unit (such as MPDU), and the stream label / data unit label)), then the data unit passes the replay detection.

[0416] Discard data frames that receive any PN less than or equal to the priority corresponding to <TA, RA, TID i / >, flow label / data unit label> (for example, for MLD, use the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the priority value of the received MPDU or the corresponding TID and flow label / data unit label; for non-MLD stations, use the MAC address of the sending STA, the MAC address of the receiving STA (individual or group address), and the priority value of the received data unit (such as MPDU) or the corresponding TID, and flow label / data unit label) associated with the value of the replay counter.

[0417] (ii) Replay detection based on the PN window:

[0418] If the PN of the received QoS data unit matches the record entry corresponding to the current PN window (for example, the PN number is within the range represented by [the last PN in the current record - PN window size, the last PN in the current record]), then the data unit passes the replay detection. At the same time, the PN window is updated to [the last PN - PN window size, the last PN] (if the last PN changes);

[0419] If the PN of the received QoS data unit does not match the record entry corresponding to the current PN window (for example, the PN number is not within the range represented by [the last PN in the current record - PN window size, the last PN in the current record]), then discard the data unit.

[0420] ii) Allocate the replay counter according to the priority corresponding to <TA, RA, TID i / > and perform replay detection:

[0421] In this way, the replay counter can be allocated according to the following three items. The first item is TA, the second item is RA, and the third item is the priority corresponding to TID i / .

[0422] For a given receiver, only one replay counter is used for the QoS data corresponding to TID i (that is, the individually addressed QoS data unit). That is, for the case where the receiver is a STA, the replay counter is associated with the priority corresponding to <TA, RA, TID i / >, and for the case where the receiver is an MLD, the replay counter is associated with <the MLD MAC address to which the STA identified by TA belongs, the MLD MAC address to which the STA identified by RA belongs, TIDi or the corresponding priority>.

[0423] And, the data unit can be replayed and detected in one of the following ways:

[0424] (i) Replay detection based on the PN replay counter:

[0425] If the PN of the received QoS data unit is greater than the value of the replay counter associated with the priority corresponding to <TA, RA, TID i / > (for example, for MLD, the priority value or corresponding TID of the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the received data unit (such as MPDU); for non-MLD stations, the priority value or corresponding TID of the sender STA's MAC address, the receiver STA's MAC address (individual or group address), and the received data unit (such as MPDU)), then the data unit passes the replay detection.

[0426] Discard any data frame whose received PN is less than or equal to the value of the replay counter associated with the priority corresponding to <TA, RA, TID i / > (for example, for MLD, the priority value or corresponding TID of the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the received MPDU; for non-MLD stations, the priority value or corresponding TID of the sender STA's MAC address, the receiver STA's MAC address (individual or group address), and the received data unit (such as MPDU)).

[0427] (ii) Replay detection based on the PN window:

[0428] If the PN of the received QoS data unit matches the record entry corresponding to the current PN window (for example, the PN number is within the range represented by [the last PN recorded - PN window size, the last PN recorded]), then the data unit passes the replay detection. At the same time, the PN window is updated to [the last PN - PN window size, the last PN] (if the last PN changes);

[0429] If the PN of the received QoS data unit does not match the record entry corresponding to the current PN window (for example, the PN number is not within the range represented by [the last PN recorded - PN window size, the last PN recorded]), then discard the data unit.

[0430] Example 2:

[0431] For a specific TID, the data units are uniformly processed (that is, data units of different traffic flows or different markings are not distinguished).

[0432] The following describes the processing mechanism of the sender end of the embodiments of the present application:

[0433] (1) Do not mark the data units to distinguish the urgency of sending (or whether it is low latency).

[0434] For a specific TID, data units of different traffic flows or with different tags are not distinguished; data units corresponding to different traffic flows or with different transmission delay requirements (or transmission urgency) or other QoS requirements for a specific TID are not tagged.

[0435] (2) SN allocation and processing:

[0436] Allocate an SN counter or SN sequence according to <RA / Address 1, TID i>.

[0437] In this way, an SN counter or SN sequence can be allocated according to the following two items, the first item is RA / Address 1, and the second item is TID i.

[0438] For a given receiver, the QoS data corresponding to a specific TID (TID i) (i.e., individually addressed QoS data units) uses only one SN space and one counter. That is, for the case where the receiver is a STA, the counter is indexed by <Address 1, TID i>, and for the case where the receiver is a MLD, the counter is indexed by <the MLD MAC address attached to the STA identified by Address 1, TID i>. Here, Address 1 refers to the RA of the receiving station.

[0439] (3) PN allocation and processing:

[0440] Allocate a PN counter or PN sequence according to <TA, RA, TID i / corresponding priority>.

[0441] In this way, a PN counter or PN sequence can be allocated according to the following three items, the first item is TA, the second item is RA, and the third item is TID i / corresponding priority.

[0442] For a given receiver, the QoS data corresponding to TID i (i.e., individually addressed QoS data units) uses only one PN space and one counter (or PN sequence). That is, for the case where the receiver is a STA, the counter is associated with <TA, RA, TID i / corresponding priority>, and for the case where the receiver is a MLD, the counter is associated with <the MLD MAC address attached to the STA identified by TA, the MLD MAC address attached to the STA identified by RA, TIDi or corresponding priority>.

[0443] [[ID=2,7]]The following describes the receiver processing mechanism of the embodiments of the present application:

[0444] (1) SN processing and reordering:​​​​​In this way, the reordering buffer can be allocated and / or controlled according to the following two items: the first item is TA, and the second item is TID i.

[0447] At the receiver, a receive reordering buffer corresponding to each <TA, TID i> is allocated and controlled. The receive reordering buffer is responsible for reordering the data units corresponding to TA and TID (such as MSDU or A-MSDU). It is also responsible for identifying and discarding duplicate frames (i.e., frames with the same sequence number). And, the data unit can be delivered to the next MAC process (or passed to the upper layer) in one of the following ways:

[0448] (i) The data unit is finally delivered to the next MAC process (or passed to the upper layer) in the order of the received sequence numbers;

[0449] (ii) For the received data unit, even if there are data units with corresponding sequence numbers lower than that of this data unit that have not been received before (i.e., data units with earlier transmission order but not received), under the condition of meeting a given condition (such as the difference between the sequence number of the received and to-be-transmitted data unit and the sequence number of the un-received data unit (such as the earliest un-received data unit) is less than or equal to a pending threshold size, and / or the waiting time of the received and to-be-transmitted data unit in the buffer exceeds a time threshold), the data unit (such as MSDU or A-MSDU) marked with this specific flow identifier is still delivered to the next MAC process (or passed to the upper layer).

[0450] (2) PN processing and replay detection:

[0451] Allocate a replay counter according to <TA, RA, TID i / corresponding priority> and perform replay detection.

[0452] In this way, the replay counter can be allocated according to the following three items: the first item is TA, the second item is RA, and the third item is TID i / corresponding priority.

[0453] For a given receiver, only one replay counter is used for the QoS data corresponding to TID i (i.e., the separately addressed QoS data unit). That is, for the case where the receiver is a STA, the replay counter is associated with <TA, RA, TID i / corresponding priority>, and for the case where the receiver is an MLD, the replay counter is associated with <the MLD MAC address to which the STA identified by TA belongs, the MLD MAC address to which the STA identified by RA belongs, TIDi or corresponding priority>.

[0454] And, the data unit can be subjected to replay detection in one of the following ways:

[0455] (i) Replay detection based on the PN replay counter:

[0456] If the PN of the received QoS data unit is greater than the value of the replay counter associated with the priority corresponding to <TA, RA, TID i / > (for example, for MLD, use the priority value or corresponding TID of the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the received data unit (such as MPDU); for non-MLD stations, use the priority value or corresponding TID of the sender STA's MAC address, the receiver STA's MAC address (individual or group address), and the received data unit (such as MPDU)), then the data unit passes the replay detection.

[0457] Discard any received data frame whose PN is less than or equal to the value of the replay counter associated with the priority corresponding to <TA, RA, TID i / > (for example, for MLD, use the priority value or corresponding TID of the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the received MPDU; for non-MLD stations, use the priority value or corresponding TID of the sender STA's MAC address, the receiver STA's MAC address (individual or group address), and the received data unit (such as MPDU)).

[0458] (ii) Replay detection based on the PN window:

[0459] If the PN of the received QoS data unit matches the record entry corresponding to the current PN window (for example, the PN number is within the range represented by [the last PN recorded - PN window size, the last PN recorded]), then the data unit passes the replay detection. At the same time, the PN window is updated to [the last PN - PN window size, the last PN] (if the last PN changes);

[0460] If the PN of the received QoS data unit does not match the record entry corresponding to the current PN window (for example, the PN number is not within the range represented by [the last PN recorded - PN window size, the last PN recorded]), then discard the data unit.

[0461] The following is based on the above embodiments to illustrate some implementation manners of the present application:

[0462] For a specific TID, mark or indicate the data unit that needs to be sent urgently (or low-latency sent) in the data unit header to distinguish between urgently sent data units and non-urgently sent data units.

[0463] For example, an urgent transmission indication field is added to the control field of a data unit to indicate the urgency of sending the data unit: When the value of the urgent transmission indication field is 1, it indicates that the data unit is a data unit that needs to be sent urgently; when the value of the urgent transmission indication field is 0, it indicates that the data unit is a data unit that is not sent urgently. When a data unit does not carry the urgent transmission indication field, it is considered that the data unit is a data unit that is not sent urgently.

[0464] For a specific TID (such as TIDi), the corresponding flow ID is further marked or indicated in the data unit header to distinguish data units from different service flows under the same TID. For example, a flow ID value of 1 indicates that the data unit corresponds to the service flow with flow ID 1 under TIDi.

[0465] For example, a "differentiated transmission indication" control subfield may be added to the A-Control subfield of the HE variant HT Control field. The A-Control subfield of the HE variant HT Control field includes a control list subfield of variable length and a padding field of variable length (the length may also be 0). The "control list" subfield includes one or more "control" subfields; the "control ID" subfield indicates the type of information carried in the "control information" subfield, and the length of the "control information" subfield is fixed for each value of the "control ID" subfield. The control ID subfield value of the "differentiated transmission indication" control subfield can be used to indicate an "urgent transmission indication" control subfield.

[0466] Table 1 is an example of a control ID subfield value provided in an embodiment of the present application:

[0467] Table 1

[0468] In Table 1, the Control ID subfield value is 10 (or other values, such as 1, 11, 0, 100, or 1000), indicating a distinguished send indication, and the corresponding Control Information subfield length is 8 bits (or other length values, such as 0, 2, 4, or 16 bits). It should be noted that Table 1 shows the Control ID subfield values ​​corresponding to the distinguished send indication. In other embodiments, Table 1 may also contain other Control ID subfield values, corresponding meanings, and Control Information subfield lengths.

[0469] It should be noted that, in other embodiments, Table 1 may only include the control ID value and meaning, or may only include the control ID value and the length of the control information subfield, or may only include the meaning and the length of the control information subfield.

[0470] Optionally, the control subfield may include an identifier corresponding to the urgent transmission indication (for example, the identifier corresponding to the urgent transmission indication may include a "control ID" subfield corresponding to the urgent transmission indication), a flow identifier, and a reserved field; wherein the length of the identifier corresponding to the urgent transmission indication may be 0 or other lengths or variable lengths; the length corresponding to the flow identifier may be 0 or other lengths or variable lengths; the length corresponding to the reserved field may be 0 or other lengths or variable lengths. Optionally, the other lengths or variable lengths may be any bit greater than or equal to 1.

[0471] The following describes SN processing and duplicate detection and recovery:

[0472] Because MAC-level acknowledgments and retransmissions are incorporated into the protocol, a frame may be received multiple times. Duplicate frame filtering is facilitated by including a sequence control field (consisting of a sequence number and a fragment number) in data, management, and extension frames, a TID subfield in the QoS Control field in QoS data frames, and / or a "Distinguished Transmission Indication" control subfield in the HT Control field (HE variant) in QoS data frames.

[0473] The sending STA shall support the applicable sequence number space (SNS) defined in Table 2, which is an example of the sending STA sequence number space.

[0474] Table 2

[0475] It should be noted that, in other embodiments, Table 2 may include only SNS2 or SNS9. In other embodiments, Table 2 may also include other sequence number space identifiers. In other embodiments, Table 2 may include any one, any two, or any three of the sequence number space identifier, sequence number space, application to, and multiplicity.

[0476] Applicability is defined by the "Apply To" column. The Multiplicity column indicates whether the sequence number space contains a single counter or multiple counters, identifying any indexes in the latter case. For a non-MLD transmitting STA, the counter used for its individually addressed QoS data can be indexed by <Address 1, TID, Flow ID, or Data Unit Tag>. For an MLD-attached transmitting STA, the counter used for its individually addressed QoS data can be indexed by <MLD MAC address, TID, Flow ID, or Data Unit Tag to which the STA identified by Address 1 is attached>.

[0477] The following describes an embodiment of data unit processing that distinguishes data units and uses replay detection based on PN replay counter:

[0478] 1) Sender processing mechanism:

[0479] (1) Data unit marking:

[0480] Mark data units corresponding to different traffic flows or different transmission delay requirements (or transmission urgency) or other QoS requirements for a specific TID to distinguish data units with different traffic flows or different transmission delay requirements.

[0481] (2) SN allocation and processing:

[0482] Allocate an SN counter or SN sequence according to <RA / Address 1, TID i, flow identifier or data unit mark>.

[0483] For a given receiver, the QoS data corresponding to a specific TID (such as TID i) (i.e., individually addressed QoS data units) can use one or more SN spaces and one or more counters. For example, for the SN space of a specific individually addressed QoS data unit, in the case where the receiver is a STA, the counter is indexed by <Address 1, TID i, flow identifier or data unit mark>, and in the case where the receiver is an MLD, the counter is indexed by <MLD MAC address attached to the STA identified by Address 1, TID i, flow identifier or data unit mark>. Here, Address 1 refers to the RA of the receiving station.

[0484] (3) PN allocation and processing:

[0485] Allocate a PN counter or PN sequence according to <TA, RA, TID i or corresponding priority, flow identifier or data unit mark>.

[0486] For a given receiver, the QoS data corresponding to a specific TID (such as TID i) (i.e., individually addressed QoS data units) can use one or more PN spaces and one or more counters (or PN sequences), that is, in the case where the receiver is a STA, the replay counter is associated with <TA, RA, TID i or corresponding priority, flow identifier or data unit mark>, and in the case where the receiver is an MLD, the counter is associated with <MLD MAC address attached to the STA identified by TA, MLD MAC address attached to the STA identified by RA, TIDi or corresponding priority, flow identifier or data unit mark>.

[0487] (4) Data unit processing mechanism in the send buffer or queue:

[0488] At the sending end, for a specific TID, it is necessary to preferentially send the data units corresponding to the low-latency traffic flow (or latency-sensitive traffic flow) in the transmission queue, or the data units with a high urgency level or that need to be sent preferentially. For example, in the transmission queue, if there are data units corresponding to the newly entered low-latency traffic flow in the queue, even if there are data units corresponding to non-low-latency traffic flows at the head of the current queue, the sending order of the data units in the transmission queue is reordered, and the data units corresponding to the low-latency traffic flow are scheduled to the head of the transmission queue for preferential sending.

[0489] 2) Receiver processing mechanism:

[0490] (1) SN processing and reordering:

[0491] i) Allocate and / or control the reordering buffer according to <TA, TID i, flow identifier or data unit tag>.

[0492] At the receiving end, allocate a receiving reordering buffer for each <TA, TID i, flow identifier or data unit tag> and control it. The receiving reordering buffer is responsible for reordering the MSDU or A-MSDU corresponding to <TA, TID i, flow identifier or data unit tag>. At the same time, it is also responsible for identifying and discarding duplicate frames (i.e., frames with the same sequence number). And the data unit can be passed to the next MAC process (or passed to the upper layer) in the following way:

[0493] The data units are finally passed to the next MAC process (or passed to the upper layer) in the order of the received sequence numbers.

[0494] (2) PN processing and replay detection:

[0495] Allocate a replay counter according to <TA, RA, TID i or the corresponding priority, flow identifier or data unit tag> and perform replay detection.

[0496] For a given receiver, the QoS data (i.e., individually addressed QoS data units) corresponding to a specific TID (such as TID i) can use one or more replay counters. That is, for the case where the receiver is a STA, the replay counter is associated with <TA, RA, TID i or the corresponding priority, flow identifier or data unit tag>, and for the case where the receiver is an MLD, the replay counter is associated with <the MLD MAC address to which the STA identified by TA belongs, the MLD MAC address to which the STA identified by RA belongs, TIDi or the corresponding priority, flow identifier or data unit tag>.

[0497] And replay detection of data units can be performed using PN replay counter-based replay detection:

[0498] If the PN of the received QoS data unit is greater than the value of the replay counter associated with <TA, RA, TID i or the corresponding priority, flow identifier or data unit tag> (for example, for MLD, the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the priority value or corresponding TID of the received data unit (such as MPDU), and the flow identifier or data unit tag; for non-MLD stations, the MAC address of the sending STA, the MAC address of the receiving STA (individual or group address), and the priority value or corresponding TID of the received data unit (such as MPDU), and the flow identifier or data unit tag), then the data unit passes the replay detection.

[0499] Discard any received data frame whose PN is less than or equal to the value of the replay counter associated with <TA, RA, TID i or the corresponding priority, flow identifier or data unit tag> (for example, for MLD, the sender MLD MAC address, the receiver MLD MAC address (individual or group address), and the priority value or corresponding TID of the received MPDU and the flow identifier or data unit tag; for non-MLD stations, the MAC address of the sending STA, the MAC address of the receiving STA (individual or group address), and the priority value or corresponding TID of the received data unit (such as MPDU), and the flow identifier or data unit tag).

[0500] The following describes an implementation manner of data unit processing that does not distinguish data units and uses PN window-based replay detection: <>

[0501] 1) Sender processing mechanism:

[0502] (1) Do not mark the data units with different levels of urgency (or whether they are low latency):

[0503] For a specific TID, do not distinguish data units of different traffic flows or different tags; do not mark data units of different traffic flows or different sending latency requirements (or sending urgency) or other QoS requirements corresponding to the specific TID.

[0504] (2) SN assignment and processing: <>

[0505] Allocate an SN counter or SN sequence according to <RA / Address 1, TID i>.

[0506] For a given recipient, only one SN space and one counter are used for the QoS data corresponding to a specific TID (TID i) (i.e., the separately addressed QoS data unit). That is, for the case where the recipient is a STA, the counter is indexed by <address 1, TID i>, and for the case where the recipient is a MLD, the counter is indexed by <the MLD MAC address to which the STA identified by address 1 belongs, TID i>. Here, address 1 refers to the RA of the receiving station.

[0507] (3) PN allocation and processing:

[0508] Allocate a PN counter or PN sequence according to <TA, RA, TID i or the corresponding priority>.

[0509] For a given recipient, only one PN space and one counter (or PN sequence) are used for the QoS data corresponding to TID i (i.e., the separately addressed QoS data unit). That is, for the case where the recipient is a STA, the counter is associated with <TA, RA, TID i or the corresponding priority>, and for the case where the recipient is a MLD, the counter is associated with <the MLD MAC address to which the STA identified by TA belongs, the MLD MAC address to which the STA identified by RA belongs, TID i or the corresponding priority>.

[0510] 2) Receiver processing mechanism:

[0511] (1) SN processing and reordering:

[0512] Allocate and / or control the reordering buffer according to <TA, TID i>.

[0513] At the receiver, allocate and control a receive reordering buffer for each <TA, TID i>. The receive reordering buffer is responsible for reordering the data units corresponding to TA and TID (such as MSDU or A-MSDU). It is also responsible for identifying and discarding duplicate frames (i.e., frames with the same sequence number). And the data units can be delivered to the next MAC process (or passed to the upper layer) in the following way.

[0514] For the received data unit, even if there are data units with lower sequence numbers corresponding to the same sequence number that have not been received before (i.e., data units that are earlier in the transmission order but have not been received), under the condition that a given condition is met (such as the difference between the sequence number of the received and to-be-transmitted data unit and the sequence number of the unreceived data unit (such as the earliest unreceived data unit) is less than or equal to a pending threshold size, and / or the waiting time of the received and to-be-transmitted data unit in the buffer exceeds a time threshold), still deliver the data unit (such as MSDU or A-MSDU) marked with the specific flow identifier to the next MAC process (or passed to the upper layer).

[0515] (2) PN processing and replay detection:

[0516] Allocate a replay counter according to <TA, RA, TID i or the corresponding priority> and perform replay detection.

[0517] For a given receiver, only one replay counter is used for the QoS data corresponding to TID i (i.e., the individually addressed QoS data unit). That is, for the case where the receiver is a STA, the replay counter is associated with <TA, RA, TID i or the corresponding priority>, and for the case where the receiver is a MLD, the replay counter is associated with <the MLD MAC address attached to the STA identified by TA, the MLD MAC address attached to the STA identified by RA, TIDi or the corresponding priority>.

[0518] Moreover, replay detection of data units can be performed using PN window-based replay detection:

[0519] If the PN of the received QoS data unit matches the record entry corresponding to the current PN window (for example, the PN number is within the range represented by [the last PN in the current record - PN window size, the last PN in the current record]), then the data unit passes the replay detection. At the same time, the PN window is updated to [the last PN - PN window size, the last PN] (if the last PN changes);

[0520] If the PN of the received QoS data unit does not match the record entry corresponding to the current PN window (for example, the PN number is not within the range represented by [the last PN in the current record - PN window size, the last PN in the current record]), then discard the data unit.

[0521] The mechanism of sending data units in sequence adopted by this application for the Wi-Fi MAC layer will cause the head-of-line blocking problem, which is not conducive to the fast transmission of data units with low-latency transmission requirements. The present invention proposes a data unit communication method based on in-order / out-of-order processing to solve the head-of-line blocking problem, enabling data units with low-latency transmission requirements to be transmitted quickly.

[0522] It should be noted that this application illustrates the in-order / out-of-order transmission mechanism in a single basic service set (BSS) scenario and a multi-link operation scenario. The solution in this application is also applicable to the in-order / out-of-order communication mechanism in a multi-AP cooperation scenario.

[0523] The preferred embodiments of the present application are described in detail above in conjunction with the accompanying drawings. However, the present application is not limited to the specific details in the above embodiments. Within the technical concept of the present application, the technical solution of the present application can be subjected to a variety of simple modifications, and these simple modifications all fall within the scope of protection of the present application. For example, the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present application will no longer describe the various possible combinations separately. For another example, the various different embodiments of the present application can also be arbitrarily combined, as long as they do not violate the idea of ​​the present application, they should also be regarded as the contents disclosed in the present application. For another example, under the premise of no conflict, the various embodiments and / or the technical features in each embodiment described in the present application can be arbitrarily combined with the prior art, and the technical solution obtained after the combination should also fall within the scope of protection of the present application.

[0524] It should also be understood that in the various method embodiments of the present application, the sequence numbers of the above-mentioned processes do not imply a precedence in 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 the present application. In addition, in the embodiments of the present application, the terms "downlink," "uplink," and "sidelink" are used to indicate the transmission direction of signals or data, where "downlink" is used to indicate the first direction of transmission of signals or data from a site to a user equipment in a cell, "uplink" is used to indicate the second direction of transmission of signals or data from a user equipment in a cell to a site, and "sidelink" is used to indicate the third direction of transmission of signals or data from user equipment 1 to user equipment 2. For example, "downlink signal" indicates that the transmission direction of the signal is the first direction. In addition, in the embodiments of the present application, the term "and / or" is merely a description of the association relationship between associated objects, indicating that three relationships can exist. Specifically, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0525] FIG8 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application. As shown in FIG8 , the communication device 800 includes:

[0526] The communication unit 802 is configured to send a first data unit; the first data unit includes one or more of the following: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, and a first packet number PN;

[0527] The first SN and / or the first PN are determined according to one or more of the following:

[0528] The first RA, the first TA, the first TID, the first priority, the first mark, whether out-of-order transmission is performed, and the out-of-order transmission mode.

[0529] In some embodiments, the communication device 800 may further include a determining unit configured to determine the first data unit.

[0530] In some embodiments, the first mark is used to indicate that the first data unit is urgently sent, or to indicate that the first data unit is non-urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit.

[0531] In some embodiments, the communication device 800 may further include a distribution unit.

[0532] In some embodiments, the allocating unit is configured to: allocate an SN counter or an SN sequence, and / or determine the first SN according to one or more of the following: the first RA, the first TID, and the first tag.

[0533] In some embodiments, the allocation unit is further used to: when the receiving party includes a non-MLD receiving station STA, allocate an SN counter or SN sequence, and / or determine the first SN according to one or more of the following: the first RA, the first TID, and the first tag of the receiving STA.

[0534] In some embodiments, the allocating unit is further configured to: when the receiving party includes a receiving multi-link device (MLD), allocate an SN counter or an SN sequence, and / or determine the first SN based on one or more of the following: a receiving MLD media access control MAC address to which the receiving STA identified by the first RA is attached, the first TID, and the first tag.

[0535] In some embodiments, the quality of service (QoS) data corresponding to the first RA and / or the first TID may be one or more of the following: one or more SN spaces, one or more SN counters, or one or more SN sequences.

[0536] In some embodiments, the allocating unit is configured to: allocate an SN counter or an SN sequence according to the first RA and the first TID, and / or determine the first SN.

[0537] In some embodiments, the allocating unit is further configured to: when the receiving side includes a non-MLD receiving STA, allocate an SN counter or an SN sequence and / or determine the first SN according to the first RA and the first TID of the receiving STA.

[0538] In some embodiments, the allocating unit is further configured to: when the receiving side includes a receiving MLD, allocate an SN counter or an SN sequence and / or determine the first SN according to the receiving MLD MAC address to which the receiving STA identified by the first RA is attached and the first TID.

[0539] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: an SN space, an SN counter, and an SN sequence.

[0540] In some embodiments, the allocating unit is configured to: allocate a PN counter or a PN sequence, and / or determine the first PN according to one or more of the following: the first TA, the first RA, the first TID, the first priority, and the first tag.

[0541] In some embodiments, the allocation unit is further configured to: when the receiving party includes a non-MLD receiving STA, allocate a PN counter or a PN sequence, and / or determine the first PN according to one or more of the following: the first TA, the first RA of the receiving STA, the first TID, the first priority, and the first tag.

[0542] In some embodiments, the allocating unit is further configured to: when the receiving side includes a receiving MLD, allocate a PN counter or a PN sequence, and / or determine the first PN according to one or more of the following: a transmitting MLD MAC address to which the transmitting STA identified by the first TA is attached, a receiving MLD MAC address to which the receiving STA identified by the first RA is attached, the first TID, the first priority, and the first tag.

[0543] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: one or more PN spaces, one or more PN counters, and one or more PN sequences.

[0544] In some embodiments, the allocating unit is configured to: allocate a PN counter or a PN sequence, and / or determine the first PN according to the first TA, the first RA, and the first TID or the first priority.

[0545] In some embodiments, the allocation unit is further used to: when the receiving side includes a non-MLD receiving STA, allocate a PN counter or a PN sequence, and / or determine the first PN according to the first TA, the first RA of the receiving STA, and the first TID or the first priority.

[0546] In some embodiments, the allocation unit is further configured to: when the receiving side includes a receiving MLD, allocate a PN counter or a PN sequence, and / or determine the first PN, based on the transmitting MLD MAC address to which the transmitting STA identified by the first TA is attached, the receiving MLD MAC address to which the receiving STA identified by the first RA is attached, and the first TID or the first priority.

[0547] In some embodiments, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: a PN space, a PN counter, and a PN sequence.

[0548] In some embodiments, the communication unit 802 is further configured to: send a second data unit after sending the first data unit;

[0549] wherein, in the transmission queue, the position of the second data unit is before the position of the first data unit;

[0550] The first mark is used to indicate that the first data unit is urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit;

[0551] The second data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a second tag, a second SN, and a second PN;

[0552] The second mark is used to indicate that the second data unit is sent non-urgently, or to indicate the second urgency or second delay requirement for sending the second data unit, the first urgency is greater than the second urgency, and the first delay requirement is more urgent than the second delay requirement.

[0553] In some embodiments, the first data unit further includes a first tag; the communication unit 802 is further configured to: send a third data unit after sending the first data unit;

[0554] wherein, in the transmission queue, the position of the third data unit is before the position of the first data unit;

[0555] The first mark is used to indicate that the first data unit is urgently sent, or to indicate a first urgency level or a first delay requirement for sending the first data unit;

[0556] The third data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a third SN, and a third PN.

[0557] In some embodiments, the first flag and / or the first TID are included in a high throughput HT control field of the first data unit.

[0558] In some embodiments, the HT Control field corresponds to a high-efficiency HE variant, and the first flag and / or the first TID are included in a control subfield of an A-Control subfield of the HT Control field.

[0559] In some embodiments, one or more of the first data unit, the second data unit, and the third data unit are included in one or more data units;

[0560] Each of the one or more data units includes one of the following: data frame, data packet, QoS data, media access control protocol data unit MPDU, media access control service data unit MSDU, MSDUs, aggregated-media access control service data unit A-MSDU, A-MSDUs, media access control management protocol data unit MMPDU.

[0561] FIG9 is a schematic diagram of the structure of another communication device provided in an embodiment of the present application. As shown in FIG9 , the communication device 900 includes:

[0562] The communication unit 902 is configured to receive one or more data units; each data unit in at least some of the data units includes one or more of the following: a sender address TA, a receiver address RA, a flow identifier TID, a priority, a tag, a sequence number SN, and a packet number PN;

[0563] The SN and / or PN included in each data unit is determined according to one or more of the following:

[0564] TA, RA, TID, priority, tag, out-of-order transmission, out-of-order transmission mode.

[0565] In some embodiments, the communication device 900 may further include a determining unit configured to determine that each data unit includes one or more of the following: TA, RA, TID, priority, tag, SN, and PN.

[0566] In some embodiments, the mark included in each data unit is used to indicate that each data unit is urgently sent, or indicates that each data unit is non-urgently sent, or indicates the urgency or delay requirement of sending each data unit.

[0567] In some embodiments, the communication device 900 may further include a distribution unit.

[0568] In some embodiments, the allocation unit is used to: allocate and / or control a receive reordering buffer according to one or more of the following: TA, TID, and tag; the receive reordering buffer is used to reorder at least one data unit corresponding to one or more of the TA, TID, and tag.

[0569] In some embodiments, the allocating unit is configured to: allocate and / or control a receiving reordering buffer according to the TA and the TID; the receiving reordering buffer is configured to reorder at least one data unit corresponding to the TA and the TID.

[0570] In some embodiments, the communication unit 902 is further configured to: transmit the one or more data units to a next media access control MAC process or an upper layer according to an SN sequence of the one or more data units.

[0571] In some embodiments, the one or more data units include a fourth data unit; the communication unit 902 is further configured to: upon receiving the fourth data unit and not receiving at least one fifth data unit, deliver the fourth data unit to a next MAC process or an upper layer;

[0572] The SN corresponding to the fifth data unit is smaller than the SN corresponding to the fourth data unit, or the sending time of the fifth data unit is earlier than the sending time of the fourth data unit, or the time when the SN of the fifth data unit is filled is earlier than the time when the SN of the fourth data unit is filled;

[0573] The fourth data unit and the fifth data unit satisfy one or more of the following:

[0574] The priority of the TID included in the fourth data unit is higher than the priority of the TID included in the fifth data unit;

[0575] The fourth data unit includes a flag for indicating that the fourth data unit is urgently sent, and the fifth data unit includes a flag for indicating that the fifth data unit is non-urgently sent, or the fifth data unit does not include a flag;

[0576] The mark included in the fourth data unit is used to indicate the third urgency or third delay requirement for sending the fourth data unit, and the mark included in the fifth data unit is used to indicate the fourth urgency or fourth delay requirement for sending the fifth data unit, the third urgency is greater than the fourth urgency, and the third delay requirement is more urgent than the fourth delay requirement.

[0577] In some embodiments, the communication unit 902 is further configured to: upon receiving the fourth data unit and not receiving the at least one fifth data unit, deliver the fourth data unit to a next MAC process or an upper layer if one or more of the following conditions are met:

[0578] A difference between the SN of the fourth data unit and a minimum value of the SNs of the at least one fifth data unit is less than or equal to a first threshold;

[0579] The waiting time of the fourth data unit in the receiving reordering buffer is greater than or equal to a second threshold.

[0580] In some embodiments, the allocating unit is configured to allocate the replay counter according to one or more of the following: TA, RA, TID, priority, and tag.

[0581] In some embodiments, the allocating unit is further configured to: when the communication device includes a non-MLD receiving station STA, allocate the replay counter according to one or more of the following: TA, RA of the receiving STA, TID, priority, and tag.

[0582] In some embodiments, the allocating unit is further configured to: when the communication device includes a receiving multi-link device MLD, allocate the replay counter according to one or more of the following: a transmitting MLD MAC address to which the transmitting STA identified by the TA is attached, a receiving MLD MAC address to which the receiving STA identified by the RA is attached, a TID, a priority, and a tag.

[0583] In some embodiments, the QoS data corresponding to each RA and / or each TID uses one or more replay counters.

[0584] In some embodiments, the communication device 900 may further include a detection unit.

[0585] In some embodiments, the one or more data units include a sixth data unit; and the detection unit is configured to determine that the sixth data unit passes the replay detection when the PN of the received sixth data unit is greater than the value of the replay counter.

[0586] In some embodiments, the one or more data units include a seventh data unit; and the detection unit is configured to discard the seventh data unit if the PN of the received seventh data unit is less than or equal to the value of the replay counter.

[0587] In some embodiments, the one or more data units include an eighth data unit; a detection unit is used to: determine that the eighth data unit passes the replay detection when the received PN of the eighth data unit is within the range of the PN window; the starting PN of the PN window is the difference between the last PN currently recorded and the size of the PN window, and the ending PN of the PN window is the last PN currently recorded.

[0588] In some embodiments, the one or more data units include a ninth data unit; and the detection unit is configured to discard the ninth data unit if the received PN of the ninth data unit is not within a range of a PN window.

[0589] In some embodiments, when QoS data corresponding to RA and / or TID uses one or more of the following: a PN space, a PN counter, and a PN sequence, PN replay detection is performed according to the PN window.

[0590] In some embodiments, when QoS data corresponding to RA and / or TID is used, one or more of the following are used: multiple PN spaces, multiple PN counters, and multiple PN sequences. PN replay detection is performed based on the PN window, or PN replay detection is performed based on the PN replay counter.

[0591] In some embodiments, the tag and / or TID included in each data unit is included in a high throughput HT control field of each data unit.

[0592] In some embodiments, the HT Control field corresponds to a high-efficiency HE variant, and the tag and / or TID included in each data unit is included in a control subfield of an A-Control subfield of the HT Control field.

[0593] In some embodiments, each of the one or more data units includes one of the following: a data frame, a data packet, QoS data, a media access control protocol data unit MPDU, a media access control service data unit MSDU, MSDUs, an aggregated-media access control service data unit A-MSDU, A-MSDUs, a media access control management protocol data unit MMPDU.

[0594] Those skilled in the art should understand that the relevant description of the above-mentioned communication device in the embodiment of the present application can be understood with reference to the relevant description of the communication method in the embodiment of the present application.

[0595] Figure 10 is a schematic structural diagram of a communication device provided in an embodiment of the present application. The communication device 1000 may include one of the following: a first device and a second device. The communication device 1000 shown in Figure 10 may include a processor 1010, a memory 1020, and a transceiver 1030. The processor 1010 is used to call and run the computer program stored in the memory 1020, and the processor 1010 and the transceiver 1030 are combined to enable the communication device 1000 to implement the method described in any one or more of the above embodiments. For example, the processor 1010 is used to call and run the computer program stored in the memory 1020, so that the first device executes the method described in any one or more of the above embodiments. For example, the processor 1010 is used to call and run the computer program stored in the memory 1020, so that the second device executes the method described in any one or more of the above embodiments.

[0596] Optionally, the memory 1020 may be a separate device independent of the processor 1010 , or may be integrated into the processor 1010 .

[0597] In some embodiments, as shown in FIG. 10 , the processor 1010 may control the transceiver 1030 to communicate with other devices. Specifically, the processor 1010 may send information or data to other devices, or receive information or data sent by other devices.

[0598] The transceiver 1030 may include a transmitter and a receiver. The transceiver 1030 may further include an antenna, and the number of antennas may be one or more.

[0599] In some embodiments, the communication device 1000 may specifically be the first device of the embodiment of the present application, and the communication device 1000 may implement the corresponding processes implemented by the first device in each method of the embodiment of the present application. For the sake of brevity, they will not be repeated here.

[0600] In some embodiments, the communication device 1000 may specifically be the second mobile device of the embodiment of the present application, and the communication device 1000 may implement the corresponding processes implemented by the second mobile device in each method of the embodiment of the present application. For the sake of brevity, they will not be repeated here.

[0601] An embodiment of the present application further provides a computer storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the communication method in any embodiment of the present application.

[0602] In some embodiments, the computer-readable storage medium can be applied to the first device or the second device in the embodiments of the present application, and the computer program enables the computer to execute the corresponding processes implemented by the first device or the second device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0603] Figure 11 is a schematic structural diagram of a chip according to an embodiment of the present application. The chip 1100 shown in Figure 11 includes a processor 1110. The processor 1110 is used to call and run a computer program from a memory to implement the method in any embodiment of the present application.

[0604] In some embodiments, as shown in FIG11 , the chip 1100 may further include a memory 1120. The processor 1110 may call and execute a computer program from the memory 1120 to implement the method in the embodiment of the present application.

[0605] The memory 1120 may be a separate device independent of the processor 1110 , or may be integrated into the processor 1110 .

[0606] In some embodiments, the chip 1100 may further include an input interface 1130. The processor 1110 may control the input interface 1130 to communicate with other devices or chips, and specifically, may obtain information or data sent by other devices or chips.

[0607] In some embodiments, the chip 1100 may further include an output interface 1140. The processor 1110 may control the output interface 1140 to communicate with other devices or chips, and specifically, may output information or data to other devices or chips.

[0608] In some embodiments, the chip can be applied to the first device in the embodiments of the present application, and the chip can implement the corresponding processes implemented by the first device in each method of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0609] In some embodiments, the chip can be applied to the second mobile device in the embodiments of the present application, and the chip can implement the corresponding processes implemented by the second mobile device in each method of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0610] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0611] An embodiment of the present application also provides a computer program product, which includes a computer storage medium, the computer storage medium storing a computer program, and the computer program including instructions that can be executed by at least one processor. When the instructions are executed by the at least one processor, the communication method in any embodiment of the present application is implemented.

[0612] In some embodiments, the computer program product can be applied to the first device and the second device in the embodiments of the present application, and the computer program instructions enable the computer to execute the corresponding processes implemented by the first device and the second device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0613] Optionally, the computer program product in the embodiments of the present application may also be referred to as a software product in other embodiments.

[0614] An embodiment of the present application further provides a computer program, which enables a computer to execute the communication method in any embodiment of the present application.

[0615] In some embodiments, the computer program can be applied to the first device and the second device in the embodiments of the present application. When the computer program runs on the computer, the computer executes the corresponding processes implemented by the first device and the second device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.

[0616] The processor, communication device or chip of the embodiment of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above-mentioned method embodiment can be completed by the integrated logic circuit of the hardware in the processor or the instruction in the form of software. The above-mentioned processor, communication device or chip may include any one or more of the following integrations: general-purpose processor, application-specific integrated circuit (ASIC), digital signal processor (DSP), digital signal processing device (DSPD), programmable logic device (PLD), field programmable gate array (FPGA), central processing unit (CPU), graphics processing unit (GPU), embedded neural network processor (neural-network processing units, NPU), controller, microcontroller, microprocessor, programmable logic device, discrete gate or transistor logic device, discrete hardware component. Each method, step and logic block diagram disclosed in the embodiment of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.

[0617] It is understood that the memory or computer storage medium in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0618] It should be understood that the above-mentioned memory or computer storage medium is exemplary but not restrictive. For example, the memory in the embodiments of the present application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM RAM (DR RAM), etc. In other words, the memory in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memory.

[0619] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.

[0620] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0621] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

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

[0623] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0624] In any embodiment of the present application, the time interval, time period, duration range, duration or time window, etc. may include all endpoint times, or may include part of the endpoint time (for example, including the left endpoint time but not the right endpoint time, or including the right endpoint time but not the left endpoint time), or may not include the endpoint time.

[0625] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, a first device or a second device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0626] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A communication method, the method comprises: A first device sends a first data unit; The first data unit includes one or more of the following: a first recipient address RA, a first sender address TA, a first flow identifier TID, a first priority, a first flag, a first sequence number SN, a first packet number PN; Wherein, the first SN and / or the first PN are determined according to one or more of the following: The first RA, the first TA, the first TID, the first priority, the first flag, whether out-of-order transmission is performed, and the out-of-order transmission mode.

2. The method according to claim 1, wherein the first flag is used to indicate that the first data unit is for urgent transmission, or indicate that the first data unit is for non-urgent transmission, or indicate the first urgency level or the first delay requirement for the transmission of the first data unit.

3. The method according to claim 1 or 2, the method further comprises: The first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: the first RA, the first TID, the first flag.

4. The method according to claim 3, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: the first RA, the first TID and / or the first flag, comprises: In the case where the recipient includes a receiving station STA that is not an MLD, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: the first RA of the receiving STA, the first TID, the first flag; and / or, In the case where the recipient includes a receiving multi-link device MLD, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to one or more of the following: the media access control MAC address of the receiving MLD to which the receiving STA identified by the first RA belongs, the first TID, the first flag.

5. The method according to any one of claims 1 to 4, the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: one or more SN spaces, one or more SN counters, one or more SN sequences.

6. The method according to any one of claims 1 to 3, the method further comprises: The first device allocates an SN counter or an SN sequence, and / or determines the first SN according to the first RA and the first TID.

7. The method according to claim 6, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to the first RA and the first TID, comprises: In the case where the recipient includes a receiving station STA that is not an MLD, the first device allocates an SN counter or an SN sequence, and / or determines the first SN according to the first RA and the first TID of the receiving STA; and / or, When the receiving party includes a receiving MLD, the first device allocates an SN counter or an SN sequence based on the receiving MLD MAC address to which the receiving STA affiliated with the first RA identifier belongs and the first TID, and / or determines the first SN.

8. The method according to any one of claims 1 to 7, wherein the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: an SN space, an SN counter, an SN sequence.

9. The method according to any one of claims 1 to 8, the method further comprises: The first device allocates a PN counter or a PN sequence based on one or more of the following, and / or determines the first PN: the first TA, the first RA, the first TID, the first priority, the first label.

10. The method according to claim 9, the first device allocates a PN counter or a PN sequence based on one or more of the following, and / or determines the first PN: the first TA, the first RA, the first TID, the first priority, the first label, comprises: When the receiving party includes a receiving STA that is not an MLD, the first device allocates a PN counter or a PN sequence based on one or more of the following, and / or determines the first PN: the first TA, the first RA of the receiving STA, the first TID, the first priority, the first label; and / or When the receiving party includes a receiving MLD, the first device allocates a PN counter or a PN sequence based on one or more of the following, and / or determines the first PN: the transmitting MLD MAC address to which the transmitting STA affiliated with the first TA identifier belongs, the receiving MLD MAC address to which the receiving STA affiliated with the first RA identifier belongs, the first TID, the first priority, the first label.

11. The method according to any one of claims 1 to 10, wherein the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: one or more PN spaces, one or more PN counters, one or more PN sequences.

12. The method according to any one of claims 1 to 9, the method further comprises: The first device allocates a PN counter or a PN sequence based on the first TA, the first RA, and the first TID or the first priority, and / or determines the first PN.

13. The method according to claim 12, the first device allocates a PN counter or a PN sequence or the first PN based on the first TA, the first RA, and the first TID or the first priority, comprises: When the receiving party includes a receiving STA that is not an MLD, the first device allocates a PN counter or a PN sequence based on the first TA, the first RA of the receiving STA, and the first TID or the first priority, and / or determines the first PN; and / or When the receiving party includes receiving the MLD, the first device allocates a PN counter or a PN sequence, and / or determines the first PN, based on the transmitting MLD MAC address to which the transmitting STA identified by the first TA belongs, the receiving MLD MAC address to which the receiving STA identified by the first RA belongs, and the first TID or the first priority.

14. The method according to any one of claims 1 to 13, wherein the QoS data corresponding to the first RA and / or the first TID adopts one or more of the following: a PN space, a PN counter, and a PN sequence.

15. The method according to any one of claims 1 to 14, after the first device transmits the first data unit, the method further includes: The first device transmits a second data unit; wherein, in the transmission queue, the position of the second data unit is before the position of the first data unit; The first flag is used to indicate that the first data unit is for urgent transmission, or indicate the first urgency level or the first delay requirement for transmitting the first data unit; The second data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a second flag, a second SN, and a second PN; The second flag is used to indicate that the second data unit is for non-urgent transmission, or indicate the second urgency level or the second delay requirement for transmitting the second data unit, the first urgency level is greater than the second urgency level, and the first delay requirement is more urgent than the second delay requirement.

16. The method according to any one of claims 1 to 14, after the first device transmits the first data unit, the method further includes: The first device transmits a third data unit; wherein, in the transmission queue, the position of the third data unit is before the position of the first data unit; The first flag is used to indicate that the first data unit is for urgent transmission, or indicate the first urgency level or the first delay requirement for transmitting the first data unit; The third data unit includes one or more of the following: the first RA, the first TA, the first TID, the first priority, a third SN, and a third PN.

17. The method according to any one of claims 1 to 16, wherein the first flag and / or the first TID are included in the high throughput HT control field of the first data unit.

18. The method according to claim 17, wherein the HT control field corresponds to an efficient HE variant, and the first flag and / or the first TID are included in the control sub-field of the A-Control sub-field of the HT control field.

19. The method according to any one of claims 1 to 18, wherein one or more of the first data unit, the second data unit, and the third data unit are included in one or more data units; Each of the one or more data units includes one of the following: a data frame, a data packet, QoS data, a Media Access Control Protocol Data Unit (MPDU), a Media Access Control Service Data Unit (MSDU), MSDUs, an Aggregate-Media Access Control Service Data Unit (A-MSDU), A-MSDUs, a Media Access Control Management Protocol Data Unit (MMPDU).

20. A communication method, the method comprises: A second device receives one or more data units; Each of at least some of the data units includes one or more of the following: a Transmitter Address (TA), a Receiver Address (RA), a Traffic Identifier (TID), a priority, a tag, a Sequence Number (SN), a Packet Number (PN); Wherein, the SN and / or PN included in each of the data units is determined according to one or more of the following: TA, RA, TID, priority, tag, whether out-of-order transmission occurs, and out-of-order transmission mode.

21. The method according to claim 20, wherein the tag included in each of the data units is used to indicate that each of the data units is for urgent transmission, or indicate that each of the data units is for non-urgent transmission, or indicate the urgency level or latency requirement of the transmission of each of the data units.

22. The method according to claim 20 or 21, the method further comprises: The second device allocates and / or controls a receive reordering buffer according to one or more of the following: TA, TID, tag; The receive reordering buffer is used to reorder at least one data unit corresponding to one or more of TA, TID, and tag.

23. The method according to any one of claims 20 to 22, the method further comprises: The second device allocates and / or controls a receive reordering buffer according to TA and TID; The receive reordering buffer is used to reorder at least one data unit corresponding to TA and TID.

24. The method according to any one of claims 20 to 23, the method further comprises: The second device delivers the one or more data units to the next Media Access Control (MAC) process or upper layer according to the SN order of the one or more data units.

25. The method according to any one of claims 20 to 23, the one or more data units include a fourth data unit; the method further comprises: In the case where the fourth data unit is received and at least one fifth data unit is not received, the second device delivers the fourth data unit to the next MAC process or upper layer; Wherein, the SN corresponding to the fifth data unit is less than the SN corresponding to the fourth data unit, or the transmission time of the fifth data unit is earlier than the transmission time of the fourth data unit, or the time for filling the SN of the fifth data unit is earlier than the time for filling the SN of the fourth data unit; The fourth data unit and the fifth data unit satisfy one or more of the following: The priority of the TID included in the fourth data unit is higher than the priority of the TID included in the fifth data unit; The flag included in the fourth data unit is used to indicate that the fourth data unit is for urgent transmission, and the flag included in the fifth data unit is used to indicate that the fifth data unit is for non-urgent transmission or the fifth data unit does not include a flag; The flag included in the fourth data unit is used to indicate the third urgency level or the third delay requirement for the transmission of the fourth data unit, and the flag included in the fifth data unit is used to indicate the fourth urgency level or the fourth delay requirement for the transmission of the fifth data unit, where the third urgency level is greater than the fourth urgency level, and the third delay requirement is more urgent than the fourth delay requirement.

26. The method according to claim 25, wherein when the second device receives the fourth data unit and does not receive at least one fifth data unit, the second device passes the fourth data unit to the next MAC process or the upper layer, including: When the second device receives the fourth data unit and does not receive the at least one fifth data unit, and meets one or more of the following conditions, the second device passes the fourth data unit to the next MAC process or the upper layer: The difference between the SN of the fourth data unit and the minimum value of the SNs of the at least one fifth data unit is less than or equal to the first threshold; The waiting time of the fourth data unit in the receive reordering buffer is greater than or equal to the second threshold.

27. The method according to any one of claims 20 to 26, the method further including: The second device allocates replay counters according to one or more of the following: TA, RA, TID, priority, flag.

28. The method according to claim 27, wherein the second device allocates replay counters according to one or more of the following: TA, RA, TID, priority, flag, including: When the second device includes a receiving station STA that is not an MLD, the second device allocates replay counters according to one or more of the following: TA, the RA of the receiving STA, TID, priority, flag; and / or, When the second device includes a receiving multi-link device MLD, the second device allocates replay counters according to one or more of the following: the sending MLD MAC address to which the sending STA affiliated with the TA belongs, the receiving MLD MAC address to which the receiving STA affiliated with the RA belongs, TID, priority, flag.

29. The method according to any one of claims 20 to 28, for the QoS data corresponding to each RA and / or each TID, one or more replay counters are used.

30. The method according to any one of claims 27 to 29, the one or more data units include a sixth data unit and / or a seventh data unit; the method further including: When the PN of the sixth data unit received by the second device is greater than the value of the replay counter, the second device determines that the sixth data unit passes the replay detection; and / or, In the case where the PN of the seventh data unit received by the second device is less than or equal to the value of the replay counter, discard the seventh data unit.

31. The method according to any one of claims 20 to 29, wherein the one or more data units include an eighth data unit and / or a ninth data unit; the method further comprises: In the case where the PN of the eighth data unit received by the second device is within the range of the PN window, the second device determines that the eighth data unit passes the replay detection; the starting PN of the PN window is the difference between the last PN recorded currently and the PN window size, and the ending PN of the PN window is the last PN recorded currently; and / or, In the case where the PN of the ninth data unit received by the second device is not within the range of the PN window, the second device discards the ninth data unit.

32. The method according to any one of claims 20 to 31, in the case where the QoS data corresponding to RA and / or TID adopts one or more of the following: one PN space, one PN counter, one PN sequence, the second device performs replay detection of PN according to the PN window.

33. The method according to any one of claims 20 to 31, in the case where the QoS data corresponding to RA and / or TID adopts one or more of the following: multiple PN spaces, multiple PN counters, multiple PN sequences, the second device performs replay detection of PN according to the PN window, or the second device performs replay detection of PN according to the PN replay counter.

34. The method according to any one of claims 20 to 33, wherein the tag and / or TID included in each data unit is included in the high throughput HT control field of each data unit.

35. The method according to claim 34, wherein the HT control field corresponds to an efficient HE variant, and the tag and / or TID included in each data unit is included in the control sub-field of the A-Control sub-field of the HT control field.

36. The method according to any one of claims 20 to 35, wherein each data unit in the one or more data units includes one of the following: a data frame, a data packet, QoS data, a media access control protocol data unit MPDU, a media access control service data unit MSDU, MSDUs, an aggregated-media access control service data unit A-MSDU, A-MSDUs, a media access control management protocol data unit MMPDU.

37. A communication device, comprising: a communication unit, configured to send a first data unit; The first data unit includes one or more of the following: a first receiver address RA, a first sender address TA, a first flow identifier TID, a first priority, a first tag, a first sequence number SN, a first packet number PN; wherein, the first SN and / or the first PN are determined according to one or more of the following: The first RA, the first TA, the first TID, the first priority, the first flag, whether out-of-order transmission is enabled, and the out-of-order transmission mode.

38. A communication device comprising: A communication unit configured to receive one or more data units; Each data unit in at least some of the data units includes one or more of the following: a sender address TA, a receiver address RA, a flow identifier TID, a priority, a flag, a sequence number SN, and a packet number PN; Wherein, the SN and / or PN included in each data unit are determined according to one or more of the following: TA, RA, TID, priority, flag, whether out-of-order transmission is enabled, and the out-of-order transmission mode.

39. A first device comprising: A processor, a memory, and a transceiver, The processor is configured to call and run a computer program stored in the memory, and the processor and the transceiver cooperate to enable the first device to implement the method according to any one of claims 1 to 19.

40. A second device comprising: A processor, a memory, and a transceiver, The processor is configured to call and run a computer program stored in the memory, and the processor and the transceiver cooperate to enable the second device to implement the method according to any one of claims 20 to 36.

41. A computer storage medium storing one or more programs that can be executed by one or more processors to implement the method according to any one of claims 1 to 34.

42. A chip comprising: A processor configured to call and run a computer program from a memory to implement the method according to any one of claims 1 to 36.

43. A computer program product comprising a computer storage medium storing a computer program, the computer program including instructions executable by at least one processor, and when the instructions are executed by the at least one processor, implementing the method according to any one of claims 1 to 36.

44. A computer program that causes a computer to execute the method according to any one of claims 1 to 36.

Citation Information

Patent Citations

  • Method and apparatus for ordering of protocol data unit delivery

    CN109716728A

  • Apparatus, system, and method of out-of-order delivery of wireless communication frames

    US20220116333A1

  • Receive reordering buffer control for latency sensitive traffic

    US20230199846A1

  • Communication method and communication apparatus for stream classification service

    WO2023131062A1

  • Communication method and device

    WO2023274082A1

Cited By

  • Wireless communication device and method for supporting block acknowledgement mechanism

    US20260113166A1