This application relates to the field of wireless communication technologies, and in particular, to a data transmission method and an apparatus.
Currently, in a Wi-Fi communication system, a node needs to transmit data based on the carrier sense multiple access (carrier sense multiple access, CSMA) protocol. In CSMA, a listen before talk (listen before talk, LBT) mechanism is introduced. An idea of CSMA in the LBT mechanism is: “Before sending data each time, a node first listens to whether a channel is idle. If the channel is not idle, the node does not send data. The node may send data only when the channel is idle, to avoid interrupting an ongoing transmission process of another device.”
In CSMA, the node further needs to perform a random backoff (backoff) process before sending data each time. However, there is a collision probability in a channel access manner based on CSMA random backoff, and after each collision, a backoff window is increased exponentially. In addition, more concurrent users lead to a higher collision probability and a longer access latency. Although Wi-Fi communication has good performance in terms of average latency, there is a possibility of a collision during access, resulting in a long tail latency of Wi-Fi communication.
Embodiments of this application provide a data transmission method and an apparatus, to reduce a possibility of a collision during single transmission and reduce a communication latency.
According to a first aspect, a data transmission method is provided. The method may be performed by a first device, or may be performed by a chip/chip system. In the method, the first device sends a first frame to a second device. The first device does not need to perform channel listening when sending the first frame. When detecting that a channel state is idle, the first device sends a second frame after waiting for first duration.
Based on this solution, the first device may send the first frame without performing channel listening. The first device may access a channel by using the first frame. When no data is transmitted on the channel, the first device may preempt the channel by using the first frame. When data is transmitted on the channel, the first frame may interrupt the data transmission. In addition, when detecting that the channel state is idle, the first device may send the second frame after waiting for the first duration, so that a frame loss caused by a collision of the second frame may be reduced or avoided.
In a possible implementation, the first duration is less than or equal to (point interframe space, PIFS). It may be understood that the PIFS may be a PIFS in a conventional technology, for example, 25 microseconds, or may be evolution of the conventional technology. Based on the foregoing solution, the first duration is less than or equal to the PIFS, so that waiting duration of the second device may be reduced, to reduce a latency of the second frame.
In a possible implementation, the first frame includes a first duration (duration) field, the first duration field indicates second duration, and the second frame is sent within the second duration. For example, a start time of the second duration may be a start time of the first frame, and an end time of the second duration may be a start time of the second frame. Optionally, a received address in the first frame is an address of the second device.
In a related technology, the duration field indicates duration of occupying the channel. Therefore, after receiving and parsing the duration field in the frame, another device does not transmit data within the duration indicated by the duration field. Therefore, based on the foregoing solution, the duration field is set to the second duration, so that a purpose of occupying the channel for the second duration may be achieved. In the second duration, another device does not access the channel to send data, so that reliability of the second frame may be improved, and a possibility of a frame loss caused by a collision of the second frame may be reduced.
In a possible implementation, the first device receives a third frame from a third device. The first device does not send an acknowledgement frame for the third frame. For example, before the first device sends the first frame, the first device may receive the third frame from the third device. If the first device does not send the acknowledgement frame for the third frame, a transmit end of the third frame considers that the third frame is lost, and re-accesses the channel after waiting for the acknowledgement frame times out. Therefore, an opportunity to send the second frame may be provided. In a possible scenario, the foregoing solution may interrupt a burst (burst) sequence of a greedy terminal.
In a possible implementation, the first frame may not need to be replied with an acknowledgement frame. For example, an acknowledgement frame indicator field indicates that the first frame does not need to be replied with an acknowledgement frame. Based on the foregoing solution, the first device may quickly preempt the channel by using the first frame that does not need to be replied with an acknowledgement frame. In addition, because the first frame does not need to be replied with an acknowledgement frame, a collision of the first frame with a frame that is being transmitted on the channel does not affect the first device.
In a possible implementation, the first frame includes a control frame, for example, a clear to send (clear to send, CTS) frame, or the first frame includes a data frame.
In a possible implementation, the received address in the first frame is an address of the first device. Based on this solution, because the received address in the first frame is the address of the first device, another device does not reply with an acknowledgement frame after receiving the first frame, so that the first frame is not replied with an acknowledgement frame.
In a possible implementation, after the first device sends the second frame, the first device receives an acknowledgement frame sent by the second device for the second frame. The first device receives a fourth frame sent by the second device. The second frame includes a second duration (duration) field, the second duration field indicates third duration, and the fourth frame is sent within the third duration.
In a related technology, the duration field indicates duration of occupying the channel. Therefore, after receiving and parsing the duration field in the frame, another device does not transmit data within the duration indicated by the duration field. Therefore, based on the foregoing solution, the duration field is set to the third duration, and in the third duration, a device other than the first device and/or a receive end of the second frame, that is, the second device, cannot access the channel to send data, so that the channel is reserved.
According to a second aspect, a communication apparatus (e.g. a first device) is provided, including a processing unit and a transceiver unit.
The transceiver unit is configured to send a first frame to a second device. The first device does not need to perform channel listening when sending the first frame. The processing unit is configured to detect a channel state. The transceiver unit is further configured to: when it is detected that the channel state is idle, send a second frame after waiting for first duration.
In a possible implementation, the first duration is less than or equal to a PIFS. It may be understood that the PIFS may be a PIFS in a conventional technology, for example, 25 microseconds, or may be evolution of the conventional technology.
In a possible implementation, the first frame includes a first duration (duration) field, the first duration field indicates second duration, and the second frame is sent within the second duration. For example, a start time of the second duration may be a start time of the first frame, and an end time of the second duration may be a start time of the second frame.
Optionally, a received address in the first frame is an address of the second device.
In a possible implementation, the transceiver unit is further configured to receive a third frame from a third device. The processing unit is further configured to determine not to send an acknowledgement frame for the third frame.
In a possible implementation, the first frame may not need to be replied with an acknowledgement frame. For example, an acknowledgement frame indicator field indicates that the first frame does not need to be replied with an acknowledgement frame.
In a possible implementation, the first frame includes a control frame, for example, a clear to send (clear to send, CTS) frame, or the first frame includes a data frame.
In a possible implementation, the received address in the first frame is an address of the first device.
In a possible implementation, the transceiver unit is further configured to receive an acknowledgement frame sent by the second device for the second frame. The transceiver unit is further configured to receive a fourth frame sent by the second device. The second frame includes a second duration (duration) field, the second duration field indicates third duration, and the fourth frame is sent within the third duration.
According to a third aspect, a communication apparatus is provided. The communication apparatus may be the communication apparatus in any possible implementation of the second aspect in the foregoing embodiment, or may be a chip disposed in the communication apparatus in any one of the second aspect. The communication apparatus includes a communication interface and a processor, and optionally, further includes a memory. The memory is configured to store a computer program, instructions, or data. The processor is coupled to the memory and the communication interface. When the processor reads the computer program, the instructions, or the data, the communication apparatus is enabled to perform the method performed by the first device in any possible implementation of the first aspect.
It should be understood that the communication interface may be implemented by using an antenna, a feeder, a codec, and the like in the communication apparatus. Alternatively, if the communication apparatus is a chip disposed in a network device or a terminal device, the communication interface may be an input/output interface of the chip, for example, an input/output pin. The communication apparatus may further include a transceiver, used by the communication apparatus to communicate with another device.
According to a fourth aspect, an embodiment of this application provides a chip system. The chip system includes a processor, may further include a memory, and is configured to implement the method performed by a communication apparatus in any possible implementation of the first aspect. In a possible implementation, the chip system further includes the memory, configured to store program instructions and/or data. The chip system may include a chip, or may include a chip and another discrete device.
According to a fifth aspect, this application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program or instructions, and when the computer program or instructions are run, the methods performed by the first device in the foregoing aspects are implemented.
According to a sixth aspect, a computer program product is provided. The computer program product includes computer program code or instructions, and when the computer program code or instructions are run, the methods performed by the first device in the foregoing aspects are performed.
According to a seventh aspect, a communication apparatus is provided. The communication apparatus includes units or modules configured to perform the methods in the foregoing aspects.
According to an eighth aspect, a chip system is provided, including a logic circuit and an input/output unit. The logic circuit is configured to perform the method performed by the first device in any possible implementation of the first aspect. The input/output unit is used by the first device to communicate with another apparatus, for example, a second device.
For the second aspect to the eighth aspect and beneficial effects of implementations of the second aspect to the eighth aspect, refer to descriptions of the method in the first aspect and beneficial effects of implementations of the first aspect.
“After” and “before” in embodiments of this application may be understood as a sequential relationship of sending times or a sequential relationship of receiving times. For example, that first information is after a first field may be understood as that a sending time of the first information is later than a sending time of the first field, or a receiving time of the first information is later than a receiving time of the first field. For another example, that first information is before a second field may be understood as that a sending time of the first information is earlier than a sending time of the second field, or a receiving time of the first information is earlier than a receiving time of the second field.
Embodiments of this application are applicable to a WLAN scenario, for example, applicable to the Institute of Electrical and Electronics Engineers (Institute of Electrical and Electronics Engineers, IEEE) 802.11 system standard, for example, 802.11a/b/g, 802.11n, 802.11ac, 802.11ax, or a next generation of 802.11ax, for example, the 802.11be standard, Wi-Fi 7, or extremely high throughput (extremely high throughput, EHT), 802.11ad, 802.11ay, 802.11bf, or a next generation of 802.11be, for example, Wi-Fi 8 or a next-generation standard. Alternatively, embodiments of this application are applicable to a wireless local area network system such as an internet of things (internet of things, IoT) network or a vehicle-to-everything (Vehicle to X, V2X) network.
The following uses an example in which embodiments of this application are applicable to a WLAN scenario. It should be understood that the WLAN develops from the 802.11a/g standard, and goes through 802.11n, 802.11ac, 802.11ax, and 802.11be that is currently being discussed. 802.11n may also be referred to as high throughput (high throughput, HT), 802.11ac may also be referred to as very high throughput (very high throughput, VHT), 802.11ax may also be referred to as high efficiency (high efficiency, HE) or Wi-Fi 6, 802.11be may also be referred to as EHT or Wi-Fi 7, and standards before HT, for example, 802.11a/b/g, may be collectively referred to as non-high throughput (Non-HT).
The access point may be an access point through which a terminal device (for example, a mobile phone) accesses a wired (or wireless) network, and is mainly deployed in a home, a building, and a campus, with a typical coverage radius ranging from dozens of meters to hundreds of meters. Certainly, the access point may alternatively be deployed outdoors. The access point is equivalent to a bridge that connects a wired network and a wireless network. A main function of the access point is to connect various wireless network clients together and then connect the wireless network to the Ethernet. Specifically, the access point may be a terminal device (for example, a mobile phone) or a network device (for example, a router) with a Wi-Fi chip. The access point may be a device that supports the 802.11be standard. Alternatively, the access point may be a device that supports a plurality of wireless local area network (wireless local area network, WLAN) standards of the 802.11 family, for example, 802.11ax, 802.11ac, 802.11ad, 802.11ay, 802.11n, 802.11g, 802.11b, 802.11a, and a next generation of 802.11be.
The station may be a wireless communication chip, a wireless sensor, a wireless communication terminal, or the like, and may also be referred to as a user. For example, the station may be a mobile phone, a tablet computer, a set-top box, a smart television set, a smart wearable device, a vehicle-mounted communication device, a computer, or the like that supports a Wi-Fi communication function. Optionally, the station may support the 802.11be standard. Alternatively, the station may support a plurality of wireless local area network (wireless local area network, WLAN) standards of the 802.11 family, for example, 802.11ax, 802.11ac, 802.11n, 802.11g, 802.11b, 802.11a, and a next generation of 802.11be.
For example, the access point and the station may be devices used in an internet of vehicles, internet of things nodes or sensors in an internet of things (IoT, internet of things), or the like, may be smart cameras, smart remote controls, or smart water/electricity meters in a smart home, or may be sensors in a smart city.
The AP and the STA in embodiments of this application may be an AP and a STA that are applicable to the IEEE 802.11 system standard. The AP is an apparatus that is deployed in a wireless communication network and that provides a wireless communication function for a STA associated with the AP. The AP may be used as a hub of the communication system, and is usually a network-side product that supports MAC and PHY of the 802.11 system standard, for example, may be a communication device such as a router, a gateway, a repeater, a communication server, a switch, or a bridge. Herein, for ease of description, the devices mentioned above are collectively referred to as an AP. The STA is usually a terminal product that supports media access control (media access control, MAC) and a physical layer (physical, PHY) of the 802.11 system standard, for example, a mobile phone or a notebook computer.
It may be understood that a first device in embodiments of this application may be an AP or a STA. Similarly, a second device in embodiments of this application may be an AP or a STA.
Currently, in a Wi-Fi communication system, a node (for example, an AP or a STA) needs to transmit data based on the carrier sense multiple access (carrier sense multiple access, CSMA) protocol. In CSMA, a listen before talk (listen before talk, LBT) mechanism is introduced. An idea of CSMA in the LBT mechanism is: “Before sending data each time, a node first listens to whether a channel is idle by using a clear channel assessment (clear channel assessment, CCA) technology. If the channel is not idle, the node does not send data. The node may send data only when the channel is idle, to avoid interrupting an ongoing transmission process of another device.”
In CSMA, the node further needs to perform a random backoff (backoff) process before sending data each time. Specifically, before sending the data, the node may randomly generate a random backoff count value based on a specified parameter. The node may listen to the channel in each slot (slot). If a channel state is idle, the node may perform random backoff, that is, the random backoff count value is decreased by 1. If the channel state is not idle, the random backoff count value is not decreased by 1. The node may send the data only when the random backoff count value is 0.
However, there is a collision probability in a channel access manner based on CSMA random backoff, and after each collision, a backoff window is increased exponentially, as shown in
Currently, low-latency and high-reliability scenarios have become new opportunities and growth points for WLAN products. For existing industrial scenarios, home gaming scenarios, or the like, latency requirements are increasingly high. In such scenarios, what people are concerned about is a tail latency. However, it is difficult to ensure a success rate of single transmission in Wi-Fi communication. To be specific, when a link layer is reliable, a collision of single transmission cannot be avoided, and therefore, a tail latency is caused because retransmission is required. Therefore, how to reduce the tail latency of Wi-Fi communication, that is, how to ensure reliability of single transmission, becomes particularly important.
To improve reliability of single transmission and reduce or avoid a data collision, data may be transmitted in the following two manners currently.
Manner 1: Data transmission of all nodes is managed and commanded by an AP, to avoid a collision and air interface contention. The AP allocates a time slice to each node, and each node transmits data based on the time slice. Refer to
However, the foregoing manner 1 is not applicable to most low-latency scenarios. For example, for a home network, neighbors cannot be required to use devices that are provided by a same vendor. Therefore, implementation is relatively difficult because all devices need to be provided by a same vendor.
Refer to
The EDCA parameters determine a probability of occupying a channel by each type of service packet, and may ensure that a high-priority service packet has a greater opportunity of occupying a channel than a low-priority service packet. Channel contention priorities of various service packets may be adjusted by adjusting and controlling the EDCA parameters of each service packet, to adjust latencies and throughput performance of different services.
In standard cases, the AIFSN is greater than or equal to 2. That is, random backoff can be started only after waiting in a queue for at least the AIFSN that is equal to a distributed interframe space (distributed interframe space, DIFS). DIFS=2×Duration of one slot (9 microseconds)+Duration of one short interframe space (16 microseconds). When a background service packet arrives at a background STA, a service packet is being sent on an air interface, that is, a current channel state is busy. In this case, for sending of the background STA, random backoff can be started only after the current service packet ends and duration in which a channel is idle reaches at least the DIFS=34 microseconds (us). After the random backoff ends, the background STA may send the background service packet.
A normal frame sequence space is a short interframe space (short interframe space, SIFS). Therefore, the AIFSN is usually not set to 0. If the AIFSN is set to 0, a service packet always collides with a frame sequence. Therefore, an extreme configuration of EDCA is that the AIFSN is set to 1, and a node does not perform random backoff. That is, when determining that duration in which a channel is idle reaches a point interframe space PIFS, the node sends a service packet. A purpose of preemption using the PIFS is to preempt a channel more quickly than other nodes, thereby reducing impact of an access latency.
Refer to
Although a PIFS waiting time is short and the AP may preferentially access the channel, the following two possible collisions may still occur:
When the AP sends a service packet of a high-priority service with the extreme configuration, for example, a low-latency service, the service packet is very prone to collide with a burst of the greedy terminal. Refer to
Therefore, it may be learned that even if the PIFS with the extreme configuration is used to preempt the channel, problems of a collision and long-time occupation of the channel cannot be avoided.
In view of this, embodiments of this application provide a data transmission method. In the method, a first device may send a first frame without performing channel listening. When detecting that a channel state is idle, the first device may send a second frame after waiting for first duration. In this solution, the first frame may be used to detect or preempt a channel. When data is transmitted on the channel, the first frame may interrupt the data transmission, and protect the second frame of a low-latency service, so that a frame loss caused by a collision of the second frame is reduced or avoided.
S701: A first device sends a first frame to a second device.
As described above, the first device does not need to perform channel listening when sending the first frame. In other words, the first device may send the first frame without determining whether a channel is idle. Optionally, the first device may perform channel listening when sending the first frame. For example, the first device may detect, through CCA, whether a channel state is idle. The first device may send the first frame when the channel state is idle. For example, the first device may send the first frame when duration in which the channel is idle reaches specified duration. The specified duration may be set to be less than a PIFS, for example, less than or equal to 25 microseconds, or the specified duration may be an SIFS, for example, 16 microseconds.
It may be understood that the first device may not send the first frame when the channel state is not idle.
In a possible implementation, the first frame may not need to be replied with an acknowledgement frame. For example, the first frame may be a control frame, for example, a clear to send (clear to send, CTS) frame.
Optionally, a received address in the first frame may indicate an address of the first device, for example, a MAC address of the first device, or indicate an address of the second device, for example, a MAC address of the second device. For example, the RA field in
It may be understood that the CTS frame shown in
For another example, the first frame may be a data frame. The data frame may include an acknowledgement frame indicator field (ACK policy), and the acknowledgement frame indicator field may indicate that there is no need to reply with an acknowledgement frame.
In the data frame shown in
Optionally, a received address in the first frame may indicate an address of the first device, for example, a MAC address of the first device, or indicate an address of the second device, for example, a MAC address of the second device. For example, the address 4 (address 4) field in
It may be understood that the data frame shown in
The first frame in this embodiment of this application may be one frame, or may be a frame sequence. The frame sequence may include a plurality of frames.
S702: When detecting that a channel state is idle, the first device sends a second frame after waiting for first duration.
The second frame in this embodiment of this application may be one frame, or may be a frame sequence. The frame sequence may include a plurality of frames. Optionally, the first device may detect, through CCA, whether the channel state is idle.
The second frame described above may be a data frame, that is, a data frame of a service of the first device, for example, a data frame of a low-latency service. The first duration may be predefined in a protocol or preconfigured, and is not specifically limited in this application. For example, the first duration may be set to be less than or equal to the PIFS, for example, less than or equal to 25 microseconds, or the first duration may be set to the SIFS, for example, 16 microseconds.
In S702, the first device may perform channel listening, and send the second frame after determining that the duration in which the channel is idle reaches the first duration. It may be understood that a manner in which the first device performs channel listening is not limited in this embodiment of this application.
Optionally, after a service such as a low-latency service arrives at the AP, the AP may send the first frame after waiting for specified duration, as shown in
Based on the foregoing solution, the first device does not need to perform channel listening when sending the first frame. Therefore, the first device may preempt the channel. When the channel state is idle, the first device may send the second frame after waiting for the first duration. Therefore, the first device may avoid a collision of the second frame, and reduce or avoid a loss of the second frame. When data is transmitted on the channel, the first frame may interrupt the data transmission, and protect the second frame of a low-latency service, so that a frame loss caused by a collision of the second frame is reduced or avoided.
Optionally, after a service such as a low-latency service arrives at the AP, the AP may send the first frame after waiting for specified duration, as shown in
Based on the foregoing solution, the first device sends the first frame when the channel state is idle, and therefore may preempt the idle channel. When the channel state is idle, the first device may send the second frame after waiting for the first duration. In this way, the first device may avoid a collision of the second frame, and reduce or avoid a loss of the second frame. When data is transmitted on the channel, the first frame may interrupt the data transmission, and protect the second frame of a low-latency service, so that a frame loss caused by a collision of the second frame is reduced or avoided.
In a possible case, the first frame may implement fast channel preemption. Refer to
Refer to
It may be understood that, in
It may be learned from
It may be learned from
Optionally, to protect the reliable transmission of the second frame, the first frame may include a first duration (duration) field. The first duration field may indicate second duration, and the second frame may be sent within the second duration. For example, as shown in
It may be learned from
In another possible case, assuming that a service packet is transmitted on an air interface, that is, when a channel state is busy, the first frame may interrupt the transmission of the service packet on the air interface. A greedy terminal is used as an example for description.
It should be noted that the preset duration may be predefined in a protocol or preconfigured. For example, the preset duration may be set to 50 microseconds. It may be understood that, when the AP sends the first frame without performing channel listening, transmission of a service packet on an air interface may be interrupted, as shown in
The embodiment shown in
A background STA 1 performs channel listening, and determines that a channel state is idle. Therefore, the background STA 1 may send a background service packet at a moment t2 after performing random backoff at a moment t1 after duration in which a channel is idle reaches a DIFS.
An AP sends a first frame at the moment t2. That is, the first frame collides with the background service packet sent by the background STA 1. Therefore, a background STA 2 cannot accurately receive the background service packet from the background STA 1, and does not send an acknowledgement frame to the background STA 1. Therefore, after waiting for an acknowledgement frame times out, the background STA 1 performs random backoff again to access the channel. In a time in which the background STA 1 waits for the acknowledgement frame, the AP may perform channel listening. Because no data is transmitted on the channel, the AP may determine that the channel state is idle. The AP may send a second frame after waiting for first duration. Optionally, a STA 3 may receive the second frame from the AP, and send an acknowledgement frame for the second frame to the AP after an SIFS.
After the STA 3 sends the acknowledgement frame to the AP, the background STA 1 may detect that the channel state is idle. Therefore, the background STA 1 may perform random backoff after the duration in which the channel is idle reaches the DIFS. At a moment t3, the random backoff is completed, and the interrupted background service packet is retransmitted. In the embodiment shown in
It may be learned from
In the embodiments shown in
A STA 2 may send a fourth frame, for example, a service packet of an uplink service, to the AP within the third duration. Optionally, the STA 2 may alternatively send an acknowledgement frame to the AP within the third duration.
A STA 2 may send a fourth frame, for example, a service packet of an uplink service, to the AP within the third duration. Optionally, the STA 2 may alternatively send an acknowledgement frame to the AP within the third duration.
It may be understood that the second frame may alternatively not need to be replied with an acknowledgement frame, as shown in
It may be learned from
It should be noted that the STAs in
With reference to accompanying drawings, the following describes in detail technical solutions provided in embodiments of this application. Refer to
Refer to
In an example, the first frame may include a first duration field, and the first duration field indicates second duration. When detecting that a channel state is idle, the AP may send a second frame after waiting for the PIFS.
Optionally, in the embodiment shown in
Refer to
Refer to
The AP performs channel listening after sending the first frame, and sends a second frame after the channel remains idle for the PIFS. Because the PIFS is less than preset duration for which the background STA waits, and waiting duration DIFS of another device is greater than the PIFS, collision-free transmission of the second frame may be ensured. It may be understood that, when the AP sends the first frame without performing channel listening, transmission of a service packet on an air interface may be interrupted, as shown in
Optionally, the AP may not send an ACK for a burst sequence. Refer to
The first frame includes a first duration field, and the first duration field indicates second duration. Therefore, after receiving the first frame, the background STA remains silent and does not access the channel within the second duration. The AP sends a second frame after the channel remains idle for the PIFS. Because a device other than the AP does not access the channel within the second duration, collision-free transmission of the second frame may be ensured.
Based on the embodiments shown in
Based on the solutions shown in
Refer to
Refer to
In an example, the first frame may include a first duration field, and the first duration field indicates second duration. When detecting that a channel state is idle, the AP1 may send a second frame after waiting for the PIFS.
It should be noted that, because the background STA is associated with the AP 2, the AP 1 cannot require the AP 2 not to send an ACK to the background STA.
Refer to
Based on the embodiments shown in
In the embodiments shown in
Refer to
The AP 1 performs channel listening after sending the first frame, and sends a second frame after the channel remains idle for the PIFS. Because the PIFS is less than preset duration for which the background STA waits, and waiting duration DIFS of another device is greater than the PIFS, collision-free transmission of the second frame may be ensured.
Optionally, the AP 1 may send the first frame after the background STA sends the background service packet. Refer to
The AP 1 performs channel listening after sending the first frame, and sends a second frame after the channel remains idle for the PIFS. Because the PIFS is less than preset duration for which the background STA waits, and waiting duration DIFS of another device is greater than the PIFS, collision-free transmission of the second frame may be ensured.
Based on the embodiments shown in
With reference to accompanying drawings, the following describes communication apparatuses, in embodiments of this application, configured to implement the foregoing methods. Therefore, all the foregoing content may be used in the following embodiments. Repeated content is not described again.
In some possible implementations, the communication apparatus 2700 can correspondingly implement the behavior and functions of the first device in the foregoing method embodiments. For example, the communication apparatus 2700 may be the first device, or may be a component (for example, a chip or a circuit) used in the first device. The transceiver unit 2720 may be configured to perform all receiving or sending operations performed by the first device in the embodiment shown in
The transceiver unit 2720 is configured to send a first frame to a second device. The first device does not need to perform channel listening when sending the first frame. The processing unit 2710 is configured to detect a channel state. The transceiver unit 2720 is further configured to: when it is detected that the channel state is idle, send a second frame after waiting for first duration.
For operations performed by the processing unit 2710 and the transceiver unit 2720, refer to the related descriptions in the foregoing method embodiments.
It should be understood that the processing unit 2710 in this embodiment of this application may be implemented by a processor or a processor-related circuit component, and the transceiver unit 2720 may be implemented by a transceiver, a transceiver-related circuit component, or a communication interface.
Based on a same concept, as shown in
Based on a same concept, as shown in
The communication apparatus 2900 may include at least one processor 2910. The processor 2910 is coupled to a memory. Optionally, the memory may be located inside the apparatus, or may be located outside the apparatus. For example, the communication apparatus 2900 may further include at least one memory 2920. The memory 2920 stores a necessary computer program, configuration information, a computer program or instructions, and/or data for implementing any one of the foregoing embodiments. The processor 2910 may execute the computer program stored in the memory 2920, to complete the method in any one of the foregoing embodiments.
The coupling in this embodiment of this application may be an indirect coupling or a communication connection between apparatuses, units, or modules in an electrical form, a mechanical form, or another form, and is used for information exchange between the apparatuses, the units, or the modules. The processor 2910 may operate in collaboration with the memory 2920. In this embodiment of this application, a specific connection medium between a transceiver 2930, the processor 2910, and the memory 2920 is not limited.
The communication apparatus 2900 may further include the transceiver 2930, and the communication apparatus 2900 may exchange information with another device by using the transceiver 2930. The transceiver 2930 may be a circuit, a bus, a transceiver, or any other apparatus that may be configured to exchange information, or is referred to as a signal transceiver unit. As shown in
In a possible implementation, the communication apparatus 2900 may be used in a first device. Specifically, the communication apparatus 2900 may be the first device, or may be an apparatus that can support the first device in implementing the functions of the first device in any one of the foregoing embodiments. The memory 2920 stores a necessary computer program, a computer program or instructions, and/or data for implementing the functions of the first device in any one of the foregoing embodiments. The processor 2910 may execute the computer program stored in the memory 2920, to complete the method performed by the first device in any one of the foregoing embodiments.
The communication apparatus 2900 provided in this embodiment may be used in a first device, to complete the method performed by the first device. Therefore, for technical effects that can be achieved by this embodiment, refer to the foregoing method embodiments. Details are not described herein again.
In this embodiment of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logical block diagrams disclosed in embodiments of this application. The general-purpose processor may be a microprocessor, any conventional processor, or the like. The steps of the methods disclosed with reference to embodiments of this application may be directly performed by a hardware processor, or may be performed by using a combination of hardware in a processor and a software module.
In this embodiment of this application, the memory may be a non-volatile memory, for example, a hard disk drive (hard disk drive, HDD) or a solid-state drive (solid-state drive, SSD), or may be a volatile memory (volatile memory), for example, a random access memory (random access memory, RAM). Alternatively, the memory may be any other medium that can be configured to carry or store expected program code in a form of an instruction or a data structure and that can be accessed by a computer, but is not limited thereto. The memory in this embodiment of this application may alternatively be a circuit or any other apparatus that can implement a storage function, and is configured to store a computer program, a computer program or instructions, and/or data.
Based on the foregoing embodiments, refer to
The following describes in detail an operation performed by the communication apparatus used in the first device or the second device.
In an optional implementation, the communication apparatus 3000 may be used in the first device, to perform the method performed by the first device. For example, the method may be specifically the method performed by the first device in the embodiment shown
The communication apparatus 3000 provided in this embodiment may be used in a first device, to complete the method performed by the first device. Therefore, for technical effects that can be achieved by this embodiment, refer to the foregoing method embodiments. Details are not described herein again.
Based on the foregoing embodiments, an embodiment of this application further provides a communication system. The communication system includes at least one communication apparatus used in a first device and at least one communication apparatus used in a second device. For technical effects that can be achieved by this embodiment, refer to the foregoing method embodiments. Details are not described herein again.
Based on the foregoing embodiments, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program or instructions. When the instructions are executed, the method performed by the first device or the method performed by the second device in any one of the foregoing embodiments is implemented. The computer-readable storage medium may include any medium that can store program code, for example, a USB flash drive, a removable hard disk drive, a read-only memory, a random access memory, a magnetic disk, or an optical disc.
To implement the functions of the communication apparatuses in
A person skilled in the art should understand that embodiments of this application may be provided as a method, a system, or a computer program product. Therefore, this application may use a form of hardware only embodiments, software only embodiments, or embodiments with a combination of software and hardware. In addition, this application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, a CD-ROM, an optical memory, and the like) that include computer-usable program code.
This application is described with reference to the flowcharts and/or block diagrams of the method, the device (system), and the computer program product according to embodiments of this application. It should be understood that a computer program or instructions may be used to implement each procedure and/or each block in the flowcharts and/or the block diagrams and a combination of a procedure and/or a block in the flowcharts and/or the block diagrams. The computer program or instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device to generate a machine, so that the instructions executed by the computer or the processor of the another programmable data processing device generate an apparatus for implementing a specified function in one or more procedures in the flowcharts and/or in one or more blocks in the block diagrams.
The computer program or instructions may alternatively be stored in a computer-readable memory that can indicate the computer or the another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specified function in one or more procedures in the flowcharts and/or in one or more blocks in the block diagrams.
The computer program or instructions may alternatively be loaded onto the computer or the another programmable data processing device, so that a series of operation steps are performed on the computer or the another programmable device to generate computer-implemented processing. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a specified function in one or more procedures in the flowcharts and/or in one or more blocks in the block diagrams.
It is clear that a person skilled in the art can make various modifications and variations to embodiments of this application without departing from the scope of embodiments of this application. In this case, this application is intended to cover these modifications and variations of embodiments of this application provided that they fall within the scope of the claims of this application and their equivalent technologies.
| Number | Date | Country | Kind |
|---|---|---|---|
| 202211132100.0 | Sep 2022 | CN | national |
This application is a continuation of International Application No. PCT/CN2023/116574, filed on Sep. 1, 2023, which claims priority to Chinese Patent Application No. 202211132100.0, filed on Sep. 16, 2022. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
| Number | Date | Country | |
|---|---|---|---|
| Parent | PCT/CN2023/116574 | Sep 2023 | WO |
| Child | 19080475 | US |