Method and apparatus for maintaining network allocation vector NAV timer
By sharing NAV timers for both primary and non-primary channels in Wi-Fi 8 networks and updating NAV values under specific conditions, the problem of a large number and high complexity of NAV timers is solved, achieving more efficient channel access and reduced power consumption.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-03
- Publication Date
- 2026-05-15
AI Technical Summary
In next-generation Wi-Fi 8 networks, how can sites effectively maintain NAV timers in PCA and NPCA modes to determine the busy/idle status of primary and non-primary channels, thereby reducing the number, complexity, and power consumption of NAV timers?
By updating the shared NAV timer when PPDUs received on the main channel and non-main channel meet specific conditions, the number of NAV timers is reduced, and the NAV value of the NAV timer is updated when necessary, so as to enable timely access when the channel is idle.
It reduces the maintenance complexity and power consumption of NAV timers, reduces the number of NAV timers, improves the efficiency of channel access, and reduces the packet loss rate.
Smart Images

Figure CN2025132201_15052026_PF_FP_ABST
Abstract
Description
Method and apparatus for maintaining a network allocation vector (NAV) timer
[0001] This application claims priority to Chinese Patent Application No. 202411580605.2, filed on November 6, 2024, entitled “Method and Apparatus for Maintaining a Network Allocation Vector NAV Timer”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to a method and apparatus for maintaining an NAV timer. Background Technology
[0003] Wireless local area network (WLAN) refers to a collective term for wireless networks covering a local area, with Wireless Fidelity (Wi-Fi) being a typical example. WLAN operates in unlicensed frequency bands, and its most well-known and dominant international standard is IEEE 802.11. The latest generation WLAN standard, IEEE 802.11be (considered the seventh generation of Wi-Fi, i.e., Wi-Fi 7), is expected to be officially released in 2024 or 2025. The next-generation WLAN standard, IEEE 802.11bn (considered the eighth generation of Wi-Fi, i.e., Wi-Fi 8), has also begun research and is planned for release in 2028. Currently, WLAN carries more than 50% of global Internet Protocol (IP) traffic and, along with cellular networks, has become a major wireless network both now and in the future.
[0004] A WLAN comprises one or more Basic Service Sets (BSS). Each BSS typically includes one access point (AP) and one or more non-AP stations (STAs), both of which can be referred to as stations (STAs). An AP is a station that provides network access services. For example, an access point is typically implemented in a wireless router, while a non-AP STA is typically implemented in a mobile phone or other terminal device. The physical layer packets transmitted by a station (AP or non-AP STA) over the air interface are called Physical Layer Protocol Data Units (PPDUs). A PPDU includes a preamble and a payload. The preamble or payload of a PPDU may contain information indicating the network allocation vector (NAV). The NAV is a duration indicating the length of time the sending station of the PPDU will need to continue occupying the channel from the end of the PPDU. The NAV timer is a countdown timer. When the NAV timer value is greater than 0, it indicates that the virtual carrier sensing result of the channel corresponding to the NAV timer is "channel busy". When the NAV timer value is equal to 0, it indicates that the virtual carrier sensing result of the channel corresponding to the NAV timer is "channel idle".
[0005] In next-generation Wi-Fi 8 networks, two channel access modes for WLAN are defined: (1) primary channel access (PCA) mode and (2) non-primary channel access (NPCA) mode. Primary channel access refers to the process by which a node in the network accesses the primary channel and obtains the right to use the channel. Non-primary channel access refers to the process by which a node in the network, while accessing the primary channel and obtaining the right to use the channel, if it detects a PPDU sent by a station in an overlapping basic service set (OBSS), it switches to non-primary channel access and obtains the right to use the channel according to certain rules. Currently, it is necessary to study how a station maintains a NAV timer when operating in PCA and NPCA modes, so as to determine the busy / idle status of the primary and non-primary channels based on the maintained NAV timer. Summary of the Invention
[0006] This application discloses a method and apparatus for maintaining NAV timers, which can reduce the number of NAV timers used by sites that support operation in NPCA and PCA modes, and reduce the complexity and power consumption of maintaining NAV timers.
[0007] In a first aspect, embodiments of this application provide a method for maintaining a network allocation vector (NAV) timer. This method is applied to a site and implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site determining that a first physical layer protocol data unit (PPDU) received on a non-primary channel satisfies a first condition. This first condition includes: a first duration indicated by the duration field in the first PPDU received by the site is greater than the site's current NAV value, or in other words, the first duration indicated by the duration field in the first PPDU is greater than the current NAV value of the site's first NAV timer; and updating the NAV value of the first NAV timer based on the first duration. When the site determines that a PPDU received on a non-primary channel does not satisfy the first condition, the site does not need to update the NAV value of the first NAV timer based on the duration field in the PPDU. When the station receives a second PPDU on the main channel, the station determines that the second PPDU received on the main channel satisfies a second condition. The second condition includes: the second duration indicated by the duration field in the second PPDU received by the station is greater than the station's current NAV value, or in other words, the second duration indicated by the duration field in the second PPDU is greater than the NAV value of the station's first NAV timer. Based on the second duration, the NAV value of the first NAV timer is updated. Since the first NAV timer is shared between the main channel and the non-main channel, the number of NAV timers used by stations supporting both NPCA and PCA modes can be reduced, and the complexity and power consumption of maintaining NAV timers can be reduced. When the station determines that the PPDU received on the main channel does not satisfy the second condition, it is not necessary to update the NAV value of the first NAV timer based on the duration field in the PPDU. The method of the first aspect is applied to scenarios where the station can switch between the main channel and the non-main channel. Or, the method of the first aspect is applied to scenarios where the station can switch between NPCA mode and PCA mode.
[0008] In one possible implementation, the first condition may also include one or more of the following: the first station is not the station holding the transmission opportunity (TXOP) associated with the first PPDU, and the first PPDU does not trigger the first station to respond immediately; the receiving address of the first PPDU is not equal to the address of the first station, such as the MAC address; thereby it can be determined that the non-primary channel is occupied by a station within the first station's BSS.
[0009] In one possible implementation, the second condition may also include one or more of the following: the first station is not the holding station of the TXOP associated with the second PPDU, and the second PPDU does not trigger the first station to respond immediately; the receiving address of the second PPDU is not equal to the MAC address of the first station; thus it can be determined that the main channel is occupied by a station within the first station's BSS.
[0010] In one possible implementation, the method further includes: the station determining that a third PPDU received on a non-primary channel satisfies a third condition, the third condition including: the third PPDU originates from an external basic service set (BSS) of the station or the station cannot determine whether the third PPDU originates from an external BSS or its own BSS; the duration field in the third PPDU indicates a third duration greater than the NAV value of the station's second NAV timer; based on the third duration, the NAV value of the second NAV timer is updated; thereby, the end time of the second NAV timer can be made the same as the end time when the non-primary channel is occupied by the station's external BSS, so that the non-primary channel can be accessed in a timely manner when it is idle.
[0011] In one possible implementation, the method further includes: the station determining that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or its own BSS; the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the station's third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated; thereby, the end time of the third NAV timer can be made the same as the end time when the main channel is occupied by the station's external BSS, so that the main channel can be accessed in a timely manner when the main channel is idle.
[0012] In one possible implementation, the method further includes: the site determining that the transmission channel of the third PPDU includes the main channel and the NAV value of the third NAV timer, which is longer than the site's third NAV timer, and the end time of the third NAV timer is the end time when the main channel is occupied by the site's external BSS; and updating the NAV value of the third NAV timer based on the third duration; thereby making the end time of the third NAV timer the same as the end time when the main channel is occupied by the site's external BSS, so as to access the main channel in a timely manner when the main channel is idle.
[0013] In one possible implementation, the method further includes: the station determining, based on the bandwidth information carried by the third PPDU, that the sending station of the third PPDU is operating on the main channel; after determining that the receiving station (or destination receiving station) indicated in the third PPDU does not contain the station, switching from the non-main channel to the main channel, thereby enabling a faster switch to the main channel for PPDU transmission; or, after determining that the receiving station indicated in the third PPDU contains the station, performing frame interaction with the sending station on the non-main channel; and after determining that no PPDU containing itself from the receiving station (or destination receiving station) is received within a preset time after completing frame interaction with the sending station of the third PPDU, switching from the non-main channel to the main channel, thereby enabling a faster switch to the main channel for PPDU transmission.
[0014] In one possible implementation, after switching from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0; the method further includes: the station receiving a PPDU from an external BSS on the primary channel; when the NAV value of the second NAV timer is less than or equal to the switching delay, switching from the primary channel to a non-primary channel, the switching delay characterizing the delay of switching from the non-primary channel to the primary channel; thus, the station can switch to a non-primary channel in a timely manner when or after the non-primary channel changes from busy to idle.
[0015] In one possible implementation, the method further includes: the site determining that the transmission channel of the fourth PPDU includes a non-primary channel and a fourth duration with an NAV value greater than that of the second NAV timer; updating the NAV value of the second NAV timer based on the fourth duration; thereby making the end time of the second NAV timer the same as the end time when the non-primary channel is occupied by the site's external BSS, so as to promptly access the non-primary channel when it is idle.
[0016] In one possible implementation, the method further includes: the station determining that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or the local BSS; the duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the station's third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated; after switching from the main channel to a non-main channel, the NAV value of the third NAV timer is updated from a first value to 0, and the NAV value of the station's fourth NAV timer is set to a first value or a first moment is recorded, the fourth NAV timer only has a countdown function, and the first moment is the moment when the station expects to switch to the main channel; thus, only two NAV timers need to be maintained, which can reduce the complexity and power consumption of maintaining NAV timers.
[0017] In one possible implementation, the method further includes: the station determining that it can complete the frame exchange of the fifth PPDU on a non-primary channel before the end of the third NAV timer, where the end of the third NAV timer is the end of the primary channel being occupied by the station's external BSS; and transmitting the fifth PPDU on the non-primary channel, thereby reducing the occurrence of PPDUs that cannot complete frame exchanges, i.e., reducing the packet loss rate. In other words, after determining that it cannot complete the frame exchange of the sixth PPDU on a non-primary channel before the end of the third NAV timer, the station does not transmit the sixth PPDU on the non-primary channel, but instead transmits the sixth PPDU on the primary channel.
[0018] In one possible implementation, determining that the frame interaction of the fifth PPDU can be completed before the end of the third NAV timer on the non-primary channel includes: the station determining that the frame interaction of the fifth PPDU can be completed before the end of the third NAV timer minus the handover delay on the non-primary channel, where the handover delay represents the delay of switching from the non-primary channel to the primary channel; thereby enabling a handover to the primary channel at the end of the third NAV timer minus the handover delay.
[0019] In one possible implementation, before determining that the frame interaction of the fifth PPDU can be completed on the non-primary channel before the end of the third NAV timer minus the handover delay, the method further includes: obtaining the TXOP on the non-primary channel; or, determining that the site's backoff counter is decremented to 0; thereby enabling a handover to the primary channel before the end of the primary channel being occupied by the site's external BSS.
[0020] In one possible implementation, after determining that the fifth condition is met, the station switches from the non-primary channel to the primary channel. The fifth condition includes any of the following: the current time is later than or equal to the second time; the current time is later than or equal to the third time; the end time of the station's second NAV timer is later than or equal to the second time; the end time of the second NAV timer is later than or equal to the third time; after obtaining the TXOP on the non-primary channel, the station determines that frame interaction cannot be completed before the second time; after obtaining the TXOP on the non-primary channel, the station determines that frame interaction cannot be completed before the third time; after the station's backoff counter is decremented to 0, the station determines that frame interaction cannot be completed before the second time; after the station's backoff counter is decremented to 0, the station determines that frame interaction cannot be completed before the third time; wherein, the second time is any of the following: the end time of the third NAV timer... The end time; the end time of the third NAV timer minus the handover delay; the end time of the third NAV timer minus the peer handover delay; the end time of the third NAV timer minus the larger of the handover delay and the peer handover delay; the handover delay represents the delay of switching from a non-primary channel to the primary channel, the peer handover delay represents the delay of the site's peer switching from a non-primary channel to the primary channel, the end time of the third NAV timer is the end time when the primary channel is occupied by the site's external BSS, the third time is the second time minus the first duration, the end time of the second NAV timer is the end time when the non-primary channel is occupied by the site's external BSS, and the first duration is greater than or equal to the short frame transmission duration; thus, switching to the primary channel in advance can reduce the chance of missing the update of the third NAV timer on the primary channel.
[0021] Secondly, this application provides another method for maintaining NAV timers. This method is applied to a site and implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site maintaining a first NAV timer and a third NAV timer corresponding to the main channel. The NAV values of the first and third NAV timers are used to determine the state of the main channel. The site also maintains a first NAV timer and a second NAV timer corresponding to a non-main channel. The NAV values of the first and second NAV timers are used to determine the state of the non-main channel. Since the main channel and non-main channels can share the first NAV timer, compared to maintaining two NAV timers on each channel, the number of NAV timers used by a site supporting both NPCA and PCA modes can be reduced, and the complexity and power consumption of maintaining NAV timers can be lowered. This second method is applied to scenarios where the site can switch between the main channel and non-main channels. Alternatively, it is applied to scenarios where the site can switch between NPCA and PCA modes. Maintaining NAV timers means setting the NAV value of the NAV timer and updating it when necessary. "When necessary" refers to meeting certain conditions. For example, when a PPDU received by a station on a non-primary channel satisfies the first condition described above, the NAV value of the first NAV timer is updated. As another example, when a PPDU received by a station on the primary channel satisfies the second condition described above, the NAV value of the first NAV timer is updated.
[0022] In one possible implementation, the station maintains a first NAV timer and a third NAV timer corresponding to the main channel, including: the station determining that a second PPDU received on the main channel satisfies a second condition, the second condition including: the second PPDU originates from the station's own BSS; the duration field in the second PPDU received by the station indicates a second duration greater than the station's current NAV value, i.e., the current NAV value of the first NAV timer; based on the second duration, the station updates the NAV value of the first NAV timer, thereby ensuring that the end time of the first NAV timer coincides with the end time when the main channel is occupied by the station's own BSS, so that in the main channel... When the main channel is idle, the station can promptly access it; or, the station determines that the fourth PPDU received on the main channel meets the fourth condition, which includes: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or its own BSS; the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the station's third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated, thereby ensuring that the end time of the third NAV timer is the same as the end time when the main channel is occupied by the station's external BSS, so that the station can promptly access the main channel when it is idle.
[0023] In one possible implementation, the station maintains a first NAV timer and a second NAV timer corresponding to the non-primary channel, including: the station determining that a first PPDU received on the non-primary channel satisfies a first condition, the first condition including: the first PPDU originates from the station's own BSS, and the duration field in the first PPDU received by the station indicates a first duration greater than the station's current NAV value; based on the first duration, the station updates the NAV value of the first NAV timer, thereby ensuring that the end time of the first NAV timer is the same as the end time when the non-primary channel is occupied by the station's own BSS, so as to allow timely access to the non-primary channel when it is idle. The non-primary channel; or, the station determines that the third PPDU received on the non-primary channel meets the third condition, the third condition including: the third PPDU comes from the station's external BSS or the station cannot determine whether the third PPDU comes from the station's external BSS or its own BSS, and the third duration field in the third PPDU indicates a third duration greater than the NAV value of the station's second NAV timer; based on the third duration, the NAV value of the second NAV timer is updated, thereby making the end time of the second NAV timer the same as the end time when the non-primary channel is occupied by the station's external BSS, so as to access the non-primary channel in a timely manner when the non-primary channel is idle.
[0024] Thirdly, embodiments of this application provide another method for maintaining an NAV timer. This method is applied to a site and is implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site determining that a third PPDU received on a non-primary channel satisfies a third condition, the third condition including: the third PPDU originates from an external Basic Service Set (BSS) of the site or the site cannot determine whether the third PPDU originates from an external BSS or the site's own BSS; the duration field in the third PPDU indicates a third duration greater than the NAV value of the site's second NAV timer; updating the NAV value of the second NAV timer based on the third duration; determining that the transmission channel of the third PPDU includes the primary channel and that the third duration is greater than the NAV value of the site's third NAV timer; the end time of the third NAV timer being the end time when the primary channel is occupied by the site's external BSS; updating the NAV value of the third NAV timer based on the third duration; thereby ensuring that the end time of the third NAV timer is the same as the end time when the primary channel is occupied by the site's external BSS, so that the primary channel can be accessed in a timely manner when it is idle.
[0025] In one possible implementation, the method further includes: the station determining that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or its own BSS, and the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of a third NAV timer; updating the NAV value of the third NAV timer based on the fourth duration; determining that the transmission channel of the fourth PPDU includes a non-main channel and that the fourth duration is greater than the NAV value of a second NAV timer; updating the NAV value of the second NAV timer based on the fourth duration; thereby enabling the end time of the second NAV timer to be the same as the end time when the non-main channel is occupied by the station's external BSS, so as to promptly access the non-main channel when the non-main channel is idle.
[0026] Fourthly, embodiments of this application provide another method for maintaining an NAV timer. This method is applied to a site and is implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site determining that a fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the site's own BSS; the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of a third NAV timer; updating the NAV value of the third NAV timer based on the fourth duration; determining that the transmission channel of the fourth PPDU includes a non-main channel and that the fourth duration is greater than the NAV value of a second NAV timer of the site, the end time of the second NAV timer being the end time when the non-main channel is occupied by the site's external BSS; updating the NAV value of the second NAV timer based on the fourth duration; thereby ensuring that the end time of the second NAV timer is the same as the end time when the non-main channel is occupied by the site's external BSS, so that the non-main channel can be accessed in a timely manner when it is idle.
[0027] Fifthly, embodiments of this application provide another method for maintaining an NAV timer. This method is applied to a site and is implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site determines that a PPDU received on the main channel satisfies a fourth condition. The fourth condition includes: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the current BSS; the duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the site's third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated; after switching from the main channel to a non-main channel, the NAV value of the third NAV timer is updated from a first value to 0, and the NAV value of the site's fourth NAV timer is set to the first value or a first moment is recorded. The fourth NAV timer only has a countdown function, and the first moment is the moment when the site expects to switch to the main channel. Thus, only two NAV timers need to be maintained, which can reduce the complexity and power consumption of maintaining NAV timers.
[0028] Sixthly, embodiments of this application provide a data transmission method. This method is applied to a station and is implemented by the station or a component on the station side. The following description uses a station implementation as an example. The method includes: the station determining that it can complete the frame interaction of the fifth PPDU on a non-primary channel before the end of the third NAV timer, where the end of the third NAV timer is the end of the primary channel being occupied by the station's external BSS; and transmitting the fifth PPDU on the non-primary channel. This reduces the occurrence of PPDUs that cannot complete frame interaction, thereby reducing packet loss rate and interference to other stations and its own power consumption.
[0029] For possible implementations of the method in the sixth aspect, please refer to the various possible implementations of the first aspect.
[0030] For the technical effects of the various possible implementations of the sixth aspect, please refer to the introduction of the technical effects of the various possible implementations of the first aspect.
[0031] Seventhly, embodiments of this application provide another channel switching method. This method is applied to a site and is implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site determining that a fifth condition is met, the fifth condition including any one of the following: the current time is later than or equal to a second time; the current time is later than or equal to a third time; the end time of the site's second NAV timer is later than or equal to the second time; the end time of the second NAV timer is later than or equal to the third time; after obtaining a TXOP on a non-primary channel, the site determines that frame interaction cannot be completed before the second time; after obtaining a TXOP on a non-primary channel, the site determines that frame interaction cannot be completed before the third time; after the site's backoff counter is decremented to 0, the site determines that frame interaction cannot be completed before the second time; after the site's backoff counter is decremented to 0, the site determines that frame interaction cannot be completed before the third time; wherein, the second time is any one of the following: the end time of the third NAV timer; the third NAV timer... The end time of the first NAV timer is the time after subtracting the handover delay; the end time of the third NAV timer is the time after subtracting the peer handover delay; the end time of the third NAV timer is the time after subtracting the larger of the handover delay and the peer handover delay; the handover delay represents the delay of switching from a non-primary channel to a primary channel, the peer handover delay represents the delay of the peer of the site switching from a non-primary channel to a primary channel, the end time of the third NAV timer is the end time when the primary channel is occupied by the site's external BSS, the third time is the time after subtracting the first duration from the second time, the end time of the second NAV timer is the end time when the non-primary channel is occupied by the site's external BSS, the first duration is greater than or equal to the short frame transmission duration; switching from a non-primary channel to a primary channel; this can reduce the chance of missing the update of the third NAV timer on the primary channel.
[0032] Eighthly, embodiments of this application provide another channel switching method. This method is applied to a site and is implemented by the site or a component on the site side. The following description uses a site implementation as an example. The method includes: the site receiving a third PPDU on a non-primary channel; determining, based on the bandwidth information carried by the third PPDU, that the sending site of the third PPDU is operating on the primary channel; and, after determining that a sixth condition is met, switching from the non-primary channel to the primary channel. The sixth condition includes at least one of the following: the receiving site (or destination receiving site) indicated in the third PPDU does not contain a site; the receiving site indicated in the third PPDU contains a site, and no PPDU containing itself has been received within a preset time after frame interaction with the sending site of the third PPDU; the TXOP of the sending site of the third PPDU ends; thereby, the switching to the primary channel can be completed more quickly so that PPDUs can be transmitted on the primary channel.
[0033] In one possible implementation, after switching from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0; the method further includes: the station receiving a PPDU from an external BSS on the primary channel; when the NAV value of the second NAV timer is less than or equal to the switching delay, switching from the primary channel to a non-primary channel, the switching delay characterizing the delay of switching from the non-primary channel to the primary channel; thus, the station can switch to a non-primary channel in a timely manner when or after the non-primary channel changes from busy to idle.
[0034] Ninthly, embodiments of this application provide a communication device that has the function of implementing the behavior described in the first aspect method embodiment. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device is a station. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the above functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the transceiver module is used to receive a first PPDU on a non-main channel; the processing module is used to determine that the first PPDU satisfies a first condition, the first condition including: a first duration indicated by a duration field in the first PPDU is greater than the current NAV value of the station, or in other words, the first duration indicated by a duration field in the first PPDU is greater than the current NAV value of the station's first NAV timer; and based on the first duration, updating the NAV value of the first NAV timer. The transceiver module is further configured to receive a second PPDU on the main channel; the processing module is further configured to determine that the second PPDU received on the main channel satisfies a second condition, the second condition including: the second duration indicated by the duration field in the second PPDU received by the station is greater than the current NAV value of the station, or in other words, the second duration indicated by the duration field in the second PPDU is greater than the NAV value of the station's first NAV timer; and update the NAV value of the first NAV timer based on the second duration.
[0035] In one possible implementation, the processing module is further configured to determine that the third PPDU received on a non-main channel satisfies a third condition, the third condition including: the third PPDU comes from an external BSS of the site or the site cannot determine whether the third PPDU comes from an external BSS or the local BSS of the site; the third duration field in the third PPDU indicates a third duration greater than the NAV value of the site's second NAV timer; and based on the third duration, update the NAV value of the second NAV timer.
[0036] In one possible implementation, the processing module is further configured to determine that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the site; the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the site's third NAV timer; and based on the fourth duration, update the NAV value of the third NAV timer.
[0037] In one possible implementation, the processing module is further configured to determine that the transmission channel of the third PPDU includes the main channel and the NAV value of the third NAV timer with a third duration longer than that of the site, wherein the end time of the third NAV timer is the end time when the main channel is occupied by the external BSS of the site; and update the NAV value of the third NAV timer based on the third duration.
[0038] In one possible implementation, the processing module is further configured to determine, based on the bandwidth information carried by the third PPDU, that the transmitting station of the third PPDU is operating on the main channel; after determining that the receiving station (or destination receiving station) indicated in the third PPDU does not contain a station, switch from the non-main channel to the main channel (i.e., switch the station from the non-main channel to the main channel); or, after determining that the receiving station indicated in the third PPDU contains a station, perform frame interaction with the transmitting station on the non-main channel through the transceiver module; and after determining that no PPDU containing itself from the receiving station (or destination receiving station) is received within a preset time after completing frame interaction with the transmitting station of the third PPDU, switch from the non-main channel to the main channel.
[0039] In one possible implementation, after switching from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0; the transceiver module is also used to receive PPDUs from the external BSS of the site on the primary channel; the processing module is also used to switch from the primary channel to a non-primary channel (i.e., switch the site from the primary channel to a non-primary channel) when the NAV value of the second NAV timer is less than or equal to the switching delay, and the switching delay characterizes the delay of switching from the non-primary channel to the primary channel.
[0040] In one possible implementation, the processing module is further configured to determine that the transmission channel of the fourth PPDU includes a non-master channel and that the fourth duration is greater than the NAV value of the second NAV timer; and to update the NAV value of the second NAV timer based on the fourth duration.
[0041] In one possible implementation, the processing module is further configured to determine that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the site; the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the site's third NAV timer; based on the fourth duration, update the NAV value of the third NAV timer; after switching from the main channel to a non-main channel, update the NAV value of the third NAV timer from a first value to 0, and set the NAV value of the site's fourth NAV timer to the first value or record a first moment, wherein the fourth NAV timer only has a countdown function, and the first moment is the moment when the site expects to switch to the main channel.
[0042] In one possible implementation, the processing module is further configured to determine whether the frame interaction of the fifth PPDU can be completed on the non-primary channel before the end of the third NAV timer, where the end of the third NAV timer is the end of the primary channel being occupied by the site's external BSS; the transceiver module is further configured to transmit the fifth PPDU on the non-primary channel.
[0043] In one possible implementation, the processing module is specifically used to determine whether the frame interaction of the fifth PPDU can be completed on the non-primary channel before the time after the end of the third NAV timer minus the handover delay, where the handover delay represents the delay of switching from the non-primary channel to the primary channel.
[0044] In one possible implementation, the processing module is also used to obtain the TXOP on the non-master channel; or, to determine that the backoff counter of the station is reduced to 0.
[0045] In one possible implementation, the processing module is further configured to switch from the non-primary channel to the primary channel after determining that a fifth condition is met. The fifth condition includes any one of the following: The current time is later than or equal to the second time; the current time is later than or equal to the third time; the end time of the station's second NAV timer is later than or equal to the second time; the end time of the second NAV timer is later than or equal to the third time; after the station obtains the TXOP on the non-primary channel, it determines that frame interaction cannot be completed before the second time; after the station obtains the TXOP on the non-primary channel, it determines that frame interaction cannot be completed before the third time; after the station's backoff counter is decremented to 0, it determines that frame interaction cannot be completed before the second time; after the station's backoff counter is decremented to 0, it determines that frame interaction cannot be completed before the second time. Frame interaction cannot be completed before the third time; wherein, the second time is any of the following: the end time of the third NAV timer; the end time of the third NAV timer minus the handover delay; the end time of the third NAV timer minus the peer handover delay; the end time of the third NAV timer minus the larger of the handover delay and the peer handover delay; the handover delay represents the delay of switching from a non-primary channel to a primary channel, the peer handover delay represents the delay of the peer of the station switching from a non-primary channel to a primary channel, the end time of the third NAV timer is the end time when the primary channel is occupied by the station's external BSS, the third time is the second time minus the first duration, the end time of the second NAV timer is the end time when the non-primary channel is occupied by the station's external BSS, and the first duration is greater than or equal to the short frame transmission duration.
[0046] For possible implementations of the communication device in the ninth aspect, please refer to the various possible implementations of the first aspect.
[0047] For the technical effects of the various possible implementations of the ninth aspect, please refer to the introduction of the technical effects of the various possible implementations of the first aspect.
[0048] Tenthly, embodiments of this application provide a communication device that has the function of implementing the behavior described in the second aspect of the method embodiments. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device is a station. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the above functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the processing module is used to maintain a first NAV timer and a third NAV timer corresponding to the main channel, the NAV values of the first and third NAV timers being used for determining the state of the main channel; and to maintain a first NAV timer and a second NAV timer corresponding to a non-main channel, the NAV values of the first and second NAV timers being used for determining the state of the non-main channel.
[0049] In one possible implementation, the transceiver module is configured to receive a second PPDU on the main channel; the processing module is further configured to determine that the second PPDU received on the main channel satisfies a second condition, the second condition including: the second PPDU originates from the site's local BSS, and the second duration indicated by the duration field in the second PPDU received by the site is greater than the site's current NAV value, i.e., the current NAV value of the first NAV timer; and update the NAV value of the first NAV timer based on the second duration; or, the transceiver module is configured to receive a fourth PPDU on the main channel; the processing module is further configured to determine that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU originates from the site's external BSS or the site cannot determine whether the fourth PPDU originates from the site's external BSS or local BSS, and the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the site's third NAV timer; and update the NAV value of the third NAV timer based on the fourth duration.
[0050] In one possible implementation, the transceiver module is configured to receive a first PPDU on a non-primary channel; the processing module is further configured to determine that the first PPDU received on the non-primary channel satisfies a first condition, the first condition including: the first PPDU originates from the site's local BSS, and the duration field in the first PPDU received by the site indicates a first duration greater than the site's current NAV value; and based on the first duration, update the NAV value of the first NAV timer; or, the transceiver module is configured to receive a third PPDU on a non-primary channel; the processing module is further configured to determine that the third PPDU received on the non-primary channel satisfies a third condition, the third condition including: the third PPDU originates from the site's external BSS or the site cannot determine whether the third PPDU originates from the site's external BSS or local BSS, and the duration field in the third PPDU indicates a third duration greater than the NAV value of the site's second NAV timer; and based on the third duration, update the NAV value of the second NAV timer.
[0051] For possible implementations of the communication device in the tenth aspect, please refer to the various possible implementations in the second aspect.
[0052] For the technical effects of the various possible implementations of the tenth aspect, please refer to the introduction of the technical effects of the various possible implementations of the second aspect.
[0053] Eleventhly, embodiments of this application provide a communication device that has the function of implementing the behavior described in the third aspect of the method embodiment. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device may be a station. The functions of the communication device may be implemented by hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the aforementioned functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the transceiver module is used to receive a third PPDU on a non-primary channel; the processing module is used to determine that the third PPDU received on the non-primary channel satisfies a third condition, the third condition including: the third PPDU comes from an external Basic Service Set (BSS) of the site or the site cannot determine whether the third PPDU comes from an external BSS or its own BSS; the duration field in the third PPDU indicates a third duration greater than the NAV value of the site's second NAV timer; based on the third duration, the NAV value of the second NAV timer is updated; it is determined that the transmission channel of the third PPDU includes the primary channel and the third duration is greater than the NAV value of the site's third NAV timer, the end time of the third NAV timer is the end time when the primary channel is occupied by the site's external BSS; based on the third duration, the NAV value of the third NAV timer is updated.
[0054] In one possible implementation, the processing module is further configured to determine that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the site; the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the third NAV timer; update the NAV value of the third NAV timer based on the fourth duration; determine that the transmission channel of the fourth PPDU includes a non-main channel and that the fourth duration is greater than the NAV value of the second NAV timer; and update the NAV value of the second NAV timer based on the fourth duration.
[0055] For possible implementations of the communication device in the eleventh aspect, please refer to the various possible implementations in the third aspect.
[0056] For the technical effects of the various possible implementations of the eleventh aspect, please refer to the introduction of the technical effects of the various possible implementations of the third aspect.
[0057] In a twelfth aspect, embodiments of this application provide a communication device that has the function of implementing the behavior described in the fourth aspect of the method embodiments. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device may be a station. The functions of the communication device may be implemented by hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the aforementioned functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the transceiver module is used to receive a fourth PPDU on the main channel; the processing module is used to determine that the fourth PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or its own BSS; the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of a third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated; it is determined that the transmission channel of the fourth PPDU includes a non-main channel and the fourth duration is greater than the NAV value of a second NAV timer of the site, the end time of the second NAV timer being the end time when the non-main channel is occupied by an external BSS of the site; based on the fourth duration, the NAV value of the second NAV timer is updated; thereby, the end time of the second NAV timer can be the same as the end time when the non-main channel is occupied by an external BSS of the site, so as to promptly access the non-main channel when the non-main channel is idle.
[0058] In a thirteenth aspect, embodiments of this application provide a communication device that has the functionality to implement the actions described in the fifth aspect of the method embodiments. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device may be a station. The functionality of the communication device can be implemented in hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the aforementioned functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the transceiver module is used to receive PPDUs on the main channel; the processing module is used to determine that the PPDU received on the main channel satisfies a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the site, and the fourth duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the site's third NAV timer; based on the fourth duration, the NAV value of the third NAV timer is updated; after switching from the main channel to a non-main channel, the NAV value of the third NAV timer is updated from a first value to 0, and the NAV value of the site's fourth NAV timer is set to the first value or a first moment is recorded, the fourth NAV timer only has a countdown function, and the first moment is the moment when the site expects to switch to the main channel; thus, only two NAV timers need to be maintained, which can reduce the complexity and power consumption of maintaining NAV timers.
[0059] In a fourteenth aspect, embodiments of this application provide a communication device that has the function of implementing the behavior described in the sixth aspect method embodiment. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device is a station. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the above functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the processing module is used to determine whether the frame interaction of the fifth PPDU can be completed on a non-main channel before the end of the third NAV timer, the end of the third NAV timer being the end of the main channel occupied by the station's external BSS; the transceiver module is used to transmit the fifth PPDU on the non-main channel.
[0060] For possible implementations of the communication device in the fourteenth aspect, please refer to the various possible implementations in the first aspect.
[0061] For the technical effects of the various possible implementations of the fourteenth aspect, please refer to the introduction of the technical effects of the various possible implementations of the first aspect.
[0062] In a fifteenth aspect, embodiments of this application provide a communication device that has the functionality to implement the actions described in the seventh aspect of the method embodiments. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device may be a station. The functionality of the communication device can be implemented in hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the aforementioned functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the processing module is configured to determine that a fifth condition is met, the fifth condition including any of the following: the current time is later than or equal to the second time; the current time is later than or equal to the third time; the end time of the station's second NAV timer is later than or equal to the second time; the end time of the second NAV timer is later than or equal to the third time; after the station obtains TXOP on a non-main channel, it determines that frame interaction cannot be completed before the second time; after the station obtains TXOP on a non-main channel, it determines that frame interaction cannot be completed before the third time; after the station's backoff counter is decremented to 0, it determines that frame interaction cannot be completed before the second time; after the station's backoff counter is decremented to 0, it determines that frame interaction cannot be completed before the third time; wherein the second time is any of the following: the third NAV timer... The end time of the third NAV timer; the end time of the third NAV timer minus the handover delay; the end time of the third NAV timer minus the peer handover delay; the end time of the third NAV timer minus the larger of the handover delay and the peer handover delay; the handover delay represents the delay of switching from a non-primary channel to a primary channel, the peer handover delay represents the delay of the peer of the station switching from a non-primary channel to a primary channel, the end time of the third NAV timer is the end time when the primary channel is occupied by the station's external BSS, the third time is the second time minus the first duration, the end time of the second NAV timer is the end time when the non-primary channel is occupied by the station's external BSS, the first duration is greater than or equal to the short frame transmission duration; switching from a non-primary channel to a primary channel; this can reduce the chance of missing the update of the third NAV timer on the primary channel. Transceiver module, used for transmitting and receiving PPDUs.
[0063] In a sixteenth aspect, embodiments of this application provide a communication device that has the functionality to implement the actions described in the seventh aspect of the method embodiments. The communication device may be a communication equipment, a component of a communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the communication equipment. For example, the communication device may be a station. The functionality of the communication device can be implemented in hardware or by hardware executing corresponding software, the hardware or software including one or more modules or units corresponding to the aforementioned functions. In one possible implementation, the communication device includes a transceiver module and a processing module, wherein: the transceiver module is used to receive a third PPDU on a non-main channel; the processing module is used to determine, based on the bandwidth information carried by the third PPDU, that the sending station of the third PPDU is operating on the main channel; after determining that a sixth condition is met, the device switches from the non-main channel to the main channel (i.e., switches the station from the non-main channel to the main channel), the sixth condition including at least one of the following: the receiving station (or destination receiving station) indicated in the third PPDU does not contain a station; the receiving station indicated in the third PPDU contains a station, and no PPDU containing itself from the receiving station (or destination receiving station) is received within a preset time after frame interaction with the sending station of the third PPDU; the TXOP of the sending station of the third PPDU ends; thereby, the device can switch to the main channel more quickly so that the PPDU can be transmitted on the main channel.
[0064] In one possible implementation, after switching from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0; the transceiver module is also used to receive PPDUs from external BSSs of the site on the primary channel; the processing module is also used to switch from the primary channel to a non-primary channel when the NAV value of the second NAV timer is less than or equal to the switching delay, wherein the switching delay characterizes the delay of switching from the non-primary channel to the primary channel.
[0065] In a seventeenth aspect, embodiments of this application provide another communication device, the communication device including one or more processors for processing data and / or signaling to enable the methods of any one of the first to eighth aspects described above to be implemented.
[0066] Optionally, the communication device further includes a memory that stores computer programs or instructions that, when executed by a processor, cause the communication device to perform the methods described in any of the first to eighth aspects above. For example, the communication device may be a chip, the processor may be a processing unit within the chip, and the memory may be a random access memory or cache within the chip.
[0067] In this embodiment of the application, during the execution of the above method, the process of sending information (or signals) can be understood as a process of outputting information based on a computer program or instruction of the processor. When outputting information, the processor outputs the information to the transceiver so that the transceiver can transmit it. After being output by the processor, the information may undergo further processing before reaching the transceiver. Similarly, when the processor receives input information, the transceiver receives the information and inputs it into the processor. Furthermore, after the transceiver receives the information, the information may undergo further processing before being input into the processor.
[0068] Unless otherwise specified, or unless it contradicts its actual function or internal logic in the relevant description, operations such as sending and / or receiving involved by the processor can generally be understood as processor-based computer program or instruction output.
[0069] In implementation, the processor described above can be a processor specifically designed to execute these methods, or it can be a processor that executes computer programs or instructions stored in memory to execute these methods, such as a general-purpose processor. For example, the processor can also be used to execute programs stored in memory, which, when executed, cause the communication device to perform the methods as shown in the first aspect or any possible implementation thereof.
[0070] In one possible implementation, the memory is located outside the aforementioned communication device. In another possible implementation, the memory is located inside the aforementioned communication device.
[0071] In one possible implementation, the processor and memory may be integrated into a single device; that is, the processor and memory may be integrated together.
[0072] In one possible implementation, the communication device further includes a transceiver for receiving or transmitting signals, etc.
[0073] In an eighteenth aspect, this application provides another communication device, which includes a processing circuit and an interface circuit, the interface circuit being used to acquire data or output data; the processing circuit being used to perform the method as described in any one of the first to eighth aspects above.
[0074] In a nineteenth aspect, this application provides a computer-readable storage medium storing a computer program that, when executed, causes a computer to perform the methods described in any of the first to eighth aspects above. The computer may be a website.
[0075] In a twentieth aspect, this application provides a computer program product comprising a computer program that, when executed, causes a computer to perform the methods described in any of the first to eighth aspects above. The computer may be a website.
[0076] In a twentieth aspect, this application provides a chip including a communication interface and a processor; the communication interface is used for signal transmission and reception of the chip; the processor is used to execute computer programs or instructions, causing a communication device including the chip to perform the method as described in any one of the first to eighth aspects above. Attached Figure Description
[0077] Figure 1 is a schematic diagram of an application scenario applicable to the embodiments of this application;
[0078] Figure 2 is a schematic diagram of a non-master channel access provided in an embodiment of this application;
[0079] Figure 3 is a flowchart of a method for maintaining an NAV timer provided in an embodiment of this application;
[0080] Figure 4 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0081] Figure 5A is a schematic diagram of an OBSS PPDU carrying bandwidth information received by a site on a non-primary channel according to an embodiment of this application;
[0082] Figure 5B is a schematic diagram of an OBSS PPDU carrying bandwidth information received by a site on the main channel according to an embodiment of this application;
[0083] Figure 6 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0084] Figure 7 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0085] Figure 8 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0086] Figure 9 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0087] Figure 10 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application;
[0088] Figure 11 is a flowchart of a data transmission method provided in an embodiment of this application;
[0089] Figure 12 is a schematic diagram of the latest moment when a station starts switching from a non-primary channel to a primary channel, according to an embodiment of this application.
[0090] Figure 13 is a flowchart of a channel switching method provided in an embodiment of this application;
[0091] Figure 14 is a flowchart of another channel switching method provided in an embodiment of this application;
[0092] Figure 15 is a schematic block diagram of the device 10 provided in an embodiment of this application;
[0093] Figure 16 is a schematic diagram of another device 20 provided in an embodiment of this application;
[0094] Figure 17 is a schematic diagram of a chip system 30 provided in an embodiment of this application. Detailed Implementation
[0095] The terms "first," "second," and various numerical designations (e.g., "#1," "#2," etc.) used in the specification, claims, and drawings of this application are only used to distinguish different objects and not to describe a specific order. It is understood that the various numerical designations involved in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers below does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0096] The term "embodiment" as used herein means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments. Some steps in the embodiments described herein can serve as an independent embodiment. In this application, the naming of messages (frames) is only used to distinguish different messages (frames) and should not be construed as limiting. That is, the name of any message or frame in this application can be replaced with other names, and this application does not impose any limitations.
[0097] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to and includes any or all possible combinations of one or more of the listed items. For example, “A and / or B” can mean: the presence of only A, the presence of only B, and the presence of both A and B, where A and B can be singular or plural. The term “multiple” as used in this application refers to two or more. In the textual description of this application, the character “ / ” generally indicates that the preceding and following objects are in an “or” relationship.
[0098] It is understood that in the various embodiments of this application, "B corresponding to A" means that there is a correspondence between A and B, and B can be determined based on A. However, it should also be understood that determining (or generating) B based on (or on) A does not mean that B is determined (or generated) solely based on (or on) A; B can also be determined (or generated) based on (or on) A and / or other information.
[0099] It should be understood that in this application, the indication includes direct indication (also known as explicit indication) and implicit indication. Direct indication information A refers to information A being included; implicit indication information A refers to information A being indicated through the correspondence between information A and information B, and through direct indication information B. The correspondence between information A and information B can be predefined, pre-stored, pre-burned, or pre-configured.
[0100] It should be understood that in this application, information C is used to determine information D, including both situations where information D is determined solely based on information C and situations where it is determined based on information C and other information. Furthermore, information C can also be used to determine information D indirectly, for example, where information D is determined based on information E, and information E is determined based on information C.
[0101] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0102] In this application, the names of the messages (or information) in the following processes are merely examples. As communication technology evolves, the names of the messages (or information, etc.) in the following processes may change. However, no matter how the names change, as long as their meaning is the same as the function or meaning of the messages (or information, etc.) in this application, they all fall within the protection scope of this application.
[0103] Furthermore, in the embodiments of this application, "network element A sends information A to network element B" can be understood as network element B being the destination of information A or an intermediate network element in the transmission path between the destination and network element B, which may include sending information directly or indirectly to network element B. "Network element B receives information A from network element A" can be understood as network element A being the source of information A or an intermediate network element in the transmission path between the source and network element A, which may include receiving information directly or indirectly from network element A. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be understood in a similar way and will not be elaborated further here.
[0104] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0105] The technical solutions provided in this application can be applied to wireless local area network (WLAN) scenarios. For example, they support IEEE 802.11 related standards, such as 802.11a / b / g, 802.11n, 802.11ac, 802.11ax, 802.11be (Wi-Fi 7), 802.11bn (or Wi-Fi 8, also known as ultra-high reliability (UHR) or next-generation standards of 802.11bn), or standards supporting ambient power (AMP). They also include 802.11ad and 802.11ay standards, and can be applied to ultra-wideband (UWB) standards. Wireless personal area network (WLAN) systems supporting the 802.15 series of standards (UWB, UWB, etc.) can also be used in sensing systems. Systems supporting the 802.11bf series of standards can be used in WLAN systems supporting Wi-Fi artificial intelligence (AI) or millimeter-wave (mmWave) WLAN systems. Specifically, the 802.11n standard is called high throughput (HT), the 802.11ac standard is called very high throughput (VHT), the 802.11ax standard is called high efficient (HE), and the 802.11be standard is called extremely high throughput (HE). Throughput (EHT) standards. 802.11bf includes two main categories: low-frequency (e.g., sub7GHz) and high-frequency (e.g., 60GHz) standards. Sub7GHz implementations primarily rely on standards such as 802.11ac, 802.11ax, 802.11be, and next-generation standards, while 60GHz implementations primarily rely on standards such as 802.11ad, 802.11ay, integrated millimeter-wave (mmWave), and next-generation standards. 802.11ad can also be called the directional multi-gigabit (DMG) standard, and 802.11ay can also be called the enhanced directional multi-gigabit (EDMG) standard.
[0106] The technical solutions of this application embodiment can also be applied to various communication systems, such as: WLAN communication systems, wireless fidelity (Wi-Fi) systems, short-range communication systems, Internet of Things (IoT) systems, vehicle-to-everything (V2X, where X can represent anything), device-to-device (D2D) communication systems, machine-to-machine (M2M) communication systems, narrowband Internet of Things (NB-IoT) systems, long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, universal mobile telecommunication system (UMTS), world wide interoperability for microwave access (WiMAX) communication systems, 5th generation (5G) systems or new radio (NR), 6th generation (6G) systems. This includes generation (6G) systems, as well as new communication systems that will emerge in the future development of communications.
[0107] The communication systems described above that are applicable to this application are merely illustrative examples, and the application is not limited to these. This description is consistent with the previous one and will not be repeated below. Furthermore, the term "system" can be used interchangeably with "network".
[0108] This application supports IEEE protocols, such as IEEE 802.11be / Wi-Fi 7 / EHT, IEEE 802.11bn / UHR / Wi-Fi 8, IEEE Integrated mmWave / IMMW, IEEE 802.15 / UWB, or IEEE 802.11bf / sensing; this application may also support Spark Link / NearLink standard protocols.
[0109] WLAN systems can provide high-speed, low-latency transmission. As WLAN application scenarios continue to evolve, WLAN systems will be applied to more scenarios or industries, such as the Internet of Things industry, the Internet of Vehicles industry, the banking industry, enterprise offices, stadiums and exhibition halls, concert halls, hotel rooms, dormitories, hospital wards, classrooms, shopping malls, squares, streets, production workshops and warehouses, etc. Of course, devices that support WLAN communication or sensing (such as access points or sites) can be sensor nodes in smart cities (such as smart water meters, smart electricity meters, and smart air monitoring nodes), smart devices in smart homes (such as smart cameras, projectors, displays, televisions, speakers, refrigerators, and washing machines), nodes in the Internet of Things (IoT), entertainment terminals (such as wearable devices for augmented reality (AR) and virtual reality (VR), smart devices in smart offices (such as printers, projectors, loudspeakers, and speakers), vehicle-to-everything (V2X) devices, infrastructure in daily life scenarios (such as vending machines, self-service navigation kiosks in supermarkets, self-service checkout machines, and self-service ordering machines), and equipment in large sports and music venues.
[0110] This application primarily uses the deployment of a WLAN network, particularly one employing the IEEE 802.11 system standard, as an example for illustration. Those skilled in the art will readily understand that the various aspects described in this application can be extended to other networks employing various standards or protocols, such as high-performance radio local area networks (HIPERLANs), wireless wide area networks (WWANs), wireless personal area networks (WPANs), or other networks now known or developed in the future. Therefore, regardless of the coverage area and wireless access protocol used, the various aspects provided in this application can be applied to any suitable wireless network.
[0111] In one possible implementation, the method provided in this application embodiment can be implemented by a communication device in a communication system. For example, the communication device can be an access point (AP) or a station (STA).
[0112] Sites can be categorized into non-access point stations (non-AP STAs) and access point stations. For ease of description, this article refers to access point stations as access points (APs) and non-access point stations as stations (STAs) or non-AP stations. An AP that is in the same basic service set (BSS) as any non-AP STA is called the associated AP of that non-AP STA, and that non-AP STA is called the associated STA of that AP. Communication between non-AP STAs is permitted, known as point-to-point (P2P) communication. In the following text, "site" includes both APs and non-AP STAs.
[0113] Access points are nodes used by terminals (e.g., mobile phones) to access wired (or wireless) networks. They are primarily deployed in homes, buildings, and campuses, with a typical coverage radius of tens to hundreds of meters. Access points can also be deployed outdoors. An access point acts as a bridge between wired and wireless networks, its main function being to connect clients from various wireless networks together and then connect the wireless network to the Ethernet. An access point is a device with wireless communication capabilities, supporting communication using the WLAN protocol and having the ability to communicate with other devices (such as sites or other access points) within the WLAN network. Of course, access points can also have the ability to communicate with other devices.
[0114] An access point can be a complete device, or it can be a chip or processing system installed within a complete device. Devices with these chips or processing systems installed can implement the methods and functions of the embodiments of this application under the control of the chip or processing system (i.e., the AP). The AP in the embodiments of this application is a device that provides services to a site, and for example, it can support one or more standards in the IEEE 802.11 series, such as 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ax, 802.11be, 802.11ad, 802.11ay, 802.11bf, and 802.11bn.
[0115] Specifically, the access point can be a terminal or network device with a Wi-Fi chip. This network device can be a server, router, switch, bridge, computer, mobile phone, relay station, vehicle-mounted equipment, wearable device, network device in a 5G network, network device in a 6G network, or network device in a public land mobile network (PLMN), etc., and this application embodiment is not limited to these. Of course, the access point can also be the chip and processing system within these various forms of network devices, thereby implementing the methods and functions of the embodiments of this application. The access point can be a device that supports Wi-Fi standards. For example, the access point can also support one or more standards in the IEEE 802.11 series, such as 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ax, 802.11be, 802.11ad, 802.11ay, 802.11bf, and 802.11bn.
[0116] A station is a device with wireless communication capabilities, supporting communication using the WLAN protocol and having the ability to communicate with other stations or access points in a WLAN network. For example, a STA is any communication device that allows a user to communicate with an AP and thus with the WLAN. A station can be a complete device or a chip or processing system installed in a complete device. Devices with these chips or processing systems installed can implement the methods and functions of the embodiments of this application under the control of the chip or processing system (i.e., the station). A station can be a wireless communication chip, a wireless sensor, or a wireless communication terminal, and can also be referred to as a user, user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device.
[0117] Sites may include tag devices / smart tag devices, mobile phones, mobile stations (MS), tablets, computers with wireless transceiver capabilities (e.g., laptops), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, subscriber units, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, wireless data cards, personal digital assistant (PDA) computers, tablet computers, laptop computers, machine type communication (MTC) terminals, etc. The site may include various handheld devices, vehicle-mounted devices, wearable devices, computing devices, or other processing devices connected to a wireless modem, terminal devices in a 5G network, terminal devices in a 6G network, or terminal devices in a PLMN, etc., and this application embodiment is not limited thereto. Non-AP sites can be devices that support WLAN standards. For example, non-AP sites may support one or more standards of the IEEE 802.11 series, such as 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ax, 802.11be, 802.11ad, 802.11ay, and 802.11bf.
[0118] The aforementioned AP or site may include a transmitter, a receiver, a memory, a processor, etc., wherein the transmitter and receiver are used for transmitting and receiving packet structures, respectively, the memory is used to store signaling information and pre-agreed preset values, etc., and the processor is used to parse signaling information and process related data, etc.
[0119] Figure 1 is a schematic diagram of an application scenario applicable to the embodiments of this application. As shown in Figure 1, the communication method provided by this application is applicable to scenarios with multiple BSSs (taking BSS1, BSS2, and BSS3 as examples). Each BSS can contain an AP and one or more STAs associated with that AP. For example, BSS1 contains AP1 and STA1 associated with AP1, or STA1 in BSS1 is associated with AP1; BSS2 contains AP2 and STA2 associated with AP1; and BSS3 contains AP3 and STA3 associated with AP3. At least two of the multiple BSSs have overlapping basic service areas (BSAs). For example, any two BSAs of BSS1, BSS2, and BSS3 overlap, or any two BSAs of BSS1, BSS2, and BSS3 form an overlapping coverage relationship. The coverage area where multiple members within a BSS maintain wireless connectivity can be called a BSA. Alternatively, a BSA refers to an area that contains members within a BSS, and it may contain members of other BSSs. If a member moves outside its BSA, that member can no longer communicate directly with other members within its BSA. Members within a BSS can be divided into APs and STAs. Since the concept of a BSS is similar to that of a cell, the BSS in this paper can be replaced with "cell".
[0120] Referring to Figure 1, stations in BSS2 (e.g., STA2) and BSS3 (e.g., STA3) are both within the BSA of BSS1. PPDUs transmitted by stations in BSS2 and BSS3 can be monitored and received by stations in BSS1. These PPDUs can be referred to as Overlapping Basic Service Set (OBSS) PPDUs by stations in BSS1 (e.g., AP1 and STA1). PPDUs received by a station from stations in other BSSs are called OBSSPPDUs. This application embodiment applies to scenarios where stations in a BSS can receive PPDUs transmitted by stations in other BSSs, i.e., scenarios where OBSSPPDUs are received. An Overlapping Basic Service Set refers to a BSS that operates on the same channel as a station's BSS, and that BSS (partially or entirely) is within the BSA of that station's BSS.
[0121] (Overlapping Basic Service Set (OBSS): A basic service set (BSS) operating on the same channel as the station's (STA's) BSS and within (either partially or wholly) its basic service area (BSA)). BSSs with this characteristic are each other's OBSS. In other words, if the BSA of one BSS overlaps with the BSA of another BSS, the first BSS can be called the OBSS of the second BSS, and the second BSS can also be called the OBSS of the first BSS. Understandably, this overlap can be a partial overlap between the BSAs of one BSS and the BSA of another BSS, or it can be an inclusion relationship, where the BSA of one BSS falls within the BSA of another BSS.
[0122] In this application, sites located within the same BSS are referred to as the local BSS (or local cell), and sites located in different BSSs are referred to as external BSSs (or external cells). An external BSS can also be called an OBSS. For example, STA1 and AP1 are members of the same BSS, and the relationship between STA1 and AP1 is referred to as the local BSS. As another example, STA1 and AP2 are members of different BSSs, and the relationship between STA1 and AP2 is referred to as the external BSS; that is, AP2 is an AP within the external BSS for STA1, and STA1 is an STA within the external BSS for AP2. Members of a site's local BSS include the site itself. For example, BSS1 is the local BSS of STA1, and BSS2 is the local BSS of STA2. Members of a site's external BSS do not include the site itself. For example, BSS2 and BSS3 are external BSSs of STA1. A PPDU received by a site from its local BSS can be a PPDU received by that site from other sites within its local BSS. A PPDU received by a site from its external BSS can be a PPDU received by that site from any site within its external BSS. For example, the PPDU transmitted by AP1 received by STA1 comes from this BSS, while the PPDU transmitted by AP2 received by STA1 comes from an external BSS.
[0123] The technical solutions of this application will now be described with reference to the accompanying drawings. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. In case of any inconsistency, the meaning set forth in this specification or derived from the content described herein shall prevail. Furthermore, the terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0124] To facilitate understanding of the detailed implementation of the embodiments of this application, the technical terms involved in the embodiments of this application are described below. These explanations are intended to make the embodiments of this application easier to understand and should not be regarded as limiting the scope of protection claimed by this application.
[0125] 1) Channel Access: WLAN systems operate in unlicensed frequency bands, and their wireless channels are shared. Stations need to access the channel before transmitting. In one possible implementation, a station needs to listen to the channel before transmitting a radio frame. If the channel is busy, the station's transmission is temporarily suspended until the channel becomes idle. Once the channel is idle, the station needs to perform random backoff before transmitting data to handle collisions between multiple potential transmitting stations. After the random backoff process ends when the channel is idle, the station can transmit radio frames. Optionally, before transmitting data, the station can also interact with the destination station using a short control frame, such as a request-to-send (RTS) frame or a clear-to-send (CTS) frame, to further reduce throughput loss due to collisions. Because after a short frame interaction, the transmitting station can quickly know that a collision has occurred, and it will re-perform random backoff before re-accessing the channel, avoiding directly transmitting a long data frame during a collision and causing the entire data frame to fail to transmit.
[0126] Wi-Fi 8 defines two channel access modes for WLAN: primary channel access (PCA) mode and non-primary channel access (NPCA) mode.
[0127] WLAN primary channel access refers to the process by which nodes (i.e., stations) in a WLAN network access the primary channel and acquire channel usage rights. Since WLANs operate in unlicensed spectrum, this means that various wireless systems can publicly and freely use this spectrum resource, necessitating contention-based channel access. For example, stations may use Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA) for channel access. CSMA / CA uses a listen-before-talk (LBT) approach to access the channel; that is, a station wishing to acquire channel usage rights for frame exchange must first listen to the channel's availability level. Only when the channel is idle and certain rules are met can the station acquire channel usage rights. Upon successful access, the station receives a transmission opportunity (TXOP), and this station is referred to as the holder of the acquired TXOP.
[0128] Non-primary channel access in WLAN refers to the process by which a node (i.e., a station) in a WLAN network, during the process of accessing and acquiring channel usage rights on the primary channel, detects a PPDU (Optical Program Distribution Unit) sent by a station in an external BSS (Border Service Subsystem), and then switches to non-primary channel access and acquires channel usage rights according to certain rules. For example, on the non-primary channel, the station still uses the CSMA / CA channel access mechanism. Optionally, no later than the end of the OBSS TXOP, the station will return from the non-primary channel to the primary channel and perform primary channel access. Figure 2 is a schematic diagram of non-primary channel access provided by an embodiment of this application. As shown in Figure 2, the dashed line on the left indicates the start time of detecting the OBSS PPDU, the downward arrow indicates the time of switching to the non-primary channel, and the dashed line on the right indicates the end time of the OBSS TXOP, that is, the end time of the TXOP acquired by the station in the external BSS; after detecting the OBSS PPDU during the process of accessing and acquiring channel usage rights on the primary channel, the station switches from primary channel access to non-primary channel access.
[0129] 2) Physical Layer Packet Format and Network Allocation Vector (NAV) Principle: Generally, a PPDU includes a preamble and a payload. The preamble or payload of the PPDU may contain NAV indication information. NAV is a time length indicating the duration the transmitting station of the PPDU will need to occupy the channel from the end time of the PPDU. The NAV timer is a countdown timer. When the NAV timer value is greater than 0, it indicates that the virtual carrier sensing result of the channel where the NAV timer is located is busy. When the NAV timer value is equal to 0, it indicates that the virtual carrier sensing result of the channel where the NAV timer is located is idle.
[0130] 3) Two NAVs: The IEEE 802.11ax standard introduces two NAV timers for finer-grained management. One is called the intra-BSS NAV timer, and the other is called the basic NAV timer. The intra-BSS NAV timer is updated via intra-BSS PPDUs, while the basic NAV timer is updated via OBSS PPDUs or PPDUs that cannot be distinguished as being from the intra-BSS or OBSS. OBSS PPDUs can be referred to as inter-BSS PPDUs. Simply put, OBSS PPDUs are PPDUs sent from sites outside the current BSS, while intra-BSS PPDUs are PPDUs sent from sites within the current BSS. For details on how to distinguish between OBSS PPDUs and intra-BSS PPDUs, please refer to the IEEE 802.11ax standard; this application will not elaborate further. If at least one of the intra-BSS NAV timer and basicNAV timer (i.e., the NAV value) is not 0, the virtual carrier sensing mechanism determines that the monitored channel is busy; if both values are 0, the virtual carrier sensing mechanism determines that the monitored channel is idle, and the station can compete for the channel. Their update rules are as follows.
[0131] The update rules for intra-BSS NAV are as follows: When a station receives a PPDU and the PPDU meets the following conditions, the value of the intra-BSS NAV timer is updated so that the end time of the intra-BSS NAV timer is consistent with the end time indicated by the duration field carried in the PPDU. The conditions that the PPDU should meet simultaneously include: (1) The station is not a TXOPholder and the PPDU will not trigger the station to respond immediately, that is, the PPDU does not carry information that the station needs to respond to immediately; (2) The PPDU is an intra-BSS PPDU, or in other words, the PPDU comes from the station's own BSS; (3) The receiving address of the PPDU is not the MAC address of the station; (4) The value of the duration field of the PPDU is greater than the value of the station's current intra-BSS NAV timer, or in other words, the end time indicated by the duration field of the PPDU is later than the end time of the intra-BSS NAV timer currently recorded by the station.
[0132] Basic NAV update rules: When a site receives a PPDU and the PPDU meets the following conditions, the value of the basic NAV timer is updated so that the end time of the basic NAV timer is consistent with the end time indicated by the duration field carried in the PPDU. The conditions that the PPDU should meet simultaneously include: (1) the PPDU comes from an external BSS of the site or it cannot be determined whether the PPDU comes from an external BSS or the local BSS; (2) the receiving address of the PPDU is not the MAC address of the site; (3) the value of the duration field of the PPDU is greater than the value of the site's current basic NAV timer, or in other words, the end time indicated by the duration field of the PPDU is later than the end time of the basic NAV timer currently recorded by the site. The external BSS from which the PPDU comes can be described as the PPDU being an OBSSPPDU, or it can be described as the PPDU coming from the site's OBSS.
[0133] The preceding text introduced some terms, concepts, or processes involved in the embodiments of this application. The following text introduces the technical background involved in the embodiments of this application.
[0134] Wi-Fi 8 networks define two channel access modes for WLANs: PCA mode and NPCA mode. In some existing solutions, stations operate only in PCA mode, meaning they only access the primary channel and maintain one or more NAV timers corresponding to that channel. For example, a station maintains an intra-BSS NAV timer and a basic NAV timer for the primary channel, using these timers to determine the busy / idle status of the monitored primary channel. When a station operates in NPCA mode, it needs to maintain one or more NAV timers for non-primary channels to determine their busy / idle status. Therefore, it is necessary to study how a station maintains NAV timers when operating in PCA and NPCA modes to determine the busy / idle status of primary and non-primary channels based on the maintained NAV timers.
[0135] This application provides a technical solution for maintaining NAV timers. The approach of this solution is as follows: a station maintains a third NAV timer (e.g., a basic NAV) and a first NAV timer (e.g., an intra-BSS NAV) corresponding to the primary channel, and maintains a second NAV timer and a first NAV timer corresponding to non-primary channels. The first NAV timer is shared between the primary and non-primary channels, thereby reducing the number of NAV timers used by stations supporting both NPCA and PCA modes, and lowering the complexity and power consumption of NAV timer maintenance. Alternatively, the station updates the third and first NAV timers when on the primary channel, and updates the second and first NAV timers when on a non-primary channel; the first NAV timer is shared between the primary and non-primary channels. The NAV values of the first and third NAV timers are used to determine the status (e.g., busy / idle level) of the primary channel, and the NAV values of the first and second NAV timers are used to determine the status (e.g., busy / idle level) of the non-primary channel. The second NAV timer can be named NPCA-basic NAV timer, NP-basic NAV timer, or other names; this application does not limit the name.
[0136] This application also provides a data transmission scheme that can reduce packet loss rate. The technical solution for maintaining the NAV timer provided in this application and the data transmission scheme provided in this application can be combined. This application also provides a channel switching scheme, which allows a station to switch to the primary channel in advance when there is no opportunity to transmit on a non-primary channel, thus reducing the chance of missing NAV updates on the primary channel. The channel switching scheme provided in this application can be combined with the technical solution for maintaining the NAV timer provided in this application, or it can be combined with the data transmission scheme provided in this application. The technical solution provided in this application can be applied to scenarios where the station can switch between the primary channel and non-primary channels.
[0137] The technical solution for maintaining the NAV timer provided in this application is described below with reference to Figures 3, 4, and 6 to 10.
[0138] Figure 3 is a flowchart of a method for maintaining an NAV timer according to an embodiment of this application. In the method flowchart of Figure 3, the first station is a receiving station, that is, a station that receives PPDUs, and the second and third stations are sending stations, that is, stations that send PPDUs. In this application, the operations performed by the sending stations (e.g., the second and third stations) can be implemented by the sending station or components within the sending station. The following description uses the sending station implementation as an example; the operations performed by the receiving station (e.g., the first station) can be implemented by the sending station or components within the sending station. The following description uses the receiving station implementation as an example. As shown in Figure 3, the method includes:
[0139] 301. The second station sends the first PPDU, and correspondingly, the first station receives the first PPDU from the second station on a non-primary channel.
[0140] The first PPDU can be transmitted by the second station operating on the primary channel or by the second station operating on a non-primary channel. For example, if the second station transmits the first PPDU on a non-primary channel while operating on the primary channel, and the first station receives the first PPDU on the non-primary channel, the second station and the first station are located in the same BSS. In other words, the second station is a station within the same BSS as the first station. The first station can be either a STA or an AP.
[0141] 302. The first station determines that the first PPDU received on the non-main channel satisfies the first condition.
[0142] The first condition includes: the duration field in the first PPDU indicates a duration greater than the current NAV value of the first site; or, the duration field in the first PPDU indicates a duration greater than the current NAV value of the first NAV timer of the first site; or, the value of the duration field in the first PPDU is greater than the current NAV value of the first NAV timer of the first site; the first PPDU originates from the same BSS of the first site; or, the first PPDU originates from another site within the same BSS of the first site; or, the first PPDU is an intra-BSSPPDU. In this application, the duration field in a PPDU (e.g., the first PPDU) can be included in the medium access control (MAC) frame header and / or physical (PHY) frame header of the PPDU. For example, the duration field in a PPDU is the duration field in the PPDU (in the MAC frame header). Another example is that the duration field in a PPDU is the TXOP field in the PPDU (carried in the PHY frame header). In this article, NAV values can be replaced with numeric values or values.
[0143] In this application, the NAV value of any NAV timer can represent the duration. The duration indicated by the duration field in a PPDU being longer than the NAV value of the NAV timer at the first site can be: the duration indicated by the duration field being longer than the duration represented by the NAV value. Optionally, each NAV timer in this application (e.g., the first NAV timer, the second NAV timer hereinafter, and the third NAV timer) is a countdown timer (i.e., all have countdown functionality). The NAV value of any NAV timer is greater than or equal to 0, and the duration represented by the NAV value of the NAV timer is positively correlated with the NAV value. The end time of an NAV timer is the moment when the NAV value of the NAV timer decreases to 0. The NAV value of the first NAV timer can be used to determine the status of the primary channel and non-primary channel at the first site. For example, if the NAV values of both the first and third NAV timers are 0, the first station can determine that the main channel is idle (or unused); if the NAV value of at least one of the first and third NAV timers is not 0, the first station can determine that the main channel is busy (or busy). As another example, if the NAV values of both the first and second NAV timers are 0, the first station can determine that the non-main channel is idle; if the NAV value of at least one of the first and second NAV timers is not 0, the first station can determine that the non-main channel is busy.
[0144] Optionally, the first condition may also include one or more of the following: the first site is not the holding site of the TXOP associated with the first PPDU, and the first PPDU will not trigger the first site to respond immediately; the receiving address of the first PPDU is not equal to the address of the first site, such as the MAC address; thus it can be determined that the non-primary channel is occupied by a site within the first site's BSS.
[0145] 303. The first station updates the NAV value of the first NAV timer based on the first duration.
[0146] The first NAV timer can be an intra-BSS NAV timer. The first site updates the NAV value of the first NAV timer based on the first duration, including: the first site updates the NAV value of the first NAV timer to an NAV value representing the first duration, or in other words, updates the NAV value of the first NAV timer to an NAV value indicating the first end time. The first end time is the interval between the end time of the first PPDU and the end time of the first PPDU, that is, the end time of the first PPDU plus the first duration is the first end time.
[0147] 304. The third station sends a second PPDU, and correspondingly, the first station receives the second PPDU from the third station on the main channel.
[0148] The second PPDU can be transmitted by the third station operating on the primary channel or by the third station operating on a non-primary channel. For example, if the second station transmits the second PPDU on a non-primary channel, the transmission channel includes the primary channel, and the first station receives the second PPDU on the primary channel. The third station and the first station are located in the same BSS. Alternatively, the third station is a station within the same BSS as the first station. The third station and the second station can be the same station or different stations.
[0149] 305. The first station determines that the second PPDU received on the main channel satisfies the second condition.
[0150] The second condition includes: the second duration indicated by the duration field in the second PPDU is greater than the current NAV value of the first site, or the second duration indicated by the duration field in the second PPDU is greater than the NAV value of the first NAV timer of the first site, or the value of the duration field in the second PPDU is greater than the current NAV value of the first NAV timer of the first site; the second PPDU comes from the same BSS of the first site, or the second PPDU comes from another site in the same BSS of the first site.
[0151] Optionally, the second condition may also include one or more of the following: the first site is not the site holding the TXOP associated with the second PPDU, and the second PPDU does not trigger the first site to respond immediately; the receiving address of the second PPDU is not equal to the MAC address of the first site; thus it can be determined that the main channel is occupied by a site within the first site's BSS.
[0152] 306. The first station updates the NAV value of the first NAV timer based on the second duration.
[0153] The first station updates the NAV value of the first NAV timer based on the second duration, including: the first station updates the NAV value of the first NAV timer to an NAV value representing the second duration, or in other words, updates the NAV value of the first NAV timer to an NAV value indicating the second end time. The second end time is the interval between the end time of the second PPDU and the end time of the second PPDU, that is, the end time of the second PPDU plus the second duration is the second end time.
[0154] As an example, the first NAV timer is the intra-BSS NAV timer, and the third NAV timer is the basic NAV timer. When the first station maintains the intra-BSS NAV timer and basic NAV timer corresponding to the primary channel, the trigger condition for the first station to switch from the primary channel to a non-primary channel is: the NAV value of the intra-BSS NAV timer is equal to 0, and the NAV value of the basic NAV timer is greater than 0 (optionally, greater than a threshold). When the NAV value of the intra-BSS NAV timer is equal to 0, and the NAV value of the basic NAV timer is greater than 0, the first station can determine that no station of its own BSS is transmitting on the primary channel, and a station of an external BSS is occupying the channel. At this time, the first station can switch from the primary channel to a non-primary channel. The trigger condition for the first station to switch from the primary channel to a non-primary channel does not include: the NAV value of the intra-BSS NAV timer being greater than 0. When the NAV value of the intra-BSS NAV timer is greater than 0, two or more stations within the first station's BSS are communicating. The associated AP of the first station may send data to this station (i.e., the first station) or schedule this station to send data during this period. Therefore, switching to a non-primary channel is not allowed at this time. The triggering conditions for the first station to switch from the primary channel to a non-primary channel do not include: the intra-BSS NAV timer's NAV value being equal to 0, and the basic NAV timer's NAV value being equal to 0. When both the intra-BSS NAV timer and basic NAV timer's NAV values are equal to 0, the virtual carrier sensing result on the primary channel is idle. In this case, the first station should remain on the primary channel to compete for channel space and cannot switch to a non-primary channel. When a station switches from the primary channel to a non-primary channel, the NAV value of the intra-BSS NAV timer is equal to 0. After switching to a non-primary channel, no intra-BSS PPDUs will be received from the primary channel. At this time, it is equivalent to the intra-BSS NAV timer being in an "idle" state during the time the station is camped on the non-primary channel. In this embodiment, the first station shares the intra-BSS NAV timer on both the primary and non-primary channels. It takes advantage of the characteristic that the intra-BSS NAV timer is always in an "idle" state during the time the first station is camped on the non-primary channel. Maintaining the first NAV timer and the second NAV timer corresponding to the non-primary channel to determine the busy / idle level of the non-primary channel can reduce the number of NAV timers used and reduce the complexity of maintaining the NAV timers.
[0155] In this embodiment, the first station shares the first NAV timer on both the main channel and the non-main channel, which can reduce the number of NAV timers used by stations that support operation in NPCA mode and PCA mode, and reduce the complexity and power consumption of maintaining the NAV timers.
[0156] Figure 4 is a flowchart of another method for maintaining a NAV timer provided in an embodiment of this application. Based on the method flowchart in Figure 3, the method flowchart in Figure 4 adds the operation of maintaining a second and third NAV timer for the first station. Therefore, the first station can determine the busy / idle level of the non-primary channel based on the first and second NAV timers, and determine the busy / idle level of the primary channel based on the first and third NAV timers. As shown in Figure 4, the method includes:
[0157] 401. The second station sends the first PPDU, and correspondingly, the first station receives the first PPDU from the second station on a non-primary channel.
[0158] Steps 401 to 406 can be referred to steps 301 to 306 in Figure 3, and will not be repeated here.
[0159] 402. The first station determines that the first PPDU received on the non-main channel satisfies the first condition.
[0160] 403. The first station updates the NAV value of the first NAV timer based on the first duration.
[0161] 404. The third station sends a second PPDU, and correspondingly, the first station receives the second PPDU from the third station on the main channel.
[0162] 405. The first station determines that the second PPDU received on the main channel satisfies the second condition.
[0163] 406. The first station updates the NAV value of the first NAV timer based on the second duration.
[0164] 407. The fourth station sends the third PPDU, and correspondingly, the first station receives the third PPDU from the fourth station on the non-main channel.
[0165] 408. The first station determines that the third PPDU received on the non-main channel satisfies the third condition.
[0166] The third condition includes: the third PPDU originates from an external BSS of the first site, or the first site cannot determine whether the third PPDU originates from an external BSS or its own BSS; and the duration field in the third PPDU indicates a third duration greater than the NAV value of the second NAV timer of the first site. Optionally, the third condition also includes: the receiving address of the third PPDU is not equal to (is) the MAC address of the first site; thus, it can be determined that the non-primary channel is occupied by a site within an external BSS of the first site.
[0167] 409. The first station updates the NAV value of the second NAV timer based on the third duration.
[0168] Based on the third duration, the NAV value of the second NAV timer is updated, including: the first station updates the NAV value of the second NAV timer to an NAV value representing the third duration, or in other words, updates the NAV value of the second NAV timer to an NAV value indicating the third end time. The third end time is the interval between the end time of the third PPDU and the end time of the third PPDU. That is, the end time of the third PPDU plus the third duration is the third end time.
[0169] The third PPDU can carry bandwidth information, which is used to indicate the transmission channel of the third PPDU. For example, the bandwidth information carried in the third PPDU includes a bitmap, where each bit in the bitmap corresponds to a 20MHz channel. The channel corresponding to a bit with a value of 1 in the bitmap is occupied by the third PPDU, and the channel corresponding to a bit with a value of 0 is not occupied by the third PPDU. Figure 5A is a schematic diagram of an OBSS PPDU carrying bandwidth information received by a station on a non-primary channel according to an embodiment of this application. As shown in Figure 5A, P20 represents the primary channel, NP20 represents the non-primary channel, and the bandwidth indicated by the arrowed line represents the bandwidth between the primary channel and the non-primary channel. The OBSS PPDU on the left represents the OBSS PPDU transmitted on the primary channel, and the OBSS PPDU on the right represents the OBSS PPDU detected by the first station on the non-primary channel. The transmission channels of the OBSS PPDU detected by the first station on the non-primary channel include both the primary channel and the non-primary channel. The first station can detect the start time and the bandwidth information used by the OBSS PPDU on the non-primary channel, that is, the bandwidth information carried by the OBSS PPDU.
[0170] Optionally, the first station may also perform the following operations: determine that the transmission channel of the third PPDU includes the main channel and the NAV value of the third NAV timer with a third duration longer than that of the first station, wherein the end time of the third NAV timer is the end time when the main channel is occupied by the external BSS of the first station; update the NAV value of the third NAV timer based on the third duration; thereby ensuring that the end time of the third NAV timer is the same as the end time when the main channel is occupied by the external BSS of the first station, so as to promptly access the main channel when it is idle. Updating the NAV value of the third NAV timer based on the third duration includes: the first station updating the NAV value of the third NAV timer to an NAV value representing the third duration.
[0171] 410. The fifth station sends the fourth PPDU, and correspondingly, the first station receives the fourth PPDU from the fifth station on the main channel.
[0172] The fifth and fourth stations can be the same station or different stations.
[0173] 411. The first station determines that the fourth PPDU received on the main channel satisfies the fourth condition.
[0174] The fourth condition includes: the fourth PPDU originates from an external BSS of the first site, or the site cannot determine whether the fourth PPDU originates from an external BSS or its own BSS; and the duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the site's third NAV timer. Optionally, the fourth condition also includes: the receiving address of the fourth PPDU is not equal to (is) the MAC address of the first site; thus, it can be determined that the main channel is occupied by a site within an external BSS of the first site.
[0175] 412. The first station updates the NAV value of the third NAV timer based on the fourth duration.
[0176] The third NAV timer can be a basic NAV timer. The first site updates the NAV value of the third NAV timer based on the fourth duration, including: the first site updates the NAV value of the third NAV timer to the NAV value representing the fourth duration.
[0177] The fourth PPDU can carry bandwidth information, which is used to indicate the transmission channel of the fourth PPDU. For example, the bandwidth information carried in the fourth PPDU includes a bitmap, where each bit in the bitmap corresponds to a 20MHz channel. The channel corresponding to a bit with a value of 1 in the bitmap is occupied by the fourth PPDU, and the channel corresponding to a bit with a value of 0 is not occupied by the fourth PPDU. Figure 5B is a schematic diagram of an OBSS PPDU carrying bandwidth information received by a station on the main channel according to an embodiment of this application. As shown in Figure 5B, P20 represents the main channel, NP20 represents the non-main channel, and the transmission channels of the OBSS PPDU received by the first station on the main channel include both the main channel and the non-main channel; the first station can detect the start time and bandwidth information used by the OBSS PPDU on the main channel, that is, the bandwidth information carried in the OBSS PPDU.
[0178] Optionally, the first site may also perform the following operations: determine that the transmission channel of the fourth PPDU includes a non-primary channel and a fourth duration with an NAV value greater than that of the second NAV timer; update the NAV value of the second NAV timer based on the fourth duration; thereby ensuring that the end time of the second NAV timer is the same as the end time when the non-primary channel is occupied by the external BSS of the first site, so as to promptly access the non-primary channel when it is idle. Updating the NAV value of the second NAV timer based on the fourth duration includes: the first site updating the NAV value of the second NAV timer to an NAV value representing the fourth duration.
[0179] Optionally, the first station may also perform the following operations: determine the busy / idle status of the non-primary channel based on the first NAV timer and the second NAV timer, and determine the busy / idle status of the primary channel based on the first NAV timer and the third NAV timer; thereby, the busy / idle status of the primary and non-primary channels can be determined by using three NAV timers, which can reduce the number of NAV timers used by stations supporting operation in NPCA and PCA modes, and reduce the complexity and power consumption of maintaining NAV timers.
[0180] In this embodiment, the first station maintains a first NAV timer and a third NAV timer corresponding to the main channel, and maintains a first NAV timer and a second NAV timer corresponding to the non-main channel. Thus, the busy / idle sequence of the main channel and the non-main channel can be determined by the three NAV timers, which can reduce the number of NAV timers used by the station supporting NPCA mode and PCA mode, and reduce the complexity and power consumption of maintaining the NAV timers.
[0181] Figure 6 is a flowchart of another method for maintaining an NAV timer provided in an embodiment of this application. The method in Figure 6 is technically the same as the method in Figure 4. It is hereby noted that any station in the following figures can be the first station mentioned above, and any station not specified can be the first station. As shown in Figure 6, the method includes:
[0182] 601. The site maintains the first NAV timer and the third NAV timer corresponding to the main channel.
[0183] The first NAV timer can be an intra-BSS NAV timer, and the third NAV timer can be a basic NAV timer. The NAV values of the first and third NAV timers are used to determine the status of the main channel. For example, if both the NAV values of the first and third NAV timers are 0, the main channel status is determined to be idle; if at least one of the NAV values of the first and third NAV timers is not 0, the main channel status is determined to be busy.
[0184] An example of how a site maintains the first NAV timer and the third NAV timer corresponding to the main channel is as follows:
[0185] The site determines that the second PPDU received on the main channel satisfies the second condition, which includes: the second PPDU comes from the site's own BSS, and the second duration indicated by the duration field in the second PPDU is greater than the site's current NAV value;
[0186] Based on the second duration, the NAV value of the first NAV timer is updated, thereby ensuring that the end time of the first NAV timer coincides with the end time when the main channel is occupied by the site's BSS, so that access to the main channel can be made promptly when the main channel is idle; or...
[0187] The fourth PPDU received on the main channel is determined to meet the fourth condition, which includes: the fourth PPDU comes from an external BSS of the site or the site cannot determine whether the fourth PPDU comes from an external BSS or the local BSS; and the fourth duration field in the fourth PPDU indicates a fourth duration that is greater than the NAV value of the site's third NAV timer.
[0188] Based on the fourth duration, the NAV value of the third NAV timer is updated, so that the end time of the third NAV timer is the same as the end time when the main channel is occupied by the external BSS of the site, so that the main channel can be accessed in time when the main channel is idle.
[0189] In this example, after the station determines that it has received a PPDU that satisfies the second condition on the main channel, it can update the NAV value of the first NAV timer based on the duration indicated in the PPDU that satisfies the second condition; after the station determines that it has received a PPDU that satisfies the fourth condition on the main channel, it can update the NAV value of the third NAV timer based on the duration indicated in the PPDU that satisfies the fourth condition.
[0190] 602. The site maintains the first NAV timer and the second NAV timer corresponding to the non-primary channel.
[0191] The NAV values of the first NAV timer and the second NAV timer are used to determine the state of the non-primary channel. For example, if both the NAV values of the first and second NAV timers are 0, the non-primary channel is determined to be idle; if at least one of the NAV values of the first and second NAV timers is not 0, the non-primary channel is determined to be busy.
[0192] An example of a site maintaining a first NAV timer and a second NAV timer for a non-primary channel is as follows:
[0193] The site determines that the first PPDU received on a non-primary channel satisfies a first condition, the first condition including: the first PPDU comes from the site's local BSS, and the duration field in the first PPDU indicates a first duration greater than the site's current NAV value;
[0194] Based on the first duration, the NAV value of the first NAV timer is updated, thereby ensuring that the end time of the first NAV timer coincides with the end time when the non-primary channel is occupied by the site's BSS, so that access to the non-primary channel can be made promptly when the non-primary channel is idle; or...
[0195] The third PPDU received on a non-main channel is determined to meet the third condition, which includes: the third PPDU comes from an external BSS of the site or the site cannot determine whether the third PPDU comes from an external BSS or the local BSS; and the third duration field in the third PPDU indicates a third duration that is greater than the NAV value of the site's second NAV timer.
[0196] Based on the third duration, the NAV value of the second NAV timer is updated, so that the end time of the second NAV timer is the same as the end time when the non-primary channel is occupied by the external BSS of the site, so that the non-primary channel can be accessed in time when the non-primary channel is idle.
[0197] In this example, after a station determines that it has received a PPDU that satisfies the first condition on a non-primary channel, it can update the NAV value of the first NAV timer based on the duration indicated in the PPDU that satisfies the first condition; after a station determines that it has received a PPDU that satisfies the third condition on a non-primary channel, it can update the NAV value of the second NAV timer based on the duration indicated in the PPDU that satisfies the third condition.
[0198] In this embodiment, the first station shares the first NAV timer on both the main channel and the non-main channel, which can reduce the number of NAV timers used by stations that support operation in NPCA mode and PCA mode, and reduce the complexity and power consumption of maintaining the NAV timers.
[0199] Figure 7 is a flowchart of another method for maintaining NAV timers provided in an embodiment of this application. Based on the method flowchart in Figure 3, the method flowchart in Figure 7 adds the operation of maintaining a third NAV timer for the first station. Thus, the first station maintains two NAV timers on both the main channel and the non-main channel, which reduces the complexity and power consumption of maintaining NAV timers. Compared with the methods in Figure 4 or Figure 6, the method in Figure 7 reduces the number of NAV timers that need to be maintained. As shown in Figure 7, the method includes:
[0200] 701. The second station sends the first PPDU, and correspondingly, the first station receives the first PPDU from the second station on a non-primary channel.
[0201] Steps 701 to 706 can be referred to steps 301 to 306 in Figure 3, and will not be repeated here.
[0202] 702. The first station determines that the first PPDU received on the non-main channel satisfies the first condition.
[0203] 703. The first station updates the NAV value of the first NAV timer based on the first duration.
[0204] 704. The third station sends a second PPDU, and correspondingly, the first station receives the second PPDU from the third station on the main channel.
[0205] 705. The first station determines that the second PPDU received on the main channel satisfies the second condition.
[0206] 706. The first station updates the NAV value of the first NAV timer based on the second duration.
[0207] 707. The fifth station sends the fourth PPDU, and correspondingly, the first station receives the fourth PPDU from the fifth station on the main channel.
[0208] Steps 707 to 709 can be referred to steps 410 to 412 in Figure 4, and will not be repeated here.
[0209] 708. The first station determines that the fourth PPDU received on the main channel satisfies the fourth condition.
[0210] The fourth condition includes: the fourth PPDU originates from an external BSS of the first site or the first site cannot determine whether the fourth PPDU originates from an external BSS or the local BSS of the first site; and the duration field in the fourth PPDU indicates a fourth duration that is greater than the NAV value of the third NAV timer of the first site.
[0211] 709. The first station updates the NAV value of the third NAV timer based on the fourth duration.
[0212] 710A. After switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0, and sets the NAV value of the fourth NAV timer of the first station to the first value.
[0213] The fourth NAV timer only has a countdown function. In other words, the NAV value of the fourth NAV timer cannot be updated. The NAV value of the fourth NAV timer can only decrease sequentially from its initial value (e.g., the first value) to 0, and this process of decreasing the NAV value from a value greater than 0 to 0 cannot be interrupted. After switching from the primary channel to a non-primary channel, the first station can update the NAV value of the third NAV timer from its first value to 0 at the exact moment of the switch. After switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from its first value to 0. Therefore, when the NAV value of the first NAV timer is 0, the first station can determine that the non-primary channel is idle, and thus engage in channel contention on the non-primary channel.
[0214] In one possible implementation, after receiving the OBSS PPDU on the primary channel, the first station switches from the primary channel to a non-primary channel in order to transmit data on the non-primary channel.
[0215] 710B. After switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0 and records the first moment.
[0216] The first moment is the expected time when the first station will switch to the main channel. As an example, the first station obtains the expected TSF time for switching to the main channel by adding the current timing synchronization function (TSF) time to the duration indicated by the value of the third NAV timer. As another example, considering the delay of switching back to the main channel from a non-main channel, the first station can obtain the expected TSF time for switching to the main channel by adding the current TSF time to the duration indicated by the value of the third NAV timer and then subtracting that delay. The delay of the first station switching back to the main channel from a non-main channel can be named switch delay, switch back delay, or other names; this application does not limit this. In the following text, switch delay is used as an example to represent the delay of a station switching back to the main channel from a non-main channel.
[0217] Steps 710A and 710B are two parallel steps. The method flow in Figure 7 includes either step 710A or step 710B.
[0218] Optionally, after performing step 710A or step 710B, the first station may also perform the following operation: when the NAV value of the first NAV timer is 0, the first station determines that the non-primary channel is idle; if the first station has a data transmission requirement, it will compete for channel in the non-primary channel, thereby transmitting data earlier.
[0219] Optionally, after performing step 710A, the first site may also perform the following operation: when the value of the fourth NAV timer is reduced to 0, switch from the non-primary channel to the primary channel so that it can switch to the primary channel in a timely manner and thus obtain better service.
[0220] Optionally, after performing step 710B, the first site may also perform the following operation: switch from the non-primary channel to the primary channel at the first moment so that it can switch to the primary channel in a timely manner and thus obtain better service.
[0221] In this embodiment, after switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0, and sets the NAV value of the fourth NAV timer of the first station to the first value or records the first moment. Thus, the first station can determine when it needs to switch back to the primary channel (i.e., the first moment or the moment when the value of the fourth NAV timer decreases to 0). Furthermore, the first station only needs to maintain two NAV timers on both the primary and non-primary channels, reducing the complexity and power consumption of maintaining NAV timers.
[0222] Figure 8 is a flowchart of another method for maintaining an NAV timer provided in an embodiment of this application. The method flowchart in Figure 8 includes steps 707 to 709 and step 710A or 710B from the method flowchart in Figure 7, but excludes steps 701 to 706. Compared with the method in Figure 7, the method in Figure 8 does not require the first station to share the first NAV timer on the primary channel and non-primary channels. As shown in Figure 8, the method includes:
[0223] 801. The fifth station sends the fourth PPDU, and correspondingly, the first station receives the fourth PPDU from the fifth station on the main channel.
[0224] Steps 801 to 803 can be referred to steps 707 to 709 in Figure 7, and will not be repeated here.
[0225] 802. The first station determines that the fourth PPDU received on the main channel satisfies the fourth condition.
[0226] The fourth condition includes: the fourth PPDU originates from an external BSS of the first site or the first site cannot determine whether the fourth PPDU originates from an external BSS or the local BSS of the first site; and the duration field in the fourth PPDU indicates a fourth duration that is greater than the NAV value of the third NAV timer of the first site.
[0227] 803. The first station updates the NAV value of the third NAV timer based on the fourth duration.
[0228] 804A. After switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0, and sets the NAV value of the fourth NAV timer of the first station to the first value.
[0229] Step 804A can be referred to step 710A in Figure 7.
[0230] 804B. After switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0 and records the first moment.
[0231] Step 804A can be referred to step 710B in Figure 7. The first moment is the moment when the first station is expected to switch to the main channel.
[0232] Optionally, the first station shares the intra-BSS NAV timer on both the primary and non-primary channels. Examples of the first station maintaining the intra-BSS NAV timer on both the primary and non-primary channels can be found in steps 701 to 706 of Figure 7. As an example, when both the intra-BSS NAV timer and the third NAV timer are 0, the first station determines that the primary channel is empty; otherwise, it determines that the primary channel is busy. As another example, when both the intra-BSS NAV timer and the third NAV timer are 0, the first station determines that the non-primary channel is empty; otherwise, it determines that the non-primary channel is busy.
[0233] Optionally, the first station maintains an intra-BSS NAV timer corresponding to the primary channel and an NP-intra-BSS NAV timer corresponding to the non-primary channel. An example of the first station maintaining the intra-BSS NAV timer corresponding to the primary channel can be found in steps 704 to 706 of Figure 7, where the first NAV timer in step 706 is the intra-BSS NAV timer. An example of the first station maintaining the NP-intra-BSS NAV timer corresponding to the non-primary channel can be found in steps 701 to 703 of Figure 7, where the first NAV timer in step 703 is the NP-intra-BSS NAV timer. As an example, when both the intra-BSS NAV timer and the third NAV timer are 0, the first station determines that the primary channel is empty; otherwise, it determines that the primary channel is busy. As an example, when both the NP-intra-BSS NAV timer and the third NAV timer are 0, the first station determines that the non-primary channel is empty; otherwise, it determines that the non-primary channel is busy.
[0234] In this embodiment, after switching from the primary channel to a non-primary channel, the first station updates the NAV value of the third NAV timer from the first value to 0, and sets the NAV value of the fourth NAV timer of the first station to the first value or records the first moment. Thus, the first station can determine when it needs to switch back to the primary channel (i.e., the first moment or the moment when the value of the fourth NAV timer decreases to 0). Furthermore, the first station only needs to maintain two NAV timers on both the primary and non-primary channels, reducing the complexity and power consumption of maintaining NAV timers.
[0235] Figure 9 is a flowchart of another method for maintaining an NAV timer provided in an embodiment of this application. The method flowchart in Figure 9 describes a scheme for updating the NAV timer corresponding to the main channel based on the duration indicated by the duration field in the OBSS PPDU when the transmission channel of the OBSS PPDU received by the station on a non-main channel includes the main channel. The method flowchart in Figure 9 can be combined with the method flowchart in Figure 3, or it can be a standalone method flowchart. As shown in Figure 9, the method includes:
[0236] 901. The fourth station sends the third PPDU, and correspondingly, the first station receives the third PPDU from the fourth station on the non-main channel.
[0237] Steps 901 to 903 can be referred to steps 407 to 409 in Figure 4, and will not be repeated here.
[0238] 902. The first station determines that the third PPDU received on the non-main channel satisfies the third condition.
[0239] The third condition includes: the third PPDU originates from an external BSS of the first site, or the first site cannot determine whether the third PPDU originates from an external BSS or its own BSS; and the duration field in the third PPDU indicates a third duration greater than the NAV value of the second NAV timer of the first site. Optionally, the third condition also includes: the receiving address of the third PPDU is not equal to (is) the MAC address of the first site; thus, it can be determined that the non-primary channel is occupied by a site within an external BSS of the first site.
[0240] 903. The first station updates the NAV value of the second NAV timer based on the third duration.
[0241] 904. The first site determines that the transmission channel of the third PPDU includes the main channel and the NAV value of the third NAV timer with a duration greater than that of the first site.
[0242] The end time of the third NAV timer is the end time when the main channel is occupied by the external BSS of the first site. Steps 904 and 905 can be found in the description of step 409 above.
[0243] 905. The first station updates the NAV value of the third NAV timer based on the third duration.
[0244] The third NAV timer can be a basic NAV timer. The second NAV timer can be an NPA basic NAV timer.
[0245] Optionally, the first site maintains the intra-BSS NAV and third NAV timers corresponding to the primary channel, and maintains the intra-BSS NAV and second NAV timers corresponding to the non-primary channels. An example of the first site maintaining the intra-BSS NAV timer corresponding to the primary channel can be found in steps 304 to 306 of Figure 3, where the first NAV timer in step 306 is the intra-BSS NAV timer. An example of the first site maintaining the third NAV timer corresponding to the primary channel can be found in steps 410 to 412 of Figure 4. An example of the first site maintaining the intra-BSS NAV timer corresponding to the non-primary channel can be found in steps 301 to 303 of Figure 3, where the first NAV timer in step 303 is the intra-BSS NAV timer. An example of the first site maintaining the second NAV timer corresponding to the non-primary channel can be found in steps 407 to 409 of Figure 4.
[0246] Optionally, the first site maintains the intra-BSS NAV and third NAV timers corresponding to the primary channel, and maintains the NP-intra-BSS NAV and second NAV timers corresponding to the non-primary channel. An example of the first site maintaining the NP-intra-BSS NAV timer corresponding to the non-primary channel can be found in steps 301 to 303 of Figure 3, where the first NAV timer in step 303 is the NP-intra-BSS NAV timer.
[0247] In this embodiment, the first station updates the NAV value of the third NAV timer based on the third duration; this ensures that the end time of the third NAV timer is the same as the end time when the main channel is occupied by the external BSS of the first station, so that the main channel can be accessed in a timely manner when the main channel is idle.
[0248] Figure 10 is a flowchart of another method for maintaining an NAV timer provided in an embodiment of this application. The method flowchart in Figure 10 describes a scheme for updating the NAV timer corresponding to the non-primary channel based on the duration indicated by the duration field in the OBSS PPDU when the transmission channel of the OBSS PPDU received by the station on the primary channel includes a non-primary channel. The method flowchart in Figure 10 can be combined with the method flowcharts in Figure 3 or Figure 9, or it can be combined with the method flowcharts in Figures 3 and 9, or it can be a standalone method flowchart. As shown in Figure 10, the method includes:
[0249] 1001. The fifth station sends the fourth PPDU, and correspondingly, the first station receives the fourth PPDU from the fifth station on the main channel.
[0250] 1002. The first station determines that the fourth PPDU received on the main channel satisfies the fourth condition.
[0251] The fourth condition includes: the fourth PPDU originates from an external BSS of the first site, or the first site cannot determine whether the fourth PPDU originates from an external BSS or its own BSS; and the duration field in the fourth PPDU indicates a fourth duration greater than the NAV value of the first site's third NAV timer. Optionally, the fourth condition also includes: the receiving address of the fourth PPDU is not equal to (is) the MAC address of the first site; thus, it can be determined that the main channel is occupied by a site within the external BSS of the first site.
[0252] 1003. The first station updates the NAV value of the third NAV timer based on the fourth duration.
[0253] Steps 1001 to 1003 can be referred to steps 410 to 412 in Figure 4, and will not be repeated here.
[0254] 1004. The first site determines that the transmission channel of the fourth PPDU includes the non-primary channel and the NAV value of the second NAV timer with a duration greater than that of the first site.
[0255] The end time of the second NAV timer is the end time when the non-primary channel is occupied by the external BSS of the first site. Steps 1004 and 1005 can be found in the description of step 412 above.
[0256] 1005. The first station updates the NAV value of the second NAV timer based on the fourth duration.
[0257] The third NAV timer can be a basic NAV timer. The second NAV timer can be an NPA basic NAV timer.
[0258] Optionally, the first site maintains the intra-BSS NAV and third NAV timer corresponding to the main channel, and maintains the intra-BSS NAV and second NAV timer corresponding to the non-main channel.
[0259] Optionally, the first site maintains the intra-BSS NAV and third NAV timer corresponding to the main channel, and maintains the NP-intra-BSS NAV and second NAV timer corresponding to the non-main channel.
[0260] In this embodiment of the application, the NAV value of the second NAV timer is updated based on the fourth duration; thereby, the end time of the second NAV timer is the same as the end time when the non-primary channel is occupied by the external BSS of the first site, so as to access the non-primary channel in a timely manner when the non-primary channel is idle.
[0261] The technical solution for maintaining the NAV timer provided in this application has been introduced above. The data transmission scheme provided in this application is described below. Figure 11 is a flowchart of a data transmission method provided in an embodiment of this application. The method flowchart in Figure 11 can be combined with one or more of the method flowcharts in Figures 3, 4, 6, 7, 8, 9, and 10. An example of combining the method flowchart in Figure 11 with the method flowchart in Figure 3 is that the method flowchart in Figure 3 also includes steps 1101A, 1102, and 1103 from Figure 11, and the order of steps 1101A, 1102, and 1103 is not limited to the steps in Figure 3. Another example of combining the method flowchart in Figure 11 with the method flowchart in Figure 3 is that the method flowchart in Figure 3 also includes steps 1101B, 1102, and 1103 from Figure 11, and the order of steps 1101B, 1102, and 1103 is not limited to the steps in Figure 3. It should be understood that those skilled in the art can combine the method flowchart in Figure 11 with other method flowcharts in a similar manner; examples will not be given here. As shown in Figure 11, the method includes:
[0262] 1101A, The site's backoff counter has been reduced to 0.
[0263] In one possible implementation, the station performs random backoff after determining that the non-primary channel is empty. Step 1101A is optional.
[0264] 1101B, The site obtains TXOP on a non-primary channel.
[0265] In one possible implementation, after determining that the non-primary channel is empty, the station obtains the TXOP on the non-primary channel through channel contention. This application embodiment does not limit the implementation method of the station obtaining the TXOP on the non-primary channel. Step 1101B is optional. Steps 1101B and 1101A can be parallel steps. The method flowchart in Figure 11 may include either step 1101A or step 1101B.
[0266] 1102. The station determines that it can complete the frame exchange of the fifth PPDU before the end of the third NAV timer on the non-primary channel.
[0267] The third NAV timer ends when the primary channel is occupied by the site's external BSS. The third NAV timer can maintain the basic NAV timer corresponding to the primary channel for the site. For example, the end time of the third NAV timer is the end time of the OBSS TXOP or OBSS PPDU. OBSS TXOP refers to the TXOP occupied by the site in the site's external BSS.
[0268] When a site switches to a non-primary channel after its primary channel is occupied by a site in an external BSS (e.g., a STA), it should switch back to the primary channel before the end of the OBSS TXOP or a long PPDU (because if the PPDU is too short, there may be very little time or no opportunity for communication after switching to the non-primary channel). A long PPDU can be a PPDU exceeding a first threshold in length. The first threshold can be set according to requirements. For example, the first threshold can be 1 millisecond. Time t1 can be the latest time when the site begins switching from the non-primary channel to the primary channel. If the site starts switching from the non-primary channel to the primary channel after time t1, it may not be able to switch to the primary channel before the end of the third NAV timer. Figure 12 is a schematic diagram of the latest time when a site begins switching from the non-primary channel to the primary channel according to an embodiment of this application. As shown in Figure 12, time t1 is the latest time when the site begins switching from the non-primary channel to the primary channel, time t2 is the end time of the OBSS TXOP or OBSS PPDU, and Figure 12 shows an example where time t1 is the end time of the third NAV timer minus the switching delay.
[0269] Time t1 can be specified by the protocol supported by the site or preset by the site. As an example, time t1 can be any of the following: the end time of the third NAV timer; the end time of the third NAV timer minus the handover delay; the end time of the third NAV timer minus the peer handover delay, where the peer handover delay represents the delay for the site's peer (e.g., the receiver of the PPDU sent by the site) to switch from a non-primary channel to a primary channel; or the end time of the third NAV timer minus the larger of the handover delay and the peer handover delay. The peer handover delay can be obtained through capability interaction between the site and the peer, or through other means, which is not limited here. One possible implementation of step 1102 is as follows: The site determines that it can complete the frame interaction of the fifth PPDU before time t1, so that it can start the handover to the primary channel at time t1.
[0270] 1103. The station transmits the fifth PPDU on a non-primary channel.
[0271] Steps 1101 to 1102 can be replaced by: after determining that the frame exchange of the sixth PPDU cannot be completed on the non-primary channel before the end of the third NAV timer, the station stops transmitting the sixth PPDU on the non-primary channel, that is, it does not send the sixth PPDU on the non-primary channel. Optionally, the station may send the sixth PPDU on the primary channel when switching to the primary channel and when the primary channel is empty.
[0272] This reduces the occurrence of PPDUs that cannot complete frame exchanges, thus lowering the packet loss rate.
[0273] 1104. After determining that the fifth condition is met, the station switches from the non-primary channel to the primary channel.
[0274] Step 1104 is optional. The fifth condition includes any of the following:
[0275] The current time is later than the second time, which is the aforementioned time t1. Therefore, when the current time is later than the second time, the station can switch to the main channel in order to compete for the right to use the main channel as soon as possible. This can solve the problem that the station did not switch to the main channel at or before time t1 for some reason.
[0276] The current time is equal to the second time, which is the aforementioned time t1. Therefore, when the current time is equal to the second time, the station can switch to the main channel so that it can switch to the main channel at the end of the third NAV timer.
[0277] The current time is later than or equal to the third time. The third time is the second time minus the first duration. The station has no opportunity to transmit on the non-primary channel at or after the third time. In other words, the third time is the earliest time when the station has no opportunity to transmit on the non-primary channel. The first duration can be specified by the standard supported by the station or a duration preset by the station. The specific value of the first duration is not limited. The first duration is greater than or equal to the short frame transmission duration. Therefore, after the station has no opportunity to transmit on the non-primary channel, it can switch to the primary channel in advance to reduce the chance of missing the NAV update on the primary channel.
[0278] The end time of the second NAV timer of the site is later than or equal to the second time. The end time of the second NAV timer is the end time when the non-primary channel is occupied by the site's external BSS. Therefore, after the site has no opportunity to transmit on the non-primary channel before the second time, it can switch to the primary channel in advance to reduce the chance of missing the NAV update on the primary channel.
[0279] The end time of the second NAV timer is later than or equal to the third timer. Therefore, after the station has no opportunity to transmit on the non-primary channel, it can switch to the primary channel in advance to reduce the chance of missing the NAV update on the primary channel.
[0280] After obtaining the TXOP on the non-primary channel, the station determines that it cannot complete frame interaction before the second time. Therefore, after the station has no opportunity to transmit on the non-primary channel before the second time, it switches to the primary channel in advance, which can reduce the chance of missing the NAV update on the primary channel.
[0281] After obtaining the TXOP on the non-primary channel, the station determines that it cannot complete frame interaction before the third moment. Therefore, after the station has no opportunity to transmit on the non-primary channel, it switches to the primary channel in advance, which can reduce the chance of missing the NAV update on the primary channel.
[0282] Once the backoff counter of a station is reduced to 0, it is determined that frame interaction cannot be completed before the second time. Therefore, after the station has no opportunity to transmit on the non-primary channel before the second time, it switches to the primary channel in advance, which can reduce the chance of missing NAV updates on the primary channel.
[0283] Once the backoff counter of a station is reduced to 0, it is determined that frame interaction cannot be completed before the third moment. Therefore, after the station has no opportunity to transmit on the non-primary channel, it switches to the primary channel in advance, which can reduce the chance of missing NAV updates on the primary channel.
[0284] The first duration includes, but is not limited to, the following:
[0285] The first duration is equal to the transmission duration of a short frame, which may include a clear to send (CTS) frame.
[0286] The first duration equals RTS + CTS + 2 * SIFS + short frame transmission duration, where RTS represents the duration of the request to send (RTS) frame, CTS represents the duration of the CTS frame, and SIFS represents the short inter-frame space.
[0287] The first duration is equal to PIFS + RTS + CTS + 2 * SIFS + short frame transmission duration, where PIFS represents the Point Coordination Function interframe space (PCF interframe space).
[0288] The first duration equals DIFS + RTS + CTS + 2 * SIFS + short frame transmission duration, where DIFS represents the Distributed Coordination Function interframe space (DCF interframe space).
[0289] In this embodiment, the station determines that it can complete the frame interaction of the fifth PPDU before the end of the third NAV timer on the non-primary channel, and sends the fifth PPDU on the non-primary channel. This can reduce the occurrence of the PPDU it sends failing to complete the frame interaction, thereby reducing the packet loss rate and reducing interference to other stations and its own power consumption.
[0290] The technical solution for maintaining the NAV timer and the data transmission scheme provided in this application have been introduced above. The channel switching scheme provided in this application is described below. Figure 13 is a flowchart of a channel switching method provided in an embodiment of this application. The method flowchart in Figure 13 can be combined with one or more of the method flowcharts in Figures 3, 4, 6, 7, 8, 9, and 10. An example of combining the method flowchart in Figure 13 with the method flowchart in Figure 3 is that the method flowchart in Figure 3 also includes steps 1301 to 1302 in Figure 13, and the order of steps 1301 to 1302 with the steps in Figure 3 is not limited. When the method flowchart in Figure 11 includes step 1104, the method flowchart in Figure 11 is an example of combining the data transmission scheme and the channel switching scheme provided in this application. It should be understood that those skilled in the art can use similar methods to combine the method flowchart in Figure 11 with the method flowcharts in any of the above figures; examples will not be given here. As shown in Figure 13, the method includes:
[0291] 1301. The site is determined to meet the fifth condition.
[0292] Steps 1301 and 1302 can be found in step 1104 of Figure 11.
[0293] 1302. The station switches from a non-primary channel to a primary channel.
[0294] In this embodiment, after the station determines that the fifth condition is met, it switches from the non-primary channel to the primary channel; this reduces the chance of missing the update of the third NAV timer on the primary channel. A transceiver module is used for transmitting and receiving PPDUs.
[0295] Figure 14 is a flowchart of another channel switching method provided in an embodiment of this application. The method flowchart in Figure 13 can be combined with one or more of the method flowcharts in Figures 3, 4, 6, 7, 8, 9, 10, 11, and 13. An example of combining the method flowchart in Figure 13 with the method flowchart in Figure 3 is that the method flowchart in Figure 3 also includes steps 1301 to 1302 in Figure 13, and the order of steps 1301 to 1302 with the steps in Figure 3 is not limited. When the method flowchart in Figure 11 includes step 1104, the method flowchart in Figure 11 is an example of the data transmission scheme and channel switching scheme provided in this application. It should be understood that those skilled in the art can use similar methods to combine the method flowchart in Figure 11 with other method flowcharts; examples will not be given here. As shown in Figure 14, the method includes:
[0296] 1401. The fourth station sends the third PPDU, and correspondingly, the first station receives the third PPDU on the non-main channel.
[0297] The fourth station can be the sending station of the third PPDU.
[0298] 1402. The first station determines that the sending station of the third PPDU is operating on the main channel based on the bandwidth information carried by the third PPDU.
[0299] The first station can be an STA. When an STA receives a PPDU sent by its associated AP on a primary channel while on a non-primary channel, it can be determined that the AP is currently operating on the primary channel, for example, because the AP has not switched to a non-primary channel due to reasons such as hidden nodes. In this case, the first station should switch back to the primary channel. One possible implementation of step 1402 is as follows: When the bandwidth information carried by the third PPDU indicates a primary channel, the first station determines that the sending station of the third PPDU is operating on the primary channel.
[0300] 1403. After determining that the sixth condition is met, the first station switches from the non-primary channel to the primary channel.
[0301] The sixth condition includes at least one of the following: the receiving station (or destination receiving station) indicated in the third PPDU does not include the first station; the receiving station indicated in the third PPDU includes the first station, and the first station has not received a PPDU containing itself from the receiving station within a preset time period after completing frame interaction with the sending station of the third PPDU; the TXOP of the sending station of the third PPDU has ended. Determining that the receiving station indicated in the third PPDU does not include the first station includes: determining that the receiving address indicated in the third PPDU does not include the address of the first station, such as a MAC address. Determining that the receiving station indicated in the third PPDU includes: determining that the receiving address indicated in the third PPDU includes the address of the first station. The preset time period can be the Point Coordination Function (PCF) interframe space (PIFS) or other durations. PCF is short for Point Coordination Function. If the first station does not receive a PPDU containing itself (i.e., the first station) within a preset time period after completing frame interaction with the sending station of the third PPDU, it may include: the first station receiving a PPDU that does not contain itself after completing frame interaction with the sending station of the third PPDU, and the first station not receiving any PPDU within a preset time period after completing frame interaction with the sending station of the third PPDU.
[0302] In one possible implementation, after the first station switches from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0. The first station can also perform the following operations: the first station receives a PPDU from an external BSS on the primary channel; when the NAV value of the second NAV timer is less than or equal to the handover delay, it switches from the primary channel to a non-primary channel, where the handover delay characterizes the delay of switching from the non-primary channel to the primary channel. This allows for timely handover to the non-primary channel when or after the non-primary channel changes from busy to idle. The NAV value of the second NAV timer being less than or equal to the handover delay includes a NAV value of 0, a NAV value equal to the handover delay, and a NAV value less than the handover delay.
[0303] In one possible implementation, after the first station switches from a non-primary channel to a primary channel, the NAV value of the second NAV timer is not 0; if the first station completes backoff on the primary channel, the transmission channel for frame transmission cannot include the non-primary channel, i.e., the 20MHz channel covered by the bandwidth corresponding to the second NAV timer, thereby reducing interference to transmissions on the non-primary channel.
[0304] In this embodiment of the application, after determining that the sixth condition is met, the first station switches from the non-primary channel to the primary channel, thereby enabling a faster switch to the primary channel so that PPDU can be transmitted on the primary channel.
[0305] It should be understood that the sequence number of each process in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0306] It should also be understood that, in the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0307] It should also be understood that in some embodiments, the examples are mainly based on devices in existing network architectures, and it should be understood that the specific form of the device is not limited in the embodiments of this application. For example, any device that can achieve the same function in the future is applicable to the embodiments of this application.
[0308] It is understood that, in the various method embodiments, the methods and operations implemented by the device (such as the first station, the second station, etc.) can also be implemented by components (such as chips or circuits) that can be used in the device.
[0309] It is also understood that some optional features in the various embodiments of this application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.
[0310] Those skilled in the art will recognize that, based on the units and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0311] The communication device provided in the embodiments of this application will be described in detail below with reference to Figures 15 to 17. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, for content not described in detail, please refer to the method embodiments above. For the sake of brevity, some content will not be repeated.
[0312] This application embodiment can divide the transmitting or receiving device into functional modules according to the method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the division of functional modules according to each function as an example.
[0313] Figure 15 is a schematic block diagram of the apparatus 10 provided in an embodiment of this application. The apparatus 10 includes a transceiver module 11 and a processing module 12. The transceiver module 11 can implement corresponding communication functions, and the processing module 12 is used for data processing. In other words, the transceiver module 11 is used to perform operations related to receiving and sending, and the processing module 12 is used to perform other operations besides receiving and sending. The transceiver module 11 can also be referred to as a communication interface or a communication unit.
[0314] Optionally, the device 10 may further include a storage module 13, which can be used to store instructions and / or data. The processing module 12 can read the instructions and / or data in the storage module to enable the device to perform the actions of the stations in the aforementioned method embodiments.
[0315] In one design, the device 10 may correspond to a station (e.g., a first station) in the above method embodiments, or to a component of a station (e.g., a chip).
[0316] The device 10 can implement the steps or processes corresponding to the stations in the above method embodiments, wherein the transceiver module 11 can be used to perform transceiver-related operations of the stations in the above method embodiments, and the processing module 12 can be used to perform processing-related operations of the stations in the above method embodiments.
[0317] It should be understood that the specific process of each unit performing the corresponding steps has been described in detail in the method embodiment, and will not be repeated here for the sake of brevity.
[0318] It should also be understood that the device 10 here is embodied in the form of a functional module. The term "module" here may refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memories for executing one or more software or firmware programs, integrated logic circuits, and / or other suitable components that support the described functions.
[0319] The apparatus 10 of each embodiment has the function of implementing the corresponding steps performed by the station (such as the first station) in the method. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function; for example, the transceiver module can be replaced by a transceiver (e.g., the transmitting unit in the transceiver module can be replaced by a transmitter, and the receiving unit in the transceiver module can be replaced by a receiver), and other units, such as processing modules, can be replaced by processors, which respectively execute the transceiver operations and related processing operations in each method embodiment.
[0320] In addition, the transceiver module 11 can also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing module can be a processing circuit.
[0321] Figure 16 is a schematic diagram of another apparatus 20 provided in an embodiment of this application. The apparatus 20 includes a processor 21, which is configured to execute computer programs or instructions stored in a memory 22, or to read data / signaling stored in the memory 22, so that a site including the apparatus 20 performs the methods described in the above method embodiments. Optionally, there may be one or more processors 21.
[0322] Optionally, as shown in FIG16, the device 20 further includes a memory 22 for storing computer programs or instructions and / or data. The memory 22 may be integrated with the processor 21 or may be disposed separately. Optionally, there may be one or more memories 22.
[0323] Optionally, as shown in FIG16, the device 20 further includes a transceiver 23 for receiving and / or transmitting signals. For example, the processor 21 is used to control the transceiver 23 to receive and / or transmit signals.
[0324] As one option, the device 20 is used to implement the operations performed by the site in the various method embodiments described above.
[0325] It should be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0326] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: 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 linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0327] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.
[0328] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0329] Figure 17 is a schematic diagram of a chip system 30 provided in an embodiment of this application. The chip system 30 (or may also be called a processing system) includes logic circuitry 31 and an input / output interface 32.
[0330] The logic circuit 31 can be a processing circuit in the chip system 30. The logic circuit 31 can be coupled to a memory unit, calling instructions from the memory unit, enabling the site including the chip system 30 to implement the methods and functions of the various embodiments of this application. The input / output interface 32 can be an input / output circuit in the chip system 30, outputting processed information from the chip system 30, or inputting data or signaling information to be processed into the chip system 30 for processing.
[0331] As one approach, the chip system 30 is used to implement the operations performed by a station (e.g., the first station) in the various method embodiments described above.
[0332] For example, logic circuit 31 is used to implement the processing-related operations performed by the first station in the above method embodiment; input / output interface 32 is used to implement the sending and / or receiving-related operations performed by the first station in the above method embodiment.
[0333] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed on a computer, cause the computer to perform the methods described in the above embodiments.
[0334] This application also provides a computer program product, which includes instructions or a computer program that, when run on a computer, causes the methods in the above embodiments to be executed.
[0335] This application also provides a chip, which includes: a communication interface and a processor; the communication interface is used for signal transmission and reception of the chip; the processor is used to execute computer program instructions, causing a communication device including the chip to perform the methods as described in the above embodiments.
[0336] The explanations and beneficial effects of the relevant contents in any of the devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0337] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of apparatus or units may be electrical, mechanical, or other forms.
[0338] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. For example, the computer can be a personal computer, a server, or a network device, etc. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs). For example, the aforementioned available media include, but are not limited to, USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, and other media capable of storing program code.
[0339] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for maintaining a network allocation vector (NAV) timer, characterized in that, The method is applied to a site, and the method includes: The first physical layer protocol data unit (PPDU) received on a non-primary channel is determined to satisfy a first condition, the first condition including: the first duration indicated by the duration field in the first PPDU received by the station is greater than the current NAV value of the station; Based on the first duration, update the NAV value of the first NAV timer; The second PPDU received on the main channel is determined to satisfy a second condition, the second condition including: the second duration indicated by the duration field in the second PPDU received by the station is greater than the current NAV value of the station; The NAV value of the first NAV timer is updated based on the second duration.
2. The method according to claim 1, characterized in that, The method further includes: The third PPDU received on the non-main channel is determined to satisfy a third condition, the third condition including: the third PPDU comes from an external basic service set (BSS) of the station or the station cannot determine whether the third PPDU comes from an external BSS or the local BSS of the station, and the third duration indicated by the duration field in the third PPDU is greater than the NAV value of the station's second NAV timer; Based on the third duration, update the NAV value of the second NAV timer.
3. The method according to claim 2, characterized in that, The method further includes: The fourth PPDU received on the main channel is determined to satisfy a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the station, and the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the station's third NAV timer; Based on the fourth duration, update the NAV value of the third NAV timer.
4. The method according to claim 2 or 3, characterized in that, The method further includes: The transmission channel of the third PPDU is determined to include the main channel and the NAV value of the third NAV timer whose duration is greater than that of the site. The end time of the third NAV timer is the end time when the main channel is occupied by the external BSS of the site. The NAV value of the third NAV timer is updated based on the third duration.
5. The method according to any one of claims 2 to 4, characterized in that, The method further includes: Based on the bandwidth information carried by the third PPDU, it is determined that the transmitting station of the third PPDU is operating on the main channel; After determining that the receiving station indicated in the third PPDU does not include the station, the system switches from the non-primary channel to the primary channel; or, After determining that the receiving station indicated in the third PPDU includes the station, frame interaction is performed with the transmitting station on the non-master channel; If no PPDU containing itself is received from the receiving station within a preset time period after the frame interaction with the sending station of the third PPDU is completed, the system switches from the non-main channel to the main channel.
6. The method according to claim 5, characterized in that, After switching from the non-primary channel to the primary channel, the NAV value of the second NAV timer is not 0; the method further includes: PPDU from an external BSS of the site is received on the main channel; When the NAV value of the second NAV timer is less than or equal to the switching delay, the switch is made from the primary channel to the non-primary channel, whereby the switching delay represents the time delay between the non-primary channel and the primary channel.
7. The method according to claim 3, characterized in that, The method further includes: The transmission channel for the fourth PPDU is determined to include the non-primary channel and the NAV value of the fourth duration which is greater than the second NAV timer. Based on the fourth duration, update the NAV value of the second NAV timer.
8. The method according to claim 1, characterized in that, The method further includes: The fourth PPDU received on the main channel is determined to satisfy a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the station, and the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the station's third NAV timer; Based on the fourth duration, update the NAV value of the third NAV timer; After switching from the primary channel to the non-primary channel, the NAV value of the third NAV timer is updated from the first value to 0, and the NAV value of the fourth NAV timer of the station is set to the first value or a first moment is recorded. The fourth NAV timer only has a countdown function, and the first moment is the moment when the station is expected to switch to the primary channel.
9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: It is determined that the frame interaction of the fifth PPDU can be completed on the non-primary channel before the end of the third NAV timer, where the end of the third NAV timer is the end of the time when the primary channel is occupied by the external BSS of the site. The fifth PPDU is transmitted on the non-primary channel.
10. The method according to claim 9, characterized in that, Determining that the frame exchange of the fifth PPDU can be completed before the end of the third NAV timer on the non-master channel includes: It is determined that the frame interaction of the fifth PPDU can be completed before the time after the end of the third NAV timer minus the handover delay on the non-primary channel, where the handover delay represents the delay of switching from the non-primary channel to the primary channel.
11. The method according to claim 9 or 10, characterized in that, Before determining that the frame interaction of the fifth PPDU can be completed before the time after subtracting the handover delay from the end time of the third NAV timer on the non-primary channel, the method further includes: Obtain the TXOP on the non-master channel; or, The backoff counter at the site is determined to be reduced to 0.
12. The method according to any one of claims 1 to 11, characterized in that, After determining that the fifth condition is met, the system switches from the non-primary channel to the primary channel. The fifth condition includes any of the following: the current time is later than or equal to the second time; the current time is later than or equal to the third time; the end time of the station's second NAV timer is later than or equal to the second time; the end time of the second NAV timer is later than or equal to the third time; the station determines that it cannot complete frame interaction before the second time after obtaining the TXOP on the non-primary channel; the station determines that it cannot complete frame interaction before the third time after obtaining the TXOP on the non-primary channel; the station determines that it cannot complete frame interaction before the second time after its backoff counter is decremented to 0; the station determines that it cannot complete frame interaction before the third time after its backoff counter is decremented to 0. The second moment is any one of the following: The end time of the third NAV timer; The time after subtracting the switching delay from the end time of the third NAV timer; the time after subtracting the switching delay of the peer end from the end time of the third NAV timer; The time after subtracting the larger of the switching delay and the peer switching delay from the end time of the third NAV timer; The handover delay represents the delay of switching from the non-primary channel to the primary channel, the peer handover delay represents the delay of the peer of the station switching from the non-primary channel to the primary channel, the end time of the third NAV timer is the end time when the primary channel is occupied by the external BSS of the station, the third time is the second time minus the first duration, the end time of the second NAV timer is the end time when the non-primary channel is occupied by the external BSS of the station, and the first duration is greater than or equal to the short frame transmission duration.
13. A method for maintaining a network allocation vector (NAV) timer, characterized in that, The method is applied to a site, and the method includes: Maintain a first NAV timer and a third NAV timer corresponding to the main channel. The NAV values of the first NAV timer and the third NAV timer are used to determine the state of the main channel. Maintain the first NAV timer and the second NAV timer corresponding to the non-primary channel. The NAV values of the first NAV timer and the second NAV timer are used to determine the state of the non-primary channel.
14. The method according to claim 13, characterized in that, Maintaining the first NAV timer and the third NAV timer corresponding to the main channel includes: The second physical layer protocol data unit (PPDU) received on the main channel is determined to satisfy a second condition, the second condition including: the second PPDU comes from the site's Basic Service Set (BSS), and the second duration indicated by the duration field in the second PPDU received by the site is greater than the site's current NAV value; Update the NAV value of the first NAV timer based on the second duration; or, The fourth PPDU received on the main channel is determined to satisfy a fourth condition, the fourth condition including: the fourth PPDU comes from an external BSS of the station or the station cannot determine whether the fourth PPDU comes from an external BSS or the local BSS of the station, and the fourth duration indicated by the duration field in the fourth PPDU is greater than the NAV value of the station's third NAV timer; The NAV value of the third NAV timer is updated based on the fourth duration.
15. The method according to claim 13 or 14, characterized in that, Maintaining the first NAV timer and the second NAV timer corresponding to the non-master channel includes: It is determined that the first PPDU received on the non-primary channel satisfies a first condition, the first condition including: the first PPDU comes from the local BSS of the site, and the first duration indicated by the duration field in the first PPDU received by the site is greater than the current NAV value of the site; Based on the first duration, update the NAV value of the first NAV timer; or, The third PPDU received on the non-main channel is determined to meet a third condition, the third condition including: the third PPDU comes from an external BSS of the station or the station cannot determine whether the third PPDU comes from an external BSS or the local BSS of the station, and the third duration indicated by the duration field in the third PPDU is greater than the NAV value of the station's second NAV timer; The NAV value of the second NAV timer is updated based on the third duration.
16. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 1-15.
17. A communication device, characterized in that, The device includes a processor coupled to a memory for storing computer programs or instructions, and the processor is configured to execute the computer programs or instructions in the memory, causing the communication device to perform the method as described in any one of claims 1 to 15.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed, cause a computer to perform the method as described in any one of claims 1 to 15.
19. A chip, characterized in that, include: A communication interface and a processor; the communication interface is used for signal transmission and reception of the chip; the processor is used to execute a computer program or instructions, causing the communication device including the chip to perform the method as described in any one of claims 1 to 15.
20. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 15.