Patent Publication Number: US-11032207-B2

Title: Link aggregation with floating primary link

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This Patent Application claims priority to U.S. Provisional Patent Application No. 62/588,232 entitled “LINK AGGREGATION WITH FLOATING PRIMARY LINK” filed on Nov. 17, 2017 and assigned to the assignee hereof. The disclosure of the prior Application is considered part of and is incorporated by reference in this Patent Application. 
    
    
     TECHNICAL FIELD 
     The present implementations relate generally to wireless communications, and more specifically, to link aggregation in wireless networks. 
     DESCRIPTION OF THE RELATED TECHNOLOGY 
     A wireless local area network (WLAN) may be formed by one or more access points (APs) that provide a shared wireless communication medium for use by a number of client devices also referred to as stations (STAs). The shared wireless medium may encompass multiple frequency bands (such as the 2.4 GHz, 5 GHz, or 6 GHz frequency bands) or multiple channels of one or more frequency bands. Link aggregation is a technique that may allow the AP to communicate with a particular STA over multiple concurrent communication “links.” For example, to improve data throughput, the shared wireless medium may be divided into a primary link and one or more secondary links. The primary and secondary links may be of various bandwidths, for example, by bonding a number of 20 MHz-wide channels together to form 40 MHz-wide channels, 80 MHz-wide channels, or 160 MHz-wide channels. 
     The basic building block of a WLAN conforming to the Institute of Electronics Engineers (IEEE) 802.11 family of standards is a Basic Service Set (BSS), which is managed by an AP. Each BSS is identified by a service set identifier (SSID) that is advertised by the AP. Each AP periodically broadcasts beacon frames on the primary link to enable any STAs within wireless range of the AP to establish and maintain a communication link with the WLAN. In a typical WLAN, only one wireless device (AP or STA) may use the wireless medium at any given time. To prevent multiple devices from accessing the shared wireless medium at the same time (which may result in collisions), wireless devices may contend with each other for access to the wireless medium. For example, each wireless device may have a Media Access Controller (MAC) that may be used to contend for access on a particular link. 
     A wireless device with only one MAC may contend for access on only one of the aggregated links. For example, the wireless device may contend for access on the primary link, and may use the secondary links only if it gains access to the shared wireless medium on the primary link. If the primary link is busy (because another device in the vicinity is transmitting on the same wireless channel), no other wireless devices may access the shared wireless medium even if one or more secondary links are idle. Thus, even with link aggregation, the performance of the wireless network may be limited by the load on the primary link. 
     SUMMARY 
     The systems, methods and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein. 
     One innovative aspect of the subject matter of this disclosure can be implemented in a method for wireless communication by a wireless communication device. In some implementations, the method may include steps of establishing a primary communication link with a second wireless device, the primary communication link being associated with one or more first wireless channels, access to the primary communication link being based on contention; selectively accessing a secondary communication link with the second wireless device based at least in part on having access to the primary communication link, the secondary communication link being associated with one or more second wireless channels; and selectively reassigning the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on one or more channel conditions of the first wireless channels or the second wireless channels. 
     Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless device. The wireless device includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the wireless device to establish a primary communication link with a second wireless device, the primary communication link being associated with one or more first wireless channels, access to the primary communication link being based on contention; selectively access a secondary communication link with the second wireless device based at least in part on having access to the primary communication link, the secondary communication link being associated with one or more second wireless channels; and selectively reassign the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on one or more channel conditions of the first wireless channels or the second wireless channels. 
     The one or more channel conditions may include an indication of an amount of activity on the first or second wireless channels. For example, the amount of activity may be based on a frequency of busy channel conditions on the first or second wireless channels or a number of failed attempts to access the first or second wireless channels. In some implementations, the primary communication link may be reassigned to the one or more second wireless channels when the indication of the amount of activity on the first wireless channels is above a first threshold level, the indication of the amount of activity on the second wireless channels is below a second threshold level, the indication of the amount of activity on the first wireless channels exceeds the amount of activity on the second wireless channels, or a combination thereof. 
     In some implementations of the methods and wireless communication devices, selectively reassigning the primary communication link includes transmitting primary link information to the second wireless device. For example, the primary link information may indicate a change in the primary communication link. In some aspects, the primary link information may be provided in a first beacon frame broadcast on the one or more first wireless channels. In some other aspects, the primary link information may be further provided in a second beacon frame broadcast on the one or more second wireless channels. 
     In some implementations of the methods and wireless communication devices, transmitting the primary link information includes transmitting a data frame, a management frame, or a control frame, where the data frame, management frame or control frame includes an Operating Mode Indication (OMI) control field that includes the primary link information. In some other implementations of the methods and wireless communication devices, transmitting the primary link information includes receiving an uplink transmission from the second wireless device and transmitting a trigger message to the second wireless device in response to the uplink transmission, where the trigger message includes the primary link information. Still further, in some other implementations of the methods and wireless communication devices, transmitting the primary link information includes transmitting a trigger message to the second wireless device based at least in part on a target wake time (TWT) service period for the second wireless device, where the trigger message includes the primary link information. 
     In some implementations of the methods and wireless communication devices, the primary link information may further indicate a primary-switching time at which the change is to occur. Accordingly, the primary communication link may be reassigned to the one or more second wireless channels at the primary-switching time. In some aspects, the primary-switching time may coincide with at least one of a target beacon transmission time (TBTT) or a TWT of the wireless device. In some other aspects, the primary link information may further include a countdown timer indicating a number of TBTTs or TWTs remaining until the primary-switching time. 
     Another innovative aspect of the subject matter described in this disclosure can be implemented in a method performed by a wireless station (STA). The method may include steps of establishing a primary communication link with an access point (AP), the primary communication link being associated with one or more first wireless channels, access to the primary communication link being based on contention; selectively accessing a secondary communication link with the AP based at least in part on having access to the primary communication link, the secondary communication link being associated with one or more second wireless channels; receiving primary link information from the AP indicating a change in the primary communication link; and dynamically changing the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on the primary link information. 
     Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless device. The wireless device includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the wireless device to establish a primary communication link with an access point (AP), the primary communication link being associated with one or more first wireless channels, access to the primary communication link being based on contention; selectively access a secondary communication link with the AP based at least in part on having access to the primary communication link, the secondary communication link being associated with one or more second wireless channels; receive primary link information from the AP indicating a change in the primary communication link; and dynamically change the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on the primary link information. 
     In some implementations of the methods and wireless communication devices, receiving the primary link information includes receiving a beacon frame broadcast by the AP, where the beacon frame includes the primary link information. In some other implementations of the methods and wireless communication devices, receiving the primary link information includes receiving a data frame, a management frame, or a control frame transmitted by the AP, where the data frame, management frame, or control frame includes an Operating Mode Indication (OMI) control field that includes the primary link information. 
     In some implementations of the methods and wireless communication devices, receiving the primary link information from the AP includes waking up from a power save state and receiving a trigger message from the AP after waking up from the power save state, where the trigger message includes the primary link information. Still further, in some other implementations of the methods and wireless communication devices, receiving the trigger message includes a step of initiating an uplink transmission to the AP upon waking up from the power save state, where the trigger message is received from the AP in response to the uplink transmission. 
     In some implementations of the methods and wireless communication devices, the primary link information may further indicate a primary-switching time at which the change is to occur. Accordingly, the primary communication link may be changed to the one or more second wireless channels at or after the primary-switching time. In some aspects, the primary-switching time may coincide with at least one of a TBTT or a TWT of the STA. In some other aspects, the primary link information may further include a countdown timer indicating a number of TBTTs or TWTs remaining until the primary-switching time. 
     Still further, in some implementations of the methods and wireless communication devices, dynamically changing the primary communication link includes entering a power save state after receiving the primary link information; waking up from the power save state at or after the primary-switching time; and using the one or more second wireless channels as the primary communication link upon waking up from the power save state. 
     Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings and the claims. Note that the relative dimensions of the following figures may not be drawn to scale. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a block diagram of a wireless system. 
         FIG. 2  shows a timing diagram depicting an example multi-link communication. 
         FIGS. 3A and 3B  show timing diagrams depicting example operations for changing the primary link in a multi-link environment. 
         FIGS. 4A-4C  show timing diagrams depicting example operations for notifying a wireless station (STA) of a primary link change. 
         FIG. 5  shows a timing diagram depicting an example operation for changing the primary link in a multi-link communication. 
         FIG. 6  shows a block diagram of an example wireless station for use in wireless communication according to some implementations. 
         FIG. 7  shows a block diagram of an example access point for use in wireless communication according to some implementations. 
         FIG. 8  shows a flowchart illustrating an example process for configuring a multi-link environment according to some implementations. 
         FIG. 9  shows a flowchart illustrating an example process for selectively reassigning the primary link in a multi-link environment according to some implementations. 
         FIG. 10  shows a flowchart illustrating an example process for dynamically changing the primary link of a STA according to some implementations. 
         FIG. 11  shows a flowchart illustrating an example process for dynamically changing the primary link of a STA according to some other implementations. 
     
    
    
     Like reference numbers and designations in the various drawings indicate like elements. 
     DETAILED DESCRIPTION 
     The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. The described implementations can be implemented in any device, system or network that is capable of transmitting and receiving radio frequency (RF) signals according to one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, the IEEE 802.15 standards, the Bluetooth® standards as defined by the Bluetooth Special Interest Group (SIG), or the Long Term Evolution (LTE), 3G, 4G or 5G standards, among others. The described implementations can be implemented in any device, system or network that is capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA), single-user (SU) multi-input multiple-output (MIMO) and multi-user (MU) MIMO. The described implementations also can be implemented using other wireless communication protocols or RF signals suitable for use in one or more of a wireless personal area network (WPAN), a wireless local area network (WLAN), a wireless wide area network (WWAN), or an internet of things (IOT) network. 
     Link aggregation is a technique that may allow wireless devices to communicate with one another via multiple concurrent communication links. More specifically, link aggregation allows a wireless device to aggregate data transmissions over a primary communication link and one or more secondary communication links, thereby increasing throughput by spreading the transmissions over a wider bandwidth. For example, a wireless device with multiple Media Access Controllers (MACs) may contend for access to the shared wireless medium on multiple communication links, concurrently and independently of one another. However, a wireless device with a single MAC typically contends for access on the primary link, and may use the secondary links only if it gains access to the shared wireless medium on the primary link. Because some wireless devices have only one MAC, the increase in throughput achievable through link aggregation may be limited by the load on the primary link. Thus, the implementations described herein may enable wireless devices in a multi-link environment to dynamically change their primary links depending on the channel conditions in the shared wireless medium. 
     In some implementations, an access point (AP) may monitor the channel conditions on a primary link and one or more secondary links of a multi-link environment, and may signal a change in the primary link (such as to one of the secondary links) when one or more conditions are met. For example, the change in primary link may be triggered when the amount of traffic or interference on the current primary link exceeds a threshold level, a secondary link has less traffic or interference than the current primary link, or any combination thereof. The AP may signal the change in primary link to one or more wireless stations (STAs) in its Basic Service Set (BSS) via broadcast or unicast communication frames. Aspects of the disclosure recognize that STAs typically listen for beacon frames broadcast by the AP at Target Beacon Transmission Times (TBTTs). Thus, in some aspects, the AP may signal the change in primary link via beacon frames broadcast periodically at Target Beacon Transmission Times (TBTTs). In some other aspects, the AP may signal the change in primary link via unicast management or control frames targeted at STAs that may have missed one or more beacons broadcast by the AP. 
     Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. The throughput of communications in multi-link environments (such as provided by aggregating a primary link with one or more secondary links) may be improved. For example, by dynamically changing the primary link based at least in part on the channel conditions of the various links, an AP may enable its associated STAs to contend for medium access on wireless channels that would otherwise remain idle (or underutilized) as secondary links. This may allow for more optimized usage of the available bandwidth in the shared wireless medium. Furthermore, by signaling the change in primary link via beacons broadcast at one or more TBTTs, the AP may ensure that the change occurs at a time when most (if not all) of its associated STAs are likely to be listening for updates regarding the BSS. This may reduce the amount of time and resources needed to notify each STA in the BSS of the change in primary link. 
     In the following description, numerous specific details are set forth such as examples of specific components, circuits, and processes to provide a thorough understanding of the present disclosure. The term “HE” may refer to a high efficiency frame format or protocol defined, for example, by the IEEE 802.11ax specification. Thus, the term “HE AP” may refer to an AP that operates according to the IEEE 802.11ax specification, and the term “HE STA” may refer to STAs that operate according to the IEEE 802.11ax specification. 
     The term “multi-link” or “ML” may refer to various link aggregation techniques that may be used to aggregate transmissions across multiple communication links. Thus, the term “ML AP” may refer to an AP that is capable of link aggregation, and the term “ML STA” may refer to STAs that are capable of link aggregation. The term “legacy STA” may refer to any STA that does not support link aggregation. The term “primary link” or “primary communication link” may refer to a set or subset of wireless channels on which peer devices (such as a STA and an AP) contend for access to a shared wireless medium. The term “secondary link” or “secondary communication link” may refer to any set or subset of wireless channels that are accessible by the peer devices for purposes of link aggregation. 
     In addition, although described herein in terms of exchanging data frames between wireless devices, the implementations may be applied to the exchange of any data unit, packet, or frame between wireless devices. Thus, the term “frame” may include any frame, packet, or data unit such as, for example, protocol data units (PDUs), MAC protocol data units (MPDUs), aggregated MPDUs (A-MPDUs), and physical layer convergence procedure protocol data units (PPDUs). 
       FIG. 1  shows a block diagram of a wireless system  100 . The wireless system  100  is shown to include an access point (AP)  110  and a number of wireless stations STA 1 -STA 3 . Although only three wireless stations STA 1 -STA 3  are shown in the example of  FIG. 1  for simplicity, it is to be understood that the wireless system  100  may include any number of STAs. 
     The wireless stations STA 1 -STA 3  may include any suitable Wi-Fi enabled wireless device including, for example, a cell phone, personal digital assistant (PDA), tablet device, laptop computer, other user equipment (UE), access terminal (AT) or the like. The AP  110  may be any suitable device that allows one or more wireless devices to connect to a network (such as a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), or the Internet) using Wi-Fi, Bluetooth, or any other suitable wireless communication standards. More specifically, the AP  110  may correspond to, or provide, a basic service set (BSS). A BSS represents a basic building block of a wireless network, and may thus include a single AP (such as AP  110 ) and one or more associated STAs (such as STA 1 -STA 3 ). In some implementations, the AP  110  may be any suitable wireless device (such as a wireless STA) acting as a software-enabled access point (“SoftAP”). The AP  110  and stations STA 1 -STA 3  may each include one or more transceivers, one or more processing resources (such as processors or ASICs), one or more memory resources, and a power source. 
     In some implementations, the AP  110  may be capable of establishing multiple communication links with each of the wireless stations STA 1 -STA 3 . For example, the AP  110  may communicate with each of the wireless stations STA 1 -STA 3  via a primary link and one or more secondary links. In the example of  FIG. 1 , each of the wireless stations STA 1 -STA 3  is shown to have only one secondary link. However, in actual implementations the AP  110  may establish any number of secondary links with any of the wireless stations STA 1 -STA 3 . In some implementations, the communication links may encompass different frequency bands. For example, the primary link may comprise one or more channels of the 5 GHz frequency band and the secondary link may comprise one or more channels of the 6 GHz frequency band. In some other implementations, the communication links may encompass different channels of the same frequency band. For example, the primary link may comprise a first subset of channels in the 6 GHz frequency band and the secondary link may comprise a second subset of channels in the 6 GHz frequency band. Still further, in some implementations, the communication links may encompass different channels of different frequency bands. For example, the primary link may comprise a first subset of channels in the 5 GHz frequency band and a first subset of channels in the 6 GHz frequency band, and the secondary link may comprise a second subset of channels in the 5 GHz frequency band and a second subset of channels in the 6 GHz frequency band. 
     Each of the wireless devices (such as AP  110  and STA 1 -STA 3 ) may have one or more media access controllers (MACs) that may be used to contend for access to the shared wireless medium. For example, the MAC may implement carrier sense multiple access collision avoidance (CSMA/CA) techniques to listen to the wireless medium to determine when the wireless medium is idle. When the wireless medium has been idle for a given duration, the MAC may contend for medium access (such as by waiting a random “back-off” period before attempting to transmit on the wireless medium). The winning device may be granted exclusive use of the shared wireless medium for a period of time (commonly referred to as a transmit opportunity or TXOP), during which only the winning device may transmit (or receive) data over the shared wireless medium. 
     A wireless device with multiple MACs (or multiple wireless radios) may contend for medium access on each of the communication links independently. For example, a different MAC may be assigned to each of the different communication links. As used herein, the term “multi-MAC device” may refer to any device that uses multiple MACs to communicate over multiple communication links. In some implementations, the AP  110  may be a multi-MAC device. For example, the AP  110  may include a first MAC configured to access the wireless medium via the primary link and a second MAC configured to access the wireless medium via the secondary link. More specifically, the first MAC may contend for medium access (on the primary link) when the primary link is idle, independent of the traffic conditions on the secondary link. Similarly, the second MAC may contend for medium access (on the secondary link) when the secondary link is idle, independent of the traffic conditions on the primary link. Thus, as long as one of the communications links is idle (such as the primary link or the secondary link), a multi-MAC device may gain access to the shared wireless medium. However, many wireless devices currently have only one MAC. 
     A wireless device with a single MAC (or a single wireless radio) may contend for medium access on only one of the communication links at any given time. For example, the wireless device may include a wideband radio that can be configured to communicate on each of the primary and secondary links. As described above, each of the primary and secondary links may be of various bandwidths, for example, by bonding a number of 20 MHz-wide channels together to form 40 MHz-wide channels, 80 MHz-wide channels, or 160 MHz-wide channels. It is noted that the next generation of Wi-Fi may allow a 320 MHz-wide channel (by accessing the 6 GHz frequency band), which may allow for link aggregation across multiple secondary channels. Thus, the MAC associated with the wideband radio may be assigned to cover a wide range of frequencies encompassed by the primary link and one or more secondary links. As used herein, the term “single-MAC device” may refer to any device that uses a single MAC to communicate over multiple communication links. 
     In some implementations, one or more of the wireless stations STA 1 -STA 3  may be a single-MAC device. For example, the single MAC may be configured to contend for medium access on the primary link (such as by waiting a random back-off period before attempting to transmit on an idle channel). However, a single-MAC device may attempt to access the secondary link only after it has gained access to the wireless medium on the primary link. For example, while operating on the primary link, the single-MAC device may check for a signal on the secondary link to determine whether the secondary link is idle. In some aspects, the single-MAC device may use energy detection (ED) or power detection (PD) techniques to sense the level of activity on the secondary link to determine if, and when, link aggregation is possible. If the activity on the secondary link is sufficiently low (such as below a threshold), the single-MAC device may access the secondary link, concurrently with the primary link, to transmit or receive wireless communications using link aggregation techniques. In contrast with the primary link, access to the secondary link is not contention-based. For example, the single-MAC device need not wait a random back-off period (after determining that the secondary link is idle) before attempting to transmit on the secondary link. However, the single-MAC device may use link aggregation only when the primary link and the secondary link are concurrently idle. 
     In some implementations, each of the wireless devices in the WLAN  120  (including the AP  110  and each of the wireless stations STA 1 -STA 3 ) may be a single-MAC device. Accordingly, only the primary link may be used to contend for access to the shared wireless medium. In some other implementations, the WLAN  120  may include a combination of multi-MAC devices and single-MAC devices. For example, the AP  110  may be a multi-MAC device (having two or more wireless radios) and the wireless stations STA 1 -STA 3  may be single-MAC devices (having a single wideband radio). As noted above, a multi-MAC device may contend on each of the communication links, independently, and may thus have a competitive advantage over single-MAC devices in obtaining access to the shared wireless medium (via at least one of the communication links). To ensure each of the wireless devices in the WLAN  120  has a fair chance of accessing the shared wireless medium, multi-MAC devices may also be configured to contend for medium access on only the primary link. In some implementations, where the AP  110  is a multi-MAC device, the AP  110  may contend for medium access on only the primary link when attempting to transmit downlink (DL) data. However, when attempting to transmit management and control frames (such as beacons, probe responses, and the like) or responding to uplink (UL) transmissions by a particular STA, the AP  110  may contend for medium access on each of the primary and secondary links separately and concurrently. 
     Aspects of this disclosure recognize that, because single-MAC devices must contend for medium access on only the primary link, the overall throughput of the WLAN  120  may be limited by the load on the primary link. For example, as long as the primary link is busy (due to ongoing transmissions by a wireless device in the current BSS or an overlapping BSS), no other wireless device may utilize the shared wireless medium even if the secondary link is idle. Thus, to improve the throughput and channel utilization in a multi-link environment, the implementations described herein may dynamically change (or reallocate) the primary link based at least in part on channel conditions on each of the communication links. For example, when the current primary link is heavily loaded (due to heavy traffic or interference on the corresponding channel), and the load on the secondary link is relatively light, the primary and secondary links may switch roles. More specifically, single-MAC devices (and some multi-MAC devices) may contend for medium access on the wireless channels associated with the existing secondary link (now the new primary link), and may utilize the wireless channels associated with the existing primary link (now the new secondary link) for purposes of link aggregation only. 
       FIG. 2  shows a timing diagram  200  depicting an example multi-link (ML) communication. For purposes of discussion, the example ML communication may be performed by a STA in a wireless network. With reference for example to the wireless system  100  of  FIG. 1 , the STA may be one of the wireless stations STA 1 -STA 3 . However, in actual implementations, the example ML communication depicted in  FIG. 2  may be performed by any of the wireless devices (including the AP  110 ) in the WLAN  120 . In some implementations, the STA may be a single-MAC device that is configured to communicate with an AP via multiple communication links. For example, a first link (Link 1 ) may encompass a first set of channels spanning one or more frequency bands and a second link (Link 2 ) may encompass a second set of channels spanning the same or different frequency bands. Although only two communication links are shown in  FIG. 2 , it is to be understood that the STA may establish any number of communication links with the AP. 
     At time to, Link 1  may be configured as the primary link and Link 2  may be configured as the secondary link. At time t 1 , the STA attempts to access the wireless medium. For example, the STA may have UL data to transmit to the AP or another STA in the wireless network. Since Link 1  is the primary link, the STA may attempt to access the shared wireless medium via Link 1 . In the example of  FIG. 2 , Link 1  may be busy when the STA attempts to access the wireless medium at time t 1 . For example, using energy or power detection techniques, the STA may sense that the energy or power in the wireless channel associated with Link 1  exceeds a threshold level. The activity on Link 1  may be caused by transmissions from other wireless devices in the vicinity of the STA (such as APs or STAs in the same BSS or an overlapping BSS) or various sources of wireless interference. Since Link 1  is busy, the STA may refrain from even contending for access to the shared wireless medium at time t 1 . 
     In some implementations, the STA may attempt to access the shared wireless medium for at least a threshold duration (such as from times t 1  to t 2 ). For example, the STA may continue monitoring the activity (energy or power) level of Link 1 , for the threshold duration, to determine whether the communications link is available for medium access. However, in the example of  FIG. 2 , Link 1  remains busy for at least the entirety of the threshold duration. In some implementations, the threshold duration may correspond with the duration of a beacon interval. It is noted that Link 2  is idle for the duration in which the STA attempts to access the wireless medium on Link 1  (from times t 1  to t 2 ). However, because the STA is a single-MAC device and Link 2  is a secondary link, the STA may be unable to contend for medium access on Link 2  In some implementations, the STA may change or switch its primary link (from Link 1  to Link 2 ) if one or more conditions are satisfied when the threshold duration expires. For example, the STA may switch its current primary link with a secondary link if the load (activity or interference) on the primary link is above a threshold level, the load on the secondary link is below a threshold level, the load on the secondary link is less than the load on the primary link, or any combination thereof. 
     Thus, rather than wait for the current primary link (Link 1 ) to become idle, the STA may change its primary link from Link 1  to Link 2  at time t 2 . Upon switching the primary link to Link 2 , the STA may detect that Link 2  is idle and may thus contend for access to the shared wireless medium on Link  2 . For example, the STA may wait a random back-off time before initiating a UL transmission (TX) on Link 2 . In the example of  FIG. 2 , the STA wins access to the shared wireless medium, at time t 3 , and is thus able to successfully transmit a frame (or PPDU) of UL data on Link 2 . While communicating on Link 2 , the STA may monitor the activity level on Link 1  to determine whether the communication link is available for link aggregation. Since Link 1  is busy at time t 3 , the STA may transmit the UL frame only on Link 2 . At time t 4 , the STA may transmit another frame of UL data on the shared wireless medium. Since Link 1  is still busy at time t 4 , the STA may again transmit the UL frame only on Link 2 . 
     At time t 5 , the STA may transmit another frame of UL data on the shared wireless medium. At this time, Link 1  is no longer busy. Thus, the STA may transmit a frame of UL data on Link 2  and another frame of UL data, concurrently, on Link 1 . For example, the STA may use link aggregation techniques to aggregate the remaining UL data for transmission across the primary link (Link 2 ) and the secondary link (Link 1 ). Upon completion of the multi-link (ML) transmission at time t 5 , the STA&#39;s access to the shared wireless medium may be terminated. For example, the STA may have no more UL data in its queue or the TXOP assigned to the STA may have expired. Accordingly, the STA may relinquish control of Link 2  to allow other devices to access the shared wireless medium. 
     At time t 6 , the STA may once again attempt to access the shared wireless medium. Since Link 2  is the current primary link, the STA may attempt to access the shared wireless medium via Link 2 . However, in the example of  FIG. 2 , Link 2  may be busy when the STA attempts to access the wireless medium at time t 6 . For example, using energy or power detection techniques, the STA may sense that the energy or power in the wireless channel associated with Link 2  exceeds a threshold level. The activity on Link 2  may be caused by transmissions from other wireless devices in the vicinity of the STA (such as APs or STAs in the same BSS or an overlapping BSS) or various sources of wireless interference. Since Link 2  is busy, the STA may refrain from contending for access to the shared wireless medium at time t 6 . 
     In some implementations, the STA may attempt to access the shared wireless medium for at least a threshold duration (such as from times t 6  to t 7 ). However, in the example of  FIG. 2 , Link 2  remains busy for at least the entirety of the threshold duration. It is noted that Link 1  is idle for the duration in which the STA attempts to access the wireless medium on Link 2  (from times t 6  to t 7 ). Thus, in some implementations, the STA may change or switch its primary link (from Link 2  to Link 1 ) if one or more conditions are satisfied when the threshold expires. For example, the STA may switch its current primary link with a secondary link if the load on the primary link is above a threshold level, the load on the secondary link is below a threshold level, the load on the secondary link is less than the load on the primary link, or any combination thereof. 
     Thus, rather than wait for the current primary link (Link 2 ) to become idle, the STA may once again switch its primary link from Link 2  back to Link 1  at time t 7 . Upon switching the primary link to Link 1 , the STA may detect that Link 1  is idle and may thus contend for access to the shared wireless medium on Link 1 . In the example of  FIG. 2 , the STA wins access to the shared wireless medium, at time t 8 , and is thus able to successfully transmit a frame (or PPDU) of UL data on Link 1 . While communicating on Link 1 , the STA may monitor the activity level on Link 2  to determine whether the communication link is available for link aggregation. Since Link 2  is busy at time t 8 , the STA may transmit the UL frame only on Link 1 . At time t 9 , the STA may transmit another frame of UL data on the shared wireless medium. At this time, Link 2  is no longer busy. Thus, the STA may transmit a frame of UL data on Link 1  and another frame of UL data, concurrently, on Link 2  (using link aggregation). 
     In the example ML communication described above, the role of “primary link” is not fixed or permanently assigned to any particular one of the communication links Link 1  or Link 2 . Rather, the primary link may be dynamically changing (switching between Link 1  and Link 2 ) based, at least in part, on the channel conditions of the various communication links. By using a “floating” primary link, the STA (and other wireless devices in the network) may adapt to changing channel conditions in the shared wireless medium, for example, to ensure efficient utilization of the available communication links or wireless channels. For example, when the current primary link becomes overloaded (compared to a secondary link), the STA may change or reconfigure its primary link so that a less-loaded communication link becomes the new primary link (such as at times t 2  and t 7  of  FIG. 2 ). This allows the STA to take advantage of the available resources on the less-loaded communication link to gain access to the shared wireless medium. In contrast, a STA that uses a fixed primary link may have to wait a relatively long time for the primary link to become idle before it can even contend for access to the shared wireless medium. 
     The decision to switch the primary link with a secondary link may depend on the channel conditions associated with each of the communication links. For example, it may desirable to change the primary link if a secondary link is less busy or underutilized compared to the current primary link. On the other hand, it may not be desirable to change the primary link if the secondary link(s) is even more heavily loaded than the current primary link. In some wireless networks, the AP may have knowledge of the channel conditions on each of the communication links. For example, the AP may monitor the traffic patterns or activity of its associated STAs on each of the primary link and the secondary link. Alternatively, or in addition, the AP may learn the channel conditions on each of the communication links by correlating with past channel conditions on the primary link and the secondary link. 
     In some implementations, the AP may manage or control the assignment of the primary link in a multi-link environment. For example, the AP may monitor the channel conditions on each of the communication links, and may selectively assign (and re-assign) the role of primary link to one of the communication links based at least in part on the channel conditions associated with each of the communication links. In some aspects, the AP may signal changes in the primary link via beacon frames broadcast at target beacon transmission times (TBTTs). For example, beacon frames are typically broadcast at regular intervals (referred to as “beacon intervals”) to enable any STAs in the vicinity of the AP to establish or maintain a connection to the wireless network. Accordingly, most (if not all) STAs in the wireless network may be expected to listen for such beacon frames from the AP at the start of each beacon interval. In some aspects, the AP may dynamically change or reassign the primary link to optimize throughput across the multiple communication links on a per-TBTT basis. 
       FIG. 3A  shows a timing diagram  300 A depicting an example operation for changing the primary link in a multi-link environment. The example operation may be performed by an AP in a wireless network such as, for example, the AP  110  of  FIG. 1 . In some implementations, the AP may be a single-MAC device that uses a single MAC to communicate with one or more associated STAs via multiple communication links. In some other implementations, the AP may be a multi-MAC device that uses multiple MACs to communicate with one or more associated STAs via respective communication links. For example, a first link (Link 1 ) may encompass a first set of channels spanning one or more frequency bands and a second link (Link 2 ) may encompass a second set of channels spanning the same or different frequency bands. Although only two communication links are shown in  FIG. 3A , it is to be understood that the AP may establish any number of communication links with its associated STAs. 
     At time to, the AP may broadcast respective beacon frames (Beacon 1  and Beacon 2 ) on each of the communication links Link 1  and Link 2  For example, time to may coincide with a TBTT or the start of a beacon interval (from times t 0  to t 1 ). In some aspects, although not shown for simplicity, the AP may contend for medium access at the start of each beacon interval. During this time, Link 1  may be configured as the primary link and Link 2  may be configured as the secondary link. Thus, if the AP is a single-MAC device, the AP may contend for medium access on Link 1  to broadcast Beacon 1  and, upon gaining access to shared wireless medium via Link 1 , the AP may use link aggregation to broadcast Beacon 2  on Link 2 . On the other hand, if the AP is a multi-MAC device, the AP may contend for medium access on each of the communication links Link 1  and Link 2 , concurrently, and may independently broadcast the beacon frames Beacon 1  and Beacon 2  upon gaining access to the respective communication links. 
     It is noted that ML STAs in the wireless network may listen to the primary link (Link 1 ) for beacon frames (Beacon 1 ) broadcast by the AP. However, the AP also may support legacy STAs that may not capable of ML functionality. More specifically, legacy STAs may not be capable of concurrently communicating over multiple communication links. Thus, legacy STAs may not distinguish between a primary link or secondary link. In some instances, such legacy STAs may be associated with the AP on Link 2 , and may thus only listen to Link 2  for beacon frames (Beacon 2 ) broadcast by the AP. Accordingly, it may be desirable for the AP to broadcast beacon frames on each of the available communication links (including the primary link and any secondary links). 
     In some implementations, the AP may monitor the channel conditions on each of the communication links Link 1  and Link 2 , for the duration of the beacon interval (from times t 0  to t 1 ), to determine whether the quality or throughput of ML communications can be improved by dynamically changing the primary link. More specifically, in determining whether to change the primary link, the AP may consider the load (activity or interference) on Link 1  and Link 2 . For example, it may be desirable to change the primary link if the load on the primary link is above a threshold level, the load on the secondary link is below a threshold level, the load on the secondary link is less than the load on the primary link, or any combination thereof. 
     At time t 1 , the AP may switch the primary link from Link 1  to Link 2 . For example, time t 1  may coincide with a TBTT or the start of a subsequent beacon interval (from times t 1  to t 2 ). Thus, the AP may signal the change in primary link via one or more beacon frames broadcast at the start of the beacon interval. Since Link 1  is configured as the primary link at this time (and thus ML STAs are currently listening to Link 1  for beacon information), the AP may provide primary link (PL) information in Beacon 1 , broadcast on Link 1 , at time t 1 . For example, the PL information may be provided in a new element or field in the beacon frame that can be interpreted or decoded by ML STAs. In some aspects, the PL information may indicate that the primary link has been changed. In some other aspects (where there are multiple secondary links), the PL information may specify which secondary link is to become the new primary link. 
     Upon receiving the PL information on Link 1 , any ML STAs in the wireless network may switch their primary links from Link 1  to Link 2 . Thus, the ML STAs may subsequently listen for beacon frames and contend for medium access on Link 2 . In some implementations, the AP may include the PL information in other management or control frames (such as probe responses, association responses, reassociation responses, and the like) transmitted to any associated STAs after the change in primary link occurs at time t 1 . For example, the AP may signal the current primary link (Link 2 ) to any STAs that may have recently joined the wireless network or otherwise missed Beacon 1  broadcast at time t 1 . In some implementations, the AP may continue to monitor the channel conditions on each of the communication links Link 1  and Link 2 , for the duration of the beacon interval (from times t 1  to t 2 ), to determine whether the quality or throughput of ML communications can be improved by dynamically changing the primary link. 
     At time t 2 , coinciding with the next TBTT, the AP may decide to maintain the primary link on Link 2  For example, the AP may determine that the quality or throughput of communications would not be improved by switching the primary link back to Link 1 . Thus, the AP may broadcast respective beacon frames Beacon 1  and Beacon 2  on each of the communication links Link 1  and Link 2 , at time t 2 , without signaling a change in primary link. It is noted that Link 2  is now configured as the primary link and Link 1  is now configured as the secondary link. Thus, if the AP is a single-MAC device, the AP may contend for medium access on Link 2  to broadcast Beacon 2  and, upon gaining access to the shared wireless medium via Link 2 , the AP may use link aggregation to broadcast Beacon 1  on Link 1 . On the other hand, if the AP is a multi-MAC device, the AP may contend for medium access on each of the communication links Link 1  and Link 2 , concurrently, and may independently broadcast the beacon frames Beacon 1  and Beacon 2  upon gaining access to the respective communication links. 
     At time t 3 , coinciding with the next TBTT, the AP may switch the primary link from Link 2  back to Link 1 . For example, the AP may signal the change in primary link via one or more beacon frames broadcast at the start of the beacon interval. Since Link 2  is configured as the primary link at this time (and thus ML STAs are currently listening to Link 2  for beacon information), the AP may provide PL information in Beacon 2 , broadcast on Link 2 , at time t 3 . As described above, the PL information may indicate that the primary link has changed or may specify which secondary link is to become the new primary link. Upon receiving the PL information on Link 2 , any ML STAs in the wireless network may switch their primary links from Link 2  back to Link 1 . Thus, the ML STAs may subsequently listen for beacon frames and contend for medium access on Link 1 . In some implementations, the AP also may change the PL information in other management or control frames transmitted to any associated STAs after the change in primary link occurs at time t 1 . 
     At time t 4 , coinciding with the next TBTT, the AP may once again switch the primary link from Link 1  to Link 2  Since Link 1  is configured as the primary link at this time, the AP may provide PL information in Beacon 1 , broadcast on Link 1 , at time t 4 . As described above, the PL information may indicate that the primary link has changed or may specify which secondary link is to become the new primary link. Upon receiving the PL information on Link 1 , any ML STAs in the wireless network may switch their primary links from Link 1  to Link 2 . Thus, the ML STAs may subsequently listen for beacon frames and contend for medium access on Link 2  In some implementations, the AP also may change the PL information in other management or control frames transmitted to any associated STAs after the change in primary link occurs at time t 4 . 
     As shown in  FIG. 3A , the example implementations may enable the AP to change the primary link used in ML communications as often as every beacon interval, depending on the current channel conditions. It is noted, however, that some associated ML STAs may be in a power save (PS) state or may otherwise fail to receive the PL information signaled in a beacon frame (due to interference or service interruptions). For example, an ML STA with its primary link set to Link 1  may be in a power save state when Beacon 1  (carrying the PL information) is broadcast at time t 1 . As a result, if the ML STA wakes up thereafter (between times t 1  and t 3 ), the ML STA may continue attempting to access the shared wireless medium via Link 1  (and thus experience relatively poor performance) even though the primary link has been switched to Link 2  This may result in inefficient use of the shared wireless medium. Thus, in some implementations, the AP may specify the current primary link via beacon frames broadcast on each of the communication links at the start of each beacon interval. 
       FIG. 3B  shows a timing diagram  300 B depicting another example operation for changing the primary link in a multi-link environment. The example operation may be performed by an AP in a wireless network such as, for example, the AP  110  of  FIG. 1 . In some implementations, the AP may be a single-MAC device that uses a single MAC to communicate with one or more associated STAs via multiple communication links. In some other implementations, the AP may be a multi-MAC device that uses multiple MACs to communicate with one or more associated STAs via respective communication links. For example, a first link (Link 1 ) may encompass a first set of channels spanning one or more frequency bands and a second link (Link 2 ) may encompass a second set of channels spanning the same or different frequency bands. Although only two communication links are shown in  FIG. 3B , it is to be understood that the AP may establish any number of communication link with its associated STAs. 
     At time to, the AP may broadcast respective beacon frames (Beacon 1  and Beacon 2 ) on each of the communication links Link 1  and Link 2  For example, time to may coincide with a TBTT or the start of a beacon interval (from times t 0  to t 1 ). In some implementations, the AP may provide primary link (PL) information indicating the current primary link (Link 1 ) in one or more beacon frames broadcast at the start of the beacon interval. For example, the PL information may be included as a new element or field in each beacon frame that can be interpreted or decoded by ML STAs. In some aspects, the AP may include the PL information in the beacon frames broadcast on each of the communication links Link 1  and Link 2 . More specifically, Beacon 1  and Beacon 2  may each include PL information specifying Link 1  as the current primary link. 
     Any ML STAs receiving the PL information via Beacon 1  may continue using Link 1  as their primary link, and any ML STAs receiving the PL information via Beacon 2  may switch their current primary link from Link 2  to Link 1 . In some implementations, the AP may include the PL information in other management or control frames (such as probe responses, association response, reassociation responses, and the like) transmitted to any associated STAs, for example, to signal the current primary link (Link 1 ) to any STAs that may have recently joined the wireless network or otherwise missed the beacons broadcast at time t 1 . In some implementations, the AP may monitor the channel conditions on each of the communication links Link 1  and Link 2 , for the duration of the beacon interval (from times t 0  to t 1 ), to determine whether the quality or throughput of ML communications can be improved by dynamically changing the primary link. 
     At time t 1 , the AP may switch the primary link from Link 1  to Link 2 . For example, the AP may determine that the quality or throughput of communications would be improved by switching the primary link to Link 2  In some implementations, the AP may signal the change in primary link using the PL information included in each of the beacon frames Beacon 1  and Beacon 2  broadcast at time t 1 . For example, the PL information may specify a new communication link (Link 2 ) as the current primary link. In some aspects, the AP may include the PL information in the beacon frames broadcast on each of the communication links Link 1  and Link 2 . More specifically, Beacon 1  and Beacon 2  may each include PL information specifying Link 2  as the current primary link. Any ML STAs receiving the PL information via Beacon 1  may switch their current primary link from Link 1  to Link 2 , and any ML STAs receiving the PL information via Beacon 2  may continue using Link 2  as their current primary link. 
     At time t 2 , the AP may decide to maintain the primary link on Link 2 . For example, the AP may determine that the quality or throughput of communications would not be improved by switching the primary link back to Link 1 . In some implementations, although the primary link does not change, the AP may continue to provide PL information indicating the current primary link (Link 2 ) in each of the beacon frames Beacon 1  and Beacon 2  broadcast at time t 2 . This may allow any ML STAs that may have missed the beacons broadcast at time t 1  to be notified of the change in primary link. For example, an ML STA with its primary link set to Link 1  may have missed Beacon 1  (carrying the PL information) at time t 1 . As a result, the ML STA may subsequently attempt to access the shared wireless medium via Link 1  for the duration of the beacon interval (from times t 1  to t 2 ). However, by indicating the current primary link in each of the beacon frames Beacon 1  and Beacon 2  broadcast at the start of each beacon interval, the ML STA may be notified of the change in primary link upon receiving Beacon 1 , at time t 2 , and may thus switch its primary link to Link 2  for at least the duration of the next beacon interval (from times t 2  to t 3 ). 
     At time t 3 , the AP may switch the primary link from Link 2  back to Link 1 . For example, the AP may signal the change in primary link using the PL information included in each of the beacon frames Beacon 1  and Beacon 2  broadcast at time t 3 . More specifically, the PL information may specify a new communication link (Link 1 ) as the current primary link. In some aspects, Beacon 1  and Beacon 2  may each include PL information specifying Link 1  as the current primary link. Any ML STAs receiving the PL information via Beacon 1  may continue using Link 1  as their primary link, and any ML STAs receiving the PL information via Beacon 2  may switch their current primary link from Link 2  to Link 1 . 
     At time t 4 , the AP may once again switch the primary link from Link 1  to Link 2 . For example, the AP may signal the change in primary link using the PL information included in each of the beacon frames Beacon 1  and Beacon 2  broadcast at time t 4 . More specifically, the PL information may specify a new communication link (Link 2 ) as the current primary link. In some aspects, Beacon 1  and Beacon 2  may each include PL information specifying Link 2  as the current primary link. Any ML STAs receiving the PL information via Beacon 1  may switch their current primary link from Link 1  to Link 2 , and any ML STAs receiving the PL information via Beacon 2  may continue using Link 2  as their primary link. 
       FIG. 4A  shows a timing diagram  400 A depicting an example operation for notifying a STA of a primary link change. The example operation may be performed during ML communications between an AP and a STA. With reference for example to  FIG. 1 , the AP may correspond to AP  110  and the STA may correspond to any one of the wireless stations STA 1 -STA 3 . In some implementations, the STA may be a single-MAC device that is configured to communicate with the AP via multiple communication links. Although only two communication links (Link 1  and Link 2 ) are shown in  FIG. 4A , it is to be understood that the STA may establish any number of communication links with the AP. For simplicity, only the AP&#39;s activity on Link 1  is shown in example of  FIG. 4A . 
     At time t 0 , Link 1  may be configured as the primary link and Link 2  may be configured as the secondary link. Furthermore, time to may coincide with a TBTT or the start of a beacon interval (from times t 0  to t 2 ). Thus, the AP may broadcast a beacon frame (Beacon 1 ) on Link 1  at time t 0 . In some implementations, Beacon 1  may include PL information specifying Link 1  as the current primary link. The STA may already be configured to utilize Link 1  as its current primary link. Thus, the STA may receive Beacon 1  on Link 1  and continue utilizing Link 1  as its primary link. In the example of  FIG. 4A , the STA may enter a power save (PS) state, at time t 1 , after receiving the PL information specifying Link 1  as the primary link. 
     At time t 2 , the AP may switch the primary link from Link 1  to Link 2 . For example, the AP may determine that the quality or throughput of communications would be improved by switching the primary link to Link 2  In some implementations, the AP may signal the change in primary link using the PL information included in Beacon 1  broadcast at time t 2 . For example, the PL information may specify a new communication link (Link 2 ) as the current primary link. In the example of  FIG. 4A , the STA is still in a power save state when the AP broadcasts Beacon 1 , at time t 2 , and may thus be unaware of the change in primary link. 
     At time t 3 , the STA wakes up from the power save state and attempts to access the shared wireless medium. Since the STA is unaware that the primary link has been changed to Link 2 , STA may sense that Link 1  is idle and contend for medium access on Link 1 . Upon gaining access to the shared wireless medium, at time t 4 , the STA may transmit a frame of UL data on Link 1 . In the example of  FIG. 4A , the STA may not have any additional UL data to transmit, and may thus relinquish control of the shared wireless medium after transmitting the single frame of UL data. 
     At time t 5 , the STA may attempt to access the shared wireless medium once again on Link 1 . However, at this time Link 1  is busy. For example, using energy or power detection techniques, the STA may sense that the energy or power in the wireless channel associated with Link 1  exceeds a threshold level. The activity on Link 1  may be caused by transmission from other wireless devices in the vicinity of the STA (such as APs or STAs in the same BSS or an overlapping BSS) or various sources of wireless interference. Since Link 1  is busy, the STA may refrain from even contending for access to the shared wireless medium at time t 5 . 
     In the example of  FIG. 4A , the STA may continue monitoring the activity level of Link 1 , from times t 5  to t 6 , to determine whether the communications link is available for medium access. Then, at time t 6 , the STA may detect that Link 1  is idle and once again contend for medium access on Link 1 . Upon gaining access to the shared wireless medium, at time t 7 , the STA may transmit a frame of UL data on Link 1 . In the example of  FIG. 4A , the STA may not have enough time to transmit any additional frames of UL data before the start of the next beacon interval (when the AP is expected to broadcast beacon frames), and may thus relinquish control of the shared wireless medium after transmitting the single frame of UL data. 
     At time t 8 , the AP may broadcast another beacon frame (Beacon 1 ) on Link 1 . In the example of  FIG. 4A , the AP may decide to maintain the primary link on Link 2 . For example, the AP may determine that the quality or throughput of communications would not be improved by switching the primary link back to Link 1 . In some implementations, even though the primary link does not change, the AP may continue to provide PL information indicating the current primary link (Link 2 ) in Beacon 1  broadcast at time t 8 . Since the STA is awake at this time, the STA may receive Beacon 1  from the AP and subsequently switch its primary link from Link 1  to Link 2 . 
     In the example of  FIG. 4A , the STA must wait the majority of a beacon interval (from times t 3  to t 8 ) until it is able to switch its primary link from Link 1  to Link 2 . Moreover, a significant portion of that time (from times t 3  to t 8 ) is spent monitoring the busy channel conditions on Link 1 . Thus, it may be desirable to implement a more efficient mechanism for signaling a change in primary link to any associated STAs that may have missed one or more beacon frames. 
       FIG. 4B  shows a timing diagram  400 B depicting another example operation for notifying a STA of a primary link change. The example operation may be performed during ML communications between an AP and a STA. With reference for example to  FIG. 1 , the AP may correspond to AP  110  and the STA may correspond to any one of the wireless stations STA 1 -STA 3 . In some implementations, the STA may be a single-MAC device that is configured to communicate with the AP via multiple communication links. Although only two communication links (Link 1  and Link 2 ) are shown in  FIG. 4B , it is to be understood that the STA may establish any number of communication links with the AP. For simplicity, only the AP&#39;s activity on Link 1  is shown in the example of  FIG. 4B . 
     At time to, Link 1  may be configured as the primary link and Link 2  may be configured as the secondary link. Furthermore, time to may coincide with a TBTT or the start of a beacon interval (from times t 0  to t 2 ). Thus, the AP may broadcast a beacon frame (Beacon 1 ) on Link 1  at time t 0 . In some implementations, Beacon 1  may include PL information specifying Link 1  as the current primary link. The STA may already be configured to utilize Link 1  as its current primary link. Thus, the STA may receive Beacon 1  on Link 1  and continue utilizing Link 1  as its primary link. In the example of  FIG. 4B , the STA may enter a power save (PS) state, at time t 1 , after receiving the PL information specifying Link 1  as the primary link. 
     At time t 2 , the AP may switch the primary link from Link 1  to Link 2 . For example, the AP may determine that the quality or throughput of communications would be improved by switching the primary link to Link 2  In some implementations, the AP may signal the change in primary link using the PL information included in Beacon 1  broadcast at time t 2 . For example, the PL information may specify a new communication link (Link 2 ) as the current primary link. In the example of  FIG. 4B , the STA is still in a power save state when the AP broadcasts Beacon 1 , at time t 2 , and may thus be unaware of the change in primary link. 
     At time t 3 , the STA wakes up from the power save state and attempts to access the shared wireless medium. Since the STA is unaware that the primary link has been changed to Link 2 , the STA may sense that Link 1  is idle and contend for medium access on Link 1 . Upon gaining access to the shared wireless medium, at time t 4 , the STA may transmit a frame of UL data via the shared wireless medium. In the example of  FIG. 4B , the STA may not have any additional UL data to transmit, and may thus relinquish control of the shared wireless medium after transmitting the single frame of UL data. 
     In some implementations, the AP may respond to the UL transmission with a change-in-primary-link (CPL) trigger message. The CPL trigger message may include PL information specifying the current primary link (Link 2 ). In some aspects, the CPL trigger message may be signaled using Operating Mode Indication (OMI) procedures defined by the IEEE 802.11ax specification. For example, data frames encoded in accordance with the HE frame format may include an OMI control field (provided in an HE Control element) that may indicate changes to one or more operating parameters for wireless communications between the transmitting device and the receiving device. When the AP receives an HE data frame from the STA, the AP may send a response frame (such as a QoS Null frame) having an OMI control field indicating the change in primary link. Thus, the PL information (specifying Link 2  as the current primary link) may be included in the OMI control field of the response frame transmitted by AP. In some implementations, the STA may be configured to initiate a UL transmission upon waking up from a power save state (even if it has no UL data to send) to elicit an OMI response from the AP. For example, the STA may send a PS Poll request to the AP upon waking up from a power save state, and the AP may respond with a QoS Null frame with an OMI control field indicating the change in primary link. 
     Upon receiving the CPL trigger message on Link 1 , the STA may subsequently switch its primary link from Link 1  to Link 2  Then, at time t 5 , the STA may attempt to access the shared wireless medium on Link 2 . The STA may sense that Link 2  is idle and contend for medium access on Link 2 . Upon gaining access to the shared wireless medium, at time t 6 , the STA may transmit another frame of UL data via the shared wireless medium. In the example of  FIG. 4B , Link 1  is busy at time t 6 . Thus, the STA may transmit the UL frame only on Link 2 . At time t 7 , the STA may transmit another frame of UL data via the shared wireless medium. Since Link 1  is still busy at time t 7 , the STA may again transmit the UL frame only on Link 2 . 
     At time t 8 , the STA may transmit another frame of UL data on the shared wireless medium. At this time, Link 1  is no longer busy. Thus, the STA may transmit a frame of UL data on Link 2  and another frame of UL data, concurrently, on Link 1 . For example, the STA may use link aggregation techniques to aggregate multiple frames of UL data for transmission across the primary link (Link 2 ) and the secondary link (Link 1 ). In the example of  FIG. 4B , the STA may not have enough time to transmit any additional frames of UL data before the start of the next beacon interval (when the AP is expected to broadcast beacon frames). Thus, the STA may relinquish control of the shared wireless medium upon completion of the multi-link (ML) transmission. 
     At time t 9 , the AP may broadcast another beacon frame (Beacon 1 ) on Link 1 . In the example of  FIG. 4B , the AP may decide to maintain the primary link on Link 2 . For example, the AP may determine that the quality or throughput of communications would not be improved by switching the primary link back to Link 1 . In some implementations, even though the primary link does not change, the AP may continue to provide PL information indicating the current primary link (Link 2 ) in Beacon 1  broadcast at time t 9 . Since the STA has already switched its primary link to Link 2 , the STA may not receive Beacon  1  on Link 1 . Rather, the STA may continue utilizing Link 2  as its primary link. 
       FIG. 4C  shows a timing diagram  400 C depicting another example operation for notifying a STA of a primary link change. The example operation may be performed during ML communications between an AP and a STA. With reference for example to  FIG. 1 , the AP may correspond to AP  110  and the STA may correspond to any one of the wireless stations STA 1 -STA 3 . In some implementations, the STA may be a single-MAC device that is configured to communicate with the AP via multiple communication links. Although only two communication links (Link 1  and Link 2 ) are shown in  FIG. 4C , it is to be understood that the STA may establish any number of communication links with the AP. For simplicity, only the AP&#39;s activity on Link 1  is shown in the example of  FIG. 4C . 
     At time to, Link 1  may be configured as the primary link and Link 2  may be configured as the secondary link. Furthermore, time to may coincide with a TBTT or the start of a beacon interval (from times t 0  to t 2 ). Thus, the AP may broadcast a beacon frame (Beacon 1 ) on Link 1  at time t 0 . In some implementations, Beacon 1  may include PL information specifying Link 1  as the current primary link. The STA may already be configured to utilize Link 1  as its current primary link. Thus, the STA may receive Beacon 1  on Link 1  and continue utilizing Link 1  as its primary link. In some implementations, Beacon 1  may further include a Target Wake Time (TWT) element specifying a TWT service period for the STA. For example, a STA operating in a TWT mode may remain in a power save state for relatively long durations (such as one or more beacon intervals), waking up only during its assigned TWT service periods. Thus, the STA may enter a power save state, at time t 1 , after receiving the PL information specifying Link 1  as the primary link. 
     At time t 2 , the AP may switch the primary link from Link 1  to Link 2 . For example, the AP may determine that the quality or throughput of communications would be improved by switching the primary link to Link 2  In some implementations, the AP may signal the change in primary link using the PL information included in Beacon 1  broadcast at time t 2 . For example, the PL information may specify a new communication link (Link 2 ) as the current primary link. In the example of  FIG. 4C , the STA is still in a power save state when the AP broadcasts Beacon 1 , at time t 2 , and may thus be unaware of the change in primary link. 
     At time t 3 , the STA wakes up at its scheduled TWT. In some implementations, the AP may be aware of the STA&#39;s TWT schedule and may thus transmit a CPL trigger message to the STA, at time t 4 , once the STA wakes up from its power save state. The CPL trigger message may include PL information specifying the current primary link (Link 2 ). In some implementations, the CPL trigger message may be provided in a probe response or action frame (or other management or control frame) transmitted at the start of the TWT service period to notify the STA of the current primary link. In some aspects, the CPL trigger message may be signaled on each of the communication links (Link 1  and Link 2 ) to ensure that the STA receives the PL information regardless of its current primary link. 
     Upon receiving the CPL trigger message on Link 1 , the STA may subsequently switch its primary link from Link 1  to Link 2  Then, at time t 5 , the STA may attempt to access the shared wireless medium on Link 2 . The STA may sense that Link 2  is idle and contend for medium access on Link 2 . Upon gaining access to the shared wireless medium, at time t 6 , the STA may transmit a frame of UL data via the shared wireless medium. In the example of  FIG. 4C , Link 1  is busy at time t 6 . Thus, the STA may transmit the UL frame only on Link 2 . At times t 7  and t 8 , the STA may transmit additional frames of UL data via the shared wireless medium. Since Link 1  remains busy throughout this period (times t 7  and t 8 ) the STA may again transmit the UL frames only on Link 2 . 
     At time t 9 , the STA may transmit another frame of UL data on the shared wireless medium. At this time, Link 1  is no longer busy. Thus, the STA may transmit a frame of UL data on Link 2  and another frame of UL data, concurrently, on Link 1 . For example, the STA may use link aggregation techniques to aggregate multiple frames of UL data for transmission across the primary link (Link 2 ) and the secondary link (Link 1 ). In the example of  FIG. 4C , the STA may not have enough time to transmit any additional frames of UL data before the start of the next beacon interval (when the AP is expected to broadcast beacon frames). Thus, the STA may relinquish control of the shared wireless medium upon completion of the multi-link (ML) transmission. 
     At time t 10 , the AP may broadcast another beacon frame (Beacon 1 ) on Link 1 . In the example of  FIG. 4C , the AP may decide to maintain the primary link on Link 2 . For example, the AP may determine that the quality or throughput of communications would not be improved by switching the primary link back to Link 1 . In some implementations, even though the primary link does not change, the AP may continue to provide PL information indicating the current primary link (Link 2 ) in Beacon 1  broadcast at time t 10 . Since the STA has already switched its primary link to Link 2 , the STA may not receive Beacon  1  on Link 1 . Rather, the STA may continue utilizing Link 2  as its primary link. 
       FIG. 5  shows a timing diagram  500  depicting an example operation for changing the primary link in a ML communication. The operation may be performed during ML communications between an AP and a number of associated wireless stations STA 1  and STA 2 . With reference for example to  FIG. 1 , the AP may correspond to AP  110  and each of the wireless stations STA 1  or STA 2  may correspond to any of the wireless stations STA 1 -STA 3 . In some implementations, each of the wireless stations STA 1  and STA 2  may be a single-MAC device that is configured to communicate with the AP via multiple communication links. In the example of  FIG. 5 , the ML communications between the AP and each of the wireless stations STA 1  and STA 2  may occur on a first communication link (Link 1 ). 
     At time t 0 , the AP may broadcast a beacon frame (Beacon 1 ) on Link 1 . At this time, Link 1  may be set as the primary link. In some implementations, Beacon 1  may include PL information indicating a change in primary link that is scheduled to take effect at a future primary-switching time (TBTT PS ), as well as a countdown towards the primary-switching time. In some aspects, the PL information also may specify the communication link (Link 2 ) that will become the new primary link at the primary-switching time. The countdown may indicate the number of TBTT periods or beacon intervals remaining before the change in primary link is scheduled to occur. Thus, in some aspects, Beacon 1  broadcast at time to may include a countdown timer indicating that the change in primary link is to occur in three successive beacon intervals (Count=3). In the example of  FIG. 5 , STA 1  is awake at time to, whereas STA 2  is in a power saving state. As a result, STA 1  may receive the PL information, at time to, whereas STA 2  may not. Upon receiving the PL information, STA 1  may be configured to switch its primary link from Link 1  to Link 2  at the indicated primary-switching time (after three successive TBTTs). 
     At time t 1 , STA 2  wakes up from its power save state to access the shared wireless medium. In some aspects, time t 1  may coincide with a DTIM interval for which most (if not all) of the STAs in the wireless network are scheduled to listen for beacon frames from the AP. In some other aspects, time t 1  may coincide with the a TWT (or the start of a TWT service period) for which STA 2  is assigned. Then, at time t 2 , the AP may broadcast another Beacon 1  on Link 1 . In some implementations, Beacon 1  broadcast at time t 2  may include updated PL information. As described above, the PL information may include the new primary link (Link 2 ) that is scheduled to take effect at the primary-switching time (TBTT PS ), as well as an updated countdown timer (Count=2). The wireless stations STA 1  and STA 2  may each receive the PL information at time t 2 . Upon receiving the PL information, STA 2  may be configured to switch its primary link from Link 1  to Link 2  at the indicated primary-switching time (after two successive TBTTs). 
     At time t 3 , STA 2  returns to a power saving state. Then, at time t 4 , the AP broadcasts another Beacon 1  on Link 1 . In some implementations, Beacon 1  broadcast at time t 4  may include updated PL information. The PL information may indicate the new primary link (Link 2 ) that is scheduled to take effect at the primary-switching time (TBTT PS ), as well as an updated countdown timer (Count=1). STA 1  may receive this PL information, whereas STA 2  may not (since it is in a power saving state). Nonetheless, STA 2  may continue counting down the number of beacon intervals until the change in primary link is to occur (at TBTT PS ) for example, based on the countdown timer received, at time t 2 , via PL information provided in Beacon 1 . 
     Finally, at time t 5 , the AP broadcasts another Beacon 1  on Link 1 . In some implementations, Beacon 1  broadcast at time t 5  may include updated PL information. More specifically, in the example of  FIG. 5 , time t 5  coincides with the primary-switching time (TBTT PS ). Thus, the PL information may indicate the new primary link (Link 2 ), as well as an updated countdown timer (Count=0) indicating that the new primary link is to take effect at this time. STA 1  may receive the updated PL information via Beacon 1  and may switch its primary link from Link 1  to Link 2 , accordingly, at time t 5 . However, STA 2  may remain in a power saving state and therefore may not receive the updated PL information transmitted at time t 5 . Nonetheless, STA 2  also may switch its primary link from Link 1  to Link 2 , at time t 5  (or the next time it wakes up from the power save state), based on its own internal countdown towards the primary-switching time (TBTT PS ). 
     By scheduling changes in primary link to occur at particular epochs, the wireless stations STA 1  and STA 2  are not required to be awake at the primary-switching time (TBTT PS ) in order to carry out the change in primary link. Accordingly, such implementations may provide a greater degree of flexibility for the wireless stations STA 1  and STA 2  to operate in accordance with their pre-configured power save schedules. For example, the AP may accommodate individual power save schedules of the respective STAs by providing all of the information necessary to execute the change in primary link (at the primary-switching time) when the STAs are awake and listening to the AP. In some implementations, after the primary-switching time has passed, subsequent beacon transmissions by the AP may include information indicating that a change in primary link occurred at a prior time (such as described with respect to  FIGS. 4A-4C ). This may further ensure that each STA in the wireless network is properly notified of the change in primary link, including any STAs that may not have received the PL information prior to the primary-switching time (TBTT PS ). 
       FIG. 6  shows a block diagram of an example wireless station (STA)  600  for use in wireless communication according to some implementations. In some implementations, the STA  600  may be a wireless device (such as a ML STA) that is capable of communicating over multiple communication links, concurrently, using link aggregation techniques. For example, the STA  600  may be an example implementation of any of the STAs of  FIG. 1 ,  FIG. 2 ,  FIGS. 4A-4C , or  FIG. 5 . The STA  600  may include a PHY  610 , a MAC  620 , a processor  630 , a memory  640 , and a number of antennas  650 ( 1 )- 650 ( n ). 
     The PHY  610  may include a number of transceivers  612  and a baseband processor  614 . The transceivers  612  may be coupled to the antennas  650 ( 1 )- 650 ( n ), either directly or through an antenna selection circuit (not shown for simplicity). The transceivers  612  may be used to communicate wirelessly with one or more APs, with one or more STAs, or with other suitable devices. The baseband processor  614  may be used to process outgoing signals received from the processor  630  or the memory  640  and to forward the processed signals to the transceivers  612  for transmission via one or more of the antennas  650 ( 1 )- 650 ( n ), and may be used to process incoming received from one or more of the antennas  650 ( 1 )- 650 ( n ) via the transceivers  612  and to forward the processed signals to the processor  630  or the memory  640 . 
     Although not shown in  FIG. 6 , for simplicity, the transceivers  612  may include any number of transmit chains to process and transmit outgoing signals to other wireless devices via the antennas  650 ( 1 )- 650 ( n ), and may include any number of receive chains to process incoming signals received from the antennas  650 ( 1 )- 650 ( n ). Thus, in some implementations, the STA  600  may be configured for MIMO operations including, for example, single-user MIMO (SU-MIMO) operations and multi-user (MU-MIMO) operations. In addition, the STA  600  may be configured for OFDMA communications or other suitable multiple access mechanisms, for example, as may be specified by any of the IEEE 802.11 standards. 
     The MAC  620  may include at least a number of contention engines  622  and frame formatting circuitry  624 . The contention engines  622  may contend for access to the shared wireless medium on a primary communication link, and may store packets for transmission over the shared wireless medium. In some implementations, the contention engines  622  may be separate from the MAC  620 . Still further, in some implementations, the contention engines  622  may be implemented as one or more software modules (stored in the memory  640  or in memory provided within the MAC  620 ). The frame formatting circuitry  624  may be used to create or format frames received from the processor  630  or the memory  640  (such as by adding MAC headers to PDUs provided by the processor  630 ), and may be used to re-format frames received from the PHY  610  (such as by stripping the MAC headers from frames received from the PHY  610 ). 
     The memory  640  may include an AP profile data store  641  that stores profile information for a plurality of BSSs. The profile information for a particular BSS may include, for example, the BSSID, MAC address, channel information, received signal strength indicator (RSSI) values, goodput values, channel state information (CSI), supported data rates, connection history with the BSS, a trustworthiness value of the BSS (indicating a level of confidence about the BSS&#39;s location or other properties associated with the BSS), and any other suitable information pertaining to or describing the operation of the BSS. In some implementations, the profile information for a particular BSS may include one or more wireless channels to be used as a primary communication link (such as for contention). In some other implementations, the profile information for a particular BSS may include wireless channels to be used as one or more secondary communication links (such as for link aggregation). 
     The memory  640  also may include a non-transitory computer-readable medium (one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and the like) that may store at least the following software (SW) modules:
         a channel monitoring SW module  642  to monitor one or more channel conditions of a plurality of wireless channels available for wireless communications;   a link configuration SW module  643  to establish a primary communication link on a first subset of the wireless channels and to selectively access one or more secondary communication links on one or more subsets of the remaining wireless channels, the link configuration SW module  643  including:
           a primary link information (PLI) retrieval submodule  644  to acquire primary link information from an AP (such as upon waking up from a power save state);   a primary link (PL) reassignment submodule  645  to dynamically change the primary communication link from the first subset of wireless channels to another subset of the wireless channels;   a primary switching (PS) timer submodule  646  to countdown towards a time at which the change in the primary communication link is scheduled to occur; and   
           a link aggregation SW module  647  to access one or more of the secondary communication links, concurrently with the primary communication link, using link aggregation techniques, the link aggregation SW module  647  including:
           a secondary link (SL) selection submodule  648  to select one or more of the secondary communication links for link aggregation based, at least in part, on the channel conditions of the secondary communication links.
 
Each software module includes instructions that, when executed by the processor  630 , cause the STA  600  to perform the corresponding functions.
   
               

     For example, the processor  630  may execute the channel monitoring SW module  642  to monitor one or more channel conditions of a plurality of wireless channels available for wireless communications. The processor  630  may execute the link configuration SW module  643  to establish a primary communication link on a first subset of the wireless channels and to selectively access one or more secondary communication links on one or more subsets of the remaining wireless channels. In executing the link configuration SW module  643 , the processor  630  may further execute the PLI retrieval submodule  644 , the PL switching submodule  645 , or the PS timer submodule  646 . 
     The processor  630  may execute the PLI retrieval submodule  644  to acquire primary link information from an AP. For example, execution of the PLI retrieval submodule  644  may cause the STA  600  to initiate an uplink transmission (such as a PS Poll request) to the AP upon waking up from a power save state and receive a trigger message (such as a QoS Null frame), including the primary link information, from the AP in response to the uplink transmission (which may be transmitted using OMI signaling procedures). In some aspects, the primary link information may indicate a change in the primary communication link. In some other aspects, the primary link information may indicate the subset of wireless channels to be used for the (new) primary communication link. For example, the new primary communication link may be implemented on one or more wireless channels previously associated with a secondary communication link. 
     The processor  630  may execute the PL reassignment submodule  645  to dynamically change the primary communication link from the first subset of wireless channels to another subset of the wireless channels. In some implementations, execution of the PL reassignment submodule  645  may cause the STA  600  to change the primary communication link based, at least in part, on the one or more channel conditions measured by the channel monitoring SW module  642 . In some other implementations, execution of the PL reassignment submodule  645  may cause the STA  600  to change the primary communication link based, at least in part, on primary link information received from the AP. In some aspects, the primary link information may be provided in beacon frames broadcast by the AP. In some other aspects, the primary link information may be provided in trigger messages sent by the AP to the STA  600  (where the trigger messages may be transmitted using OMI signaling procedures). 
     The processor  630  may execute the PS timer submodule  646  to countdown towards a time at which the change in the primary communication link is scheduled to occur. For example, in some implementations, the primary link information received from the AP may indicate a future time (the primary switching time) at which the change in primary link is to be implemented. The primary switching time may coincide with at least one of a TBTT or a TWT of the STA  600 . Thus, in some aspects, the primary link information may further include a countdown timer indicating a number of TBTTs or TWTs remaining until the primary-switching time. In some aspects, the STA  600  may update the countdown timer based on a number of TBTT or TWT intervals that have elapsed. In some other aspects, the STA  600  may update the countdown timer based on updated primary link information received from the AP. 
     The processor  630  also may execute the link aggregation SW module  647  to access one or more of the secondary communication links, concurrently with the primary communication link, using link aggregation techniques. In some aspects, the STA  600  may access the secondary communication links only after the STA  600  has already gained access to the shared wireless medium via the primary communication link (such as through contention). In executing the link aggregation SW module  647  the processor  630  may further execute the SL selection submodule  648  to select one or more of the secondary communication links for link aggregation based, at least in part, on the channel conditions of the secondary communication links. For example, execution of the SL selection submodule  648  may cause the STA  600  to determine an availability of one or more of the secondary links based at least in part on the one or more channel conditions measured by the channel monitoring SW module  642 . 
       FIG. 7  shows a block diagram of an example access point (AP)  700  for use in wireless communication according to some implementations. In some implementations, the AP  700  may be a wireless device (such as a ML AP) that is capable of communicating over multiple communication links, concurrently, using link aggregation techniques. For example, the AP  700  may be an example implementation of any of the APs of  FIG. 1  or  FIGS. 3A-5 . The AP  700  may include a PHY  710 , a MAC  720 , a processor  730 , a memory  740 , and a number of antennas  750 ( 1 )- 750 ( n ). 
     The PHY  710  may include a number of transceivers  712  and a baseband processor  714 . The transceivers  712  may be coupled to the antennas  750 ( 1 )- 750 ( n ), either directly or through an antenna selection circuit (not shown for simplicity). The transceivers  712  may be used to communicate wirelessly with one or more STAs, with one or more APs, or with other suitable devices. The baseband processor  714  may be used to process outgoing signals received from the processor  730  or the memory  740  and to forward the processed signals to the transceivers  712  for transmission via one or more of the antennas  750 ( 1 )- 750 ( n ), and may be used to process incoming signals received from one or more of the antennas  750 ( 1 )- 750 ( n ) via the transceivers  712  and to forward the processed signals to the processor  730  or the memory  740 . 
     Although not shown in  FIG. 7 , for simplicity, the transceivers  712  may include any number of transmit chains to process and transmit outgoing signals to other wireless devices via the antennas  750 ( 1 )- 750 ( n ), and may include any number of receive chains to process incoming signals received from the antennas  750 ( 1 )- 750 ( n ). Thus, in some implementations, the AP  700  may be configured for MIMO operations including, for example, single-user MIMO (SU-MIMO) operations and multi-user (MU-MIMO) operations. In addition, the AP  700  may be configured for OFDMA communications or other suitable multiple access mechanisms, for example, as may be specified by any of the IEEE 802.11 standards. 
     The MAC  720  may include at least a number of contention engines  722  and frame formatting circuitry  724 . The contention engines  722  may contend for access to the shared wireless medium on a primary communication link, and may store packets for transmission over the shared wireless medium. In some implementations, the contention engines  722  may be separate from the MAC  720 . Still further, in some implementations, the contention engines  722  may be implemented as one or more software modules (stored in the memory  740  or in memory provided within the MAC  720 ). The frame formatting circuitry  724  may be used to create or format frames received from the processor  730  or the memory  740  (such as by adding MAC headers to PDUs provided by the processor  730 ), and may be used to re-format frames received from the PHY  710  (such as by stripping the MAC headers from frames received from the PHY  710 ). In the example of  FIG. 7 , the AP  700  is shown to include a single MAC  720 . However, in actual implementations, the AP  700  may be a multi-MAC device, including a plurality of MACs that may be used to contend on multiple communication links, concurrently, of a multi-link environment. 
     The memory  740  may include a STA profile data store  741  that stores profile information for a plurality of STAs. The profile information for a particular STA may include, for example, its MAC address, supported data rates, connection history with the AP  700 , one or more resource units (RUs) allocated to the STA, and any other suitable information pertaining to or describing the operation of the STA. In some implementations, the profile information for a particular STA may include one or more wireless channels to be used as a primary communication link (such as for contention). In some other implementations, the profile information for a particular STA may include wireless channels to be used as one or more secondary communication links (such as for link aggregation). 
     The memory  740  also may include a non-transitory computer-readable medium (one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and the like) that may store at least the following software (SW) modules:
         a channel monitoring SW module  742  to monitor one or more channel conditions of a plurality of wireless channels available for wireless communications;   a link configuration SW module  743  to establish a primary communication link on a first subset of the wireless channels and to selectively access one or more secondary communication links on one or more subsets of the remaining wireless channels, the link configuration SW module  743  including:
           a primary link (PL) reassignment submodule  744  to dynamically change the primary communication link from the first subset of wireless channels to another subset of the wireless channels;   a primary link information (PLI) advertisement submodule  745  to communicate primary link information to other wireless devices (such as STAs) in the vicinity of the AP  700 ; and   a primary switching (PS) timer submodule  746  to countdown towards a time at which the change in the primary communication link is scheduled to occur; and   
           a link aggregation SW module  747  to access one or more of the secondary communication links, concurrently with the primary communication link, using link aggregation techniques, the link aggregation SW module  747  including:
           a secondary link (SL) selection submodule  748  to select one or more of the secondary communication links for link aggregation based, at least in part, on the channel conditions of the secondary communication links.
 
Each software module includes instructions that, when executed by the processor  730 , cause the AP  700  to perform the corresponding functions.
   
               

     For example, the processor  730  may execute the channel monitoring SW module  742  to monitor one or more channel conditions of a plurality of wireless channels available for use in the BSS. The processor  730  may execute the link configuration SW module  743  to establish a primary communication link on a first subset of the wireless channels and to selectively access one or more secondary communication links on one or more subsets of the remaining wireless channels. In executing the link configuration SW module  743 , the processor  730  may further execute the PL switching submodule  744 , the PLI advertisement submodule  745 , or the PS timer submodule  746 . 
     The processor  730  may execute the PL reassignment submodule  744  to dynamically change the primary communication link from the first subset of wireless channels to another subset of the wireless channels. In some implementations, execution of the PL reassignment submodule  744  may cause the AP  700  to change the primary communication link based, at least in part, on the one or more channel conditions measured by the channel monitoring SW module  742 . For example, the AP  700  may change the primary communication link from the first subset of wireless channels to a second subset of wireless channels (which may be associated with a secondary communication link) if the amount of activity on the first subset of wireless channels is above a threshold amount, the amount of activity on the second subset of wireless channels is below a second threshold amount, the amount of activity on the first subset of wireless channels exceeds the amount of activity on the second wireless channels, or any combination thereof. The amount of activity may be based on a frequency of busy channel conditions on one or more of the wireless channels or a number of failed attempts to access one or more of the wireless channels 
     The processor  730  may execute the PLI advertisement submodule  745  to communicate primary link information to other wireless devices (such as STAs) in the vicinity of the AP  700 . In some aspects, the primary link information may indicate a change in the primary communication link. In some other aspects, the primary link information may indicate the subset of wireless channels to be used for the (new) primary communication link. For example, the new primary communication link may be implemented on one or more wireless channels previously associated with a secondary communication link. In some implementations, execution of the PLI advertisement submodule  745  may cause the AP  700  to broadcast the primary link information, via beacon frames, on the primary communication link. In some other implementations, execution of the PLI advertisement submodule  745  may cause the AP  700  to broadcast the primary link information, via beacon frames, on one or more of the secondary communication links. Still further, in some implementations, execution of the PLI advertisement submodule  745  may cause the AP  700  to send trigger messages containing the primary link information to one or more STAs (where the trigger messages may be transmitted using OMI signaling procedures). 
     The processor  730  may execute the PS timer submodule  746  to countdown towards a time at which the change in the primary communication link is scheduled to occur. For example, in some implementations, the primary link information may indicate a future time (the primary switching time) at which the change in primary link is to be implemented. The primary switching time may coincide with at least one of a TBTT or a TWT of one or more STAs associated with the AP  700 . Thus, in some aspects, the primary link information may further include a countdown timer indicating a number of TBTTs or TWTs remaining until the primary-switching time. In some aspects, the AP  700  may update the countdown timer provided with the primary link information sent to the STAs based on a number of TBTT or TWT intervals that have elapsed. 
     The processor  730  also may execute the link aggregation SW module  747  to access one or more of the secondary communication links, concurrently with the primary communication link, using link aggregation techniques. In some aspects, the AP  700  may access the secondary communication links only after the AP  600  has already gained access to the shared wireless medium via the primary communication link (such as through contention). In executing the link aggregation SW module  747  the processor  730  may further execute the SL selection submodule  748  to select one or more of the secondary communication links for link aggregation based, at least in part, on the channel conditions of the secondary communication links. For example, execution of the SL selection submodule  748  may cause the AP  700  to determine an availability of one or more of the secondary links based at least in part on the one or more channel conditions measured by the channel monitoring SW module  742 . 
       FIG. 8  shows a flowchart illustrating an example process  800  for configuring a multi-link environment according to some implementations. The process  800  may be performed by any wireless device capable of link aggregation or otherwise communicating in a multi-link environment. With reference for example to  FIG. 2 , the process  800  may be performed by a ML STA to dynamically change its primary link based at least in part on one or more channel conditions of the wireless channels associated with the primary communication link or one or more secondary communication links. With reference for example to  FIGS. 3A-5 , the process  800  also may be performed by a ML AP to dynamically change the primary link that is used by other wireless devices (such as ML STAs) in its vicinity. 
     The wireless device may establish a primary communication link with a second wireless device ( 810 ). The primary communication link may be associated with one or more first wireless channels. More specifically, access to the primary communication link may be based on contention. In some implementations, the wireless device may be a single-MAC device and may therefore contend for access to a shared wireless medium (with the second wireless device) only on the primary communication link. 
     The wireless device may selectively access a secondary communication link with the second wireless device based at least in part on having access to the primary communication link ( 820 ). The secondary communication link may be associated with one or more second wireless channels. More specifically, the wireless device may send or receive communications over the primary communication link and the secondary communication link (when available), concurrently, using link aggregation techniques. However, in some implementations, the wireless device may not access the secondary communication link unless the wireless device has also gained access to the primary communication link (such as through contention). 
     The wireless device may selectively reassign the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on one or more channel conditions of the first wireless channels or the second wireless channels ( 830 ). For example, when the load or activity on the first wireless channels is relatively high (due to heavy data traffic or interference) while the load or activity on the second wireless channels is relatively low, the first and second wireless channels may switch roles. As a result, the wireless device may subsequently contend for medium access on the one or more second wireless channels (the new primary communication link) and may attempt to access the one or more first wireless channels (the new secondary communication link) only after it has gained access to the primary communication link. 
       FIG. 9  shows a flowchart illustrating an example process  900  for selectively reassigning the primary link in a multi-link environment according to some implementations. The process  900  may be performed by a ML AP capable of link aggregation. With reference for example to  FIGS. 3A-5 , the process  900  may be performed by the AP to dynamically change the primary link that is used by other wireless devices (such as STAs) in its vicinity. 
     The AP may monitor channel conditions of a primary communication link and one or more secondary communication links ( 910 ). The channel conditions may correspond to an amount of activity (due to traffic or interference) on the primary communication link or the one or more secondary communication links. For example, the amount of activity may be based on a frequency of busy channel conditions on one or more of the communication links or a number of failed attempts to access one or more of the communication links. In some aspects, the AP may monitor the traffic patterns or activity of its associated STAs on each of the primary link and the secondary link. In some other aspects, the AP may learn the channel conditions on each of the communication links by correlating with past channel conditions on the primary link and the secondary link. 
     The AP may determine, based on the channel conditions, whether a change-in-primary-link (CPL) conditions is satisfied ( 920 ). In some aspects, the CPL condition may be satisfied when the amount of activity on the primary communication link is above a threshold amount. In some other aspects, the CPL condition may be satisfied when the amount of activity on a secondary communication link is below a threshold amount. Still further, in some aspects, the CPL condition may be satisfied when the amount of activity on the primary communication link exceeds the amount of activity on one or more secondary communication links. As long as the CPL condition is not satisfied (as tested at  920 ), the AP may continue monitoring the channel conditions of the communication links ( 910 ). 
     If the CPL condition is satisfied (as tested at  920 ), the AP may select a new subset of wireless channels for the primary communication link ( 930 ). In some implementations, the AP may select the new subset of wireless channels based, at least in part, on the monitored channel conditions of the primary communications link and the one or more secondary communication links. For example, when the load or activity on a first subset of wireless channels associated with the primary communication link is relatively high (due to heavy data traffic or interference) while the load or activity on a second subset of wireless channels associated with the secondary communication link is relatively low, the AP may reassign the second subset of wireless channels to the primary communication link (and may reassign the first subset of wireless channels to the secondary communication link). 
     The AP may further transmit primary link information to other wireless devices indicating a change to the primary communication link ( 940 ). For example, the primary link information may indicate a change to the primary communication link. Alternatively, or in addition, the primary link information may indicate the new wireless channels (or secondary communication link) to be subsequently used as the primary communication link. In some implementations, the AP may provide the primary link information in beacon frames broadcast at TBTT intervals. In some aspects, the AP may broadcast the primary link information via beacon frames on the primary communication link (such as described with respect to  FIG. 3A ). In some other aspects, the AP may broadcast the primary link information via beacon frames on the secondary communication links (such as described with respect to  FIG. 3B ). 
     In some other implementations, the AP may provide the primary link information in trigger messages sent to one or more individual STAs. For example, the trigger messages may be transmitted using OMI signaling procedures. In some aspects, the trigger messages may be sent in response to uplink transmission received from the one or more STAs (such as described with respect to  FIG. 4B ). In some other aspects, the trigger messages may be sent based on a TWT of the one or more STAs (such as described with respect to  FIG. 4C ). 
     The AP may change the primary communication link to the new wireless channels at the appropriate time ( 950 ). In some implementations, the change in the primary communication link may be effective immediately (such as at the time of transmission or reception of the primary link information). In some other implementations, the change in the primary communication link may take effect at a future primary switching time. For example, the primary switching time may be scheduled to coincide with a subsequent TBTT or TWT of the one or more STAs. Thus, in some aspects, the primary link information transmitted by the AP may include an indication (such as a countdown timer) as to when the primary switching time is to occur (such as described with respect to  FIG. 5 ). 
       FIG. 10  shows a flowchart illustrating an example process  1000  for dynamically changing the primary link of a STA according to some implementations. The process  1000  may be performed by a ML STA capable of link aggregation. With reference for example to  FIG. 2  and  FIGS. 4A-5 , the process  1000  may be performed by a STA to dynamically change its primary link based at least in part on primary link information received from an AP. 
     The STA may establish a primary communication link with the AP ( 1010 ). The primary communication link may be associated with one or more first wireless channels. More specifically, access to the primary communication link may be based on contention. In some implementations, the STA may be a single-MAC device and may therefore contend for access to a shared wireless medium (with the AP) only on the primary communication link. 
     The STA may selectively access a secondary communication link with the AP based at least in part on having access to the primary communication link ( 1020 ). The secondary communication link may be associated with one or more second wireless channels. More specifically, the STA may send or receive communications over the primary communication link and the secondary communication link (when available), concurrently, using link aggregation techniques. However, in some implementations, the STA may not access the secondary communication link unless the STA already has already gained access to the primary communication link (such as through contention). 
     The STA may receive primary link information from the AP indicating a change in the primary communication link ( 1030 ). For example, the primary link information may indicate a change to the primary communication link. Alternatively, or in addition, the primary link information may indicate a new subset of wireless channels (or a secondary communication link) to be subsequently used as the primary communication link. In some implementations, the primary link information may be provided in beacon frames broadcast at TBTT intervals (such as described with respect to  FIGS. 3A and 3B ). In some other implementations, the primary link information may be provided in trigger messages sent to the STA (such as described with respect to  FIGS. 4B and 4C ). 
     The STA may dynamically change the primary communication link from the one or more first wireless channels to the one or more second wireless channels based at least in part on the primary link information ( 1040 ). As a result of the change, the STA may subsequently contend for medium access on the one or more second wireless channels (the new primary communication link) and may attempt to access the one or more first wireless channels (the new secondary communication link) only after it has gained access to the primary communication link. 
       FIG. 11  shows a flowchart illustrating an example process  1100  for dynamically changing the primary link of a STA according to some other implementations. The process  1100  may be performed by a ML STA capable of link aggregation. With reference for example to  FIG. 2  and  FIGS. 4A-5 , the process  1100  may be performed by a STA to dynamically change its primary link based at least in part on primary link information received from an AP. 
     The STA wakes up from a power save state ( 1110 ) and initiates an uplink transmission to the AP ( 1120 ). For example, the STA may wake up from the power save state when it has uplink data to send to the AP. The STA also may wake up from the power save state at scheduled times or epochs (such as TBTTs or TWTs). In some implementations, the STA may initiate an uplink transmission to the AP, upon waking up from the power save state, even if the STA has no uplink data to send. For example, in some aspects, the STA may send a PS Poll request to the AP upon waking up from the power save state (such as described with respect to  FIG. 4B ). 
     The STA may receive a trigger message from the AP in response to the uplink transmission ( 1130 ) and may determine primary link information from the received trigger message ( 1140 ). In some implementations, the trigger message may include primary link information indicating a change in the primary communication link or the (new) wireless channels associated with the primary communication link. In some implementations, the trigger message may be transmitted by the AP using OMI signaling procedures. For example, the AP may respond to the uplink transmission by sending a QoS Null frame back to the STA. In some aspects, the primary link information may be included in an OMI control field of the QoS Null frame. 
     The STA may change the primary communication link to the new wireless channels at the appropriate time ( 1150 ). In some implementations, the change in the primary communication link may be effective immediately (such as at the time of transmission or reception of the primary link information). In some other implementations, the change in the primary communication link take effect at a future primary switching time. For example, the primary switching time may be scheduled to coincide with a subsequent TBTT or TWT of the STA. Thus, in some aspects, the primary link information received from the AP may include an indication (such as a countdown timer) as to when the primary switching time is to occur (such as described with respect to  FIG. 5 ). 
     As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. For example, “at least one of: a, b, or c” is intended to cover the possibilities of: a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a and b and c. 
     The term “wireless station” or “STA,” as used herein, also may refer to as a user equipment (UE), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. 
     The various illustrative logics, logical blocks, modules, circuits and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and processes described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system. 
     The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices such as, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes and methods may be performed by circuitry that is specific to a given function. 
     In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus. 
     If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The processes of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that can be enabled to transfer a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine readable medium and computer-readable medium, which may be incorporated into a computer program product. 
     Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein. 
     Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. 
     Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.