Patent ID: 12192894

The present disclosure is described with reference to the accompanying drawings. In the drawings, generally, like reference numbers indicate identical or functionally similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.

DETAILED DESCRIPTION

Some aspects of this disclosure include apparatuses and methods for implementing a hibernation mode for multi-link wireless communication networks such as a wireless local area network (WLAN). The hibernation mode and operations for entering and/or exiting hibernation mode for multi-link WLAN of the aspects of this disclosure can assist the devices in the WLAN (e.g., an access point (AP), a station (STA)) to better utilize channel resources, to save power, and/or to enable virtual STA(s) in the multi-link WLAN.

According to some aspects, the hibernation mode and the hibernation mode's entering and/or exiting operations for multi-link WLAN can be implemented with communication techniques compatible with Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (such as, but not limited to IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11bc, IEEE 802.11bd, IEEE 802.11be, etc.). However, the aspects of this disclosure can also be extended to operations in other multi-link communication networks.

FIG.1Aillustrates an example system100implementing a hibernation mode in a multi-link communication network, according to some aspects of the disclosure. Example system100is provided for the purpose of illustration only and does not limit the disclosed aspects. System100may include, but is not limited to, access point (AP) multi-link device (MLD)110, non-AP MLDs120, and network130. Non-AP MLDs120a-120cmay include, but are not limited to, Wireless Local Area Network (WLAN) stations such as wireless communication devices, smart phones, laptops, desktops, tablets, personal assistants, monitors, televisions, wearable devices, and the like. AP MLD110may include but is not limited to WLAN electronic devices such as a wireless router, a wearable device (e.g., a smart watch), a wireless communication device (e.g., a smart phone), or a combination thereof. Network130may be the Internet and/or a WLAN. Non-MLD120's communications are shown as wireless communications140. The communication between AP MLD110and non-AP MLD120can take place using wireless communications140a-140c. The wireless communications140a-140ccan be based on a wide variety of wireless communication techniques. These techniques can include, but are not limited to, techniques based on IEEE 802.11 (such as, but not limited to IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11bc, IEEE 802.11bd, IEEE 802.11be, IEEE 802.11v, etc. standards).

According to some aspects, AP MLD110and non-AP MLDs120are configured to implement a multi-link communication. In other words, AP MLD110and non-AP MLDs120are configured to implement and support simultaneous or substantially simultaneous data transfer using multiple MAC/PHY links. For example,FIG.1Billustrates an example multi-link communication between two devices, according to some aspects of the disclosure.

As illustrated inFIG.1B, non-AP MLD120aand AP MLD110can communicate with each other using multiple links150a-150c. In other words, non-AP MLD120aand AP MLD110can use multiple MAC/PHY links150a-150cto simultaneously or substantially simultaneously transfer data. Although three links150are illustrated, the aspects of this disclosure are not limited to this example and any number of links150can be implemented. The links150can include different wireless channels, according to some aspects. For example, each wireless channel/link150can be defined based on its respective frequency that is different from the others. However, the aspects of this disclosure are no limited to wireless channels and other MAC/PHY layer links can be used as links150for communication between non-AP MLD120aand AP MLD110.

Also, although links150a-150care shown as links between non-AP MLD120aand AP MLD110, the aspects of this disclosure are not limited to this example. In some aspects, the multi-link communication can be between two AP MLDs. Additionally or alternatively, the multi-link communication can be between two non-AP MLDs. For example, the communication between two non-AP MLDs (and links150) can be direct communication (and direct links) between these non-AP MLDs. Additionally or alternatively, the communication between two non-AP MLDs (and links150) is through AP MLD110. In this example, wireless communications140aand140b, as shown inFIG.1A, can include links150a-150cofFIG.1B

According to some aspects, and as discussed in more detail below, non-AP MLD120acan include two or more radios for communicating with AP MLD110using multiple links150. According to some aspects, and as discussed in more detail below, non-AP MLD120a, to save power and/or enable virtual stations, can be configured to use only one of its radios to track Delivery Traffic Indication Map (DTIM) beacons and maintain normal communication with AP MLD110. In some aspects, non-AP MLD120acan put its other radio(s) or corresponding STAs in a hibernation mode and only activate them when needed.

FIG.2illustrates a block diagram of an example wireless system200of an electronic device implementing the hibernation mode and the hibernation mode's entering and/or exiting operations for multi-link communication network, according to some aspects of the disclosure. System200may be any of the electronic devices (e.g., AP MLD110, non-AP MLD120) of system100. System200includes processor210, one or more transceivers220a-220n, communication infrastructure240, memory250, operating system252, application254, and antenna260. Illustrated systems are provided as exemplary parts of wireless system200, and system200can include other circuit(s) and subsystem(s). Also, although the systems of wireless system200are illustrated as separate components, the aspects of this disclosure can include any combination of these, less, or more components.

Memory250may include random access memory (RAM) and/or cache, and may include control logic (e.g., computer software) and/or data. Memory250may include other storage devices or memory such as, but not limited to, a hard disk drive and/or a removable storage device/unit. According to some examples, operating system252can be stored in memory250. Operating system252can manage transfer of data from memory250and/or one or more applications254to processor210and/or one or more transceivers220a-220n. In some examples, operating system252maintains one or more network protocol stacks (e.g., Internet protocol stack, cellular protocol stack, and the like) that can include a number of logical layers.

At corresponding layers of the protocol stack, operating system252includes control mechanism and data structures to perform the functions associated with that layer.

According to some examples, application254can be stored in memory250. Application254can include applications (e.g., user applications) used by wireless system200and/or a user of wireless system200. The applications in application254can include applications such as, but not limited to, Siri®, FaceTime®, radio streaming, video streaming, remote control, and/or other user applications.

System200can also include communication infrastructure240. Communication infrastructure240provides communication between, for example, processor210, one or more transceivers220a-220n, and memory250. In some implementations, communication infrastructure240may be a bus. Processor210together with instructions stored in memory250performs operations enabling wireless system200of system100to implement the hibernation mode and the hibernation mode's entering and/or exiting operations in the multi-link communication network as described herein. Additionally, or alternatively, one or more transceivers220a-220nperform operations enabling wireless system200of system100to implement the hibernation mode and the hibernation mode's entering and/or exiting operations in the multi-link communication network operations as described herein.

One or more transceivers220a-220ntransmit and receive communications signals that support the multi-link hibernation mode, according to some aspects, and may be coupled to antenna260. (Herein, transceivers can also be referred to as radios). Antenna260may include one or more antennas that may be the same or different types. One or more transceivers220a-220nallow system200to communicate with other devices that may be wired and/or wireless. In some examples, one or more transceivers220a-220ncan include processors, controllers, radios, sockets, plugs, buffers, and like circuits/devices used for connecting to and communication on networks. According to some examples, one or more transceivers220a-220ninclude one or more circuits to connect to and communicate on wired and/or wireless networks.

According to some aspects of this disclosure, one or more transceivers220a-220ncan include a cellular subsystem, a WLAN subsystem, and/or a Bluetooth™ subsystem, each including its own radio transceiver and protocol(s) as will be understood by those skilled arts based on the discussion provided herein. In some implementations, one or more transceivers220a-220ncan include more or fewer systems for communicating with other devices.

In some examples, one or more transceivers220a-220ncan include one or more circuits (including a cellular transceiver) for connecting to and communicating on cellular networks. The cellular networks can include, but are not limited to, 3G/4G/5G networks such as Universal Mobile Telecommunications System (UMTS), Long-Term Evolution (LTE), and the like.

Additionally, or alternatively, one or more transceivers220a-220ncan include one or more circuits (including a Bluetooth™ transceiver) to enable connection(s) and communication based on, for example, Bluetooth™ protocol, the Bluetooth™ Low Energy protocol, or the Bluetooth™ Low Energy Long Range protocol. For example, transceiver220ncan include a Bluetooth™ transceiver.

Additionally, one or more transceivers220a-220ncan include one or more circuits (including a WLAN transceiver) to enable connection(s) and communication over WLAN networks such as, but not limited to, networks based on standards described in IEEE 802.11 (such as, but not limited to IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11bc, IEEE 802.11bd, IEEE 802.11be, etc.). For example, transceiver220acan enable connection(s) and communication over a multi-link WLAN network having a first link (e.g., link150a) associated with 2.4 GHz wireless communication channel. For example, transceiver220bcan enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link150b) associated with 5 GHz wireless communication channel. For example, transceiver220ccan enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link150c) associated with 6 GHz wireless communication channel. However, the aspects of this disclosure are no limited to these wireless channels and other PHY layer links and/or other wireless channels can be used.

Additionally, or alternatively, wireless system200can include one WLAN transceiver configured to operate at two or more links. Processor210can be configured to control the one WLAN transceiver to switch between different links, according to some examples. For example, transceiver220acan enable connection(s) and communication over a multi-link WLAN network having a first link (e.g., link150a) associated with 2.4 GHz wireless communication channel. And transceiver220bcan enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link150b) associated with 5 GHz wireless communication channel and can enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link150c) associated with 6 GHz wireless communication channel. According to some aspects of the disclosure, the switching from the first link to the second link can include using a transceiver (e.g., transceiver220b) associated with the second link instead of the transceiver (e.g., transceiver220a) associated with the first link. Additionally, or alternatively, the switching from the first link to the second link can include controlling a single transceiver (e.g., transceiver220) to operate at the frequency of the second link instead of operating at the frequency of the first link.

According to some aspects of this disclosure, processor210, alone or in combination with computer instructions stored within memory250, and/or one or more transceiver220a-220n, implements the hibernation mode and the hibernation mode's entering and/or exiting operations in the multi-link communication network as discussed herein. As discussed in more detail below with respect toFIGS.3-14, processor210can implement the hibernation mode and the hibernation mode's entering and/or exiting operations in the multi-link communication network ofFIGS.1A,1B, and2.

According to some aspects non-AP MLD120can operate at different power management modes. In one example, one power management mode can include a power saving mode. The power saving mode can include a loss-less power saving mode or a lossy power save mode, according to some examples. In the loss-less power saving mode, for DTIM tracking, non-AP MLD120can wake up before a DTIM beacon (for example, before every DTIM beacon) and can receive group-addressed frames, according to some aspects. In the loss-less power saving mode, by transmitting a Power Save Poll (PS-Poll) frame or an Unscheduled Automatic Power Save Delivery (U-APSD) Trigger frame, non-AP MLD120can solicit individual addressed frame(s) from an AP MLD, according to some aspects.

In the lossy power saving mode, for Basic Service Set (BSS) Max Idle, AP MLD110can announce the BSS Max Idle period and AP can maintain non-AP MLD120's association as far as non-AP MLD120sends a keep alive message within the BSS Max Idle period (e.g., about is to about 18 hours), according to some aspects.

In one example, another power management mode can include a Wireless Network Management (WNM) Sleep mode. In some examples, non-AP MLD120may request entering the WNM Sleep mode with a specified WNM Sleep Interval (e.g., less than BSS Max Idle period). After entering the WNM Sleep mode, non-AP MLD120can skip DTIM beacons and Group Temporal Key (GTK)/Integrity GTK (IGTK) updates, according to some aspects. When existing the WNM Sleep mode, non-AP MLD120can get the updated GTK/IGTK from, for example, AP MLD110.

In one example, another power management mode can include the multi-link hibernation mode. According to some aspects, in the multi-link hibernation mode, non-AP MLD120does not track DTIM beacon(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD120does not receive group-addressed frame(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD120does not solicit individual addressed frame(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD120does not send the keep-alive message. Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD120does not perform management handshakes to enter and exit the multi-link hibernation mode.

FIG.3illustrates an exemplary communication between AP MLD302and non-AP MLD304, according to some aspects of the disclosure. In this example, AP MLD302and non-AP MLD304can communicate using a multi-link WLAN network having two or more links. For example, AP MLD302and non-AP MLD304can communicate using links306a-306c. In some examples, links306can be and/or include links150ofFIG.1B.

According to some aspects, AP MLD302has a multi-link (ML) address308associated with AP MLD304. Also, AP MLD302can include three radios/transceivers310a-310c. For example, AP MLD302can include transceiver310aconfigured to enable connection(s) and communication over a multi-link WLAN network having the first link (e.g., link306a) associated with 2.4 GHz wireless communication channel. For example, AP MLD302can include transceiver310bconfigured to enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link306b) associated with 5 GHz wireless communication channel. For example, AP MLD302can include transceiver310cconfigured to enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link306c) associated with 6 GHz wireless communication channel. In other words, AP MLD302can include three APs operating on a 2.4 GHz channel, on a 5 GHz channel, and on a 6 GHz channel, respectively. However, the aspects of this disclosure are no limited to these wireless channels and other PHY layer links and/or other wireless channels can be used. Also, AP MLD302can include less or more radios/transceivers.

According to some examples, each transceiver310can include a medium access control (MAC) layer312and a physical (PHY) layer314. In some examples, each transceiver310(e.g., each AP) can have an associated basic service set identifiers (BSSID)316. In these examples, each transceiver310(e.g., each AP) can operate independently (e.g., simultaneous transmission (TX) and reception (RX) (STR)) and each transceiver310(e.g., each AP) can start at least one BSS, with different BSSIDs. However, the aspects of this disclosure are no limited to these examples and radios/transceivers310can include other structures and/or components.

According to some aspects, non-AP MLD304has a multi-link (ML) address318associated with non-AP MLD304. Also, non-AP MLD304can include two radios/transceivers320a-320b. For example, non-AP MLD304can include transceiver320aconfigured to enable connection(s) and communication over a multi-link WLAN network having the first link (e.g., link306a) associated with 2.4 GHz wireless communication channel. For example, non-AP MLD304can include transceiver320bconfigured to enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link306b) associated with 5 GHz wireless communication channel or configured to enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link306c) associated with 6 GHz wireless communication channel. However, the aspects of this disclosure are no limited to these wireless channels and other PHY layer links and/or other wireless channels can be used. Also, non-AP MLD304can include less or more radios/transceivers.

According to some examples, each transceiver320can include a lower medium access control (MAC) layer322and a physical (PHY) layer324. Also, each transceiver320can have an associated address. However, the aspects of this disclosure are no limited to these examples and radios/transceivers320can include other structures and/or components. Each transceiver/radio320can also be referred to herein as a station (STA). Additionally, or alternatively, a station (STA) is associated with a specific communication link/channel. For example, a first STA is associated with a first link associated with the 2.4 GHz wireless communication channel. A second STA is associated with a second link associated with the 5 GHz wireless communication channel. And, a third STA is associated with a third link associated with the 6 GHz wireless communication channel.

According to some aspects, when non-AP MLD304establishes a multi-link association with AP MLD302, non-AP MLD304may create up to three STAs326a-326c, each of which associates to one of the APs within AP MLD302and each STA326has its associated MAC address (different from other STAs). In some examples, non-AP MLD304can initially assign the 5/6 GHz transceiver320bto one of the STAs associated with the 5 GHz and 6 GHz AP, while the other STA326cdoes not have an assigned radio, which can be called a virtual STA. The virtual STA can have its own MAC address.

For example, transceiver320aof STA326aof non-AP MLD304can be associated with and communicate with transceiver310a(e.g., of one AP) of AP MLD302over link306aassociated with a 2.4 GHz wireless communication channel. In this example, transceiver320bof STA326bof non-AP MLD304can be associated with and communicate with transceiver310b(e.g., of another AP) of AP MLD302over link306bassociated with a 5 GHz wireless communication channel. In this example, STA326cof non-AP MLD304can be a virtual STA. The virtual STA326ccan be associated with and communicate with transceiver310c(e.g., of a third AP) of AP MLD302over link306cassociated with a 6 GHz wireless communication channel. In some examples, virtual STA326ccan use transceiver320bto communicate with transceiver310cof AP MLD302over link306cassociated with a 6 GHz wireless communication channel. In this example, non-AP MLD304(using, for example, one or more processors) can control transceiver320bto operate at the frequency of link306cinstead of operating at the frequency of link306b. Additionally, or alternatively, STA326ccan have its own and separate transceiver (e.g., a transceiver320c).

FIGS.4A and4Billustrate exemplary traffic identifier (TID) to link mappings, according to some aspects of the disclosure.

FIG.4Aillustrates one exemplary TID-to-link mapping401where one or more TIDs are mapped to all the links. In this example, AP MLD402communicates with non-AP MLD404. As a non-limiting example, AP MLD402can include a higher MAC layer405and two APs. Each AP of AP MLD402can include a lower MAC layer412and a PHY layer414. In this example, non-AP MLD404can include a higher MAC layer403and two STAs. Each STA of non-AP MLD404can include a lower MAC layer422and a PHY layer424. In this example, each STA of non-AP MLD404can be associated with one AP of AP MLD402. For example, a first STA of non-AP MLD404having lower MAC layer422aand PHY layer424acan communicate with a first AP of non-AP MLD402having lower MAC layer412aand PHY layer414ausing link406a. Also, a second STA of non-AP MLD404having lower MAC layer422band PHY layer424bcan communicate with a second AP of non-AP MLD402having lower MAC layer412band PHY layer414busing link406b.

According to the example TID-to-link mapping401ofFIG.4A, AP MLD402can include a first buffer411afor a first traffic with a first TID and a second buffer411bfor a second traffic with a second TID. In this example, first and second buffers411aand411bare mapped to both links406aand406b. In this example, AP MLD402can use both links406aand406b(and both APs) to transmit data and/or information in first and second buffers411aand411b.

In this example, the block acknowledgment(s) (BA) associated with the first and second TIDs can also be sent from non-AP MLD404to AP MLD402using both links406aand406b. For example, the first STA of non-AP MLD404can send BAs413aassociated with both the first and second TIDs to AP MLD402using link406a. Also, the second STA of non-AP MLD404can send BAs413bassociated with both the first and second TIDs to AP MLD402using link406b. According to some examples, higher MAC layer415of non-AP MLD404can include reorder buffers415aand415b. In this example, reorder buffer415acan be associated with the first TID and reorder buffer415bcan be associated with the second TID. Reorder buffers415can be used to store and/or reorder the traffic that is received from AP MLD402before sending the traffic to higher layers, according to some aspects.

FIG.4Billustrates one exemplary TID-to-link mapping441where different TIDs are mapped to different links. In this example, AP MLD442communicates with non-AP MLD444. As a non-limiting example, AP MLD442can include a higher MAC layer445and two APs. Each AP of AP MLD442can include a lower MAC layer452and a PHY layer454. In this example, non-AP MLD444can include a higher MAC layer443and two STAs. Each STA of non-AP MLD444can include a lower MAC layer462and a PHY layer464. In this example, each STA of non-AP MLD444can be associated with one AP of AP MLD442. For example, a first STA of non-AP MLD444having lower MAC layer462aand PHY layer464acan communicate with a first AP of non-AP MLD402having lower MAC layer452aand PHY layer454ausing link446a. Also, a second STA of non-AP MLD444having lower MAC layer462band PHY layer464bcan communicate with a second AP of non-AP MLD442having lower MAC layer452band PHY layer454busing link446b.

According to the example TID-to-link mapping441ofFIG.4B, AP MLD442can include a first buffer451afor a first traffic with a first TID and a second buffer451bfor a second traffic with a second TID. In this example, first buffer451ais mapped to link446aand second buffer451bis mapped to link446b. In this example, AP MLD442can use link446a(and its associated AP) to transmit data and/or information in first buffer451a. AP MLD442can use link446b(and its associated AP) to transmit data and/or information in second buffer451b.

In this example, the block acknowledgment(s) (BA) associated with the first and second TIDs can also be sent from non-AP MLD444to AP MLD442using their associated link446aand446b, respectively. For example, the first STA of non-AP MLD404can send BAs453aassociated with the first TID to AP MLD442using link446a. Also, the second STA of non-AP MLD404can send BAs453bassociated with the second TID to AP MLD442using link446b. According to some examples, higher MAC layer455of non-AP MLD444can include reorder buffers455aand455b. In this example, reorder buffer455acan be associated with the first TID and reorder buffer455bcan be associated with the second TID. Reorder buffers455can be used to store and/or reorder the traffic that is received from AP MLD442before sending the traffic to higher layers, according to some aspects.

FIG.5illustrates exemplary communications between APs of an AP MLD and STAs of a non-AP MLD, according to some aspects of the disclosure. It is to be appreciated that not all operations inFIG.5may be needed, and the operations may not be performed in the same order as shown inFIG.5. As illustrated inFIG.5, the AP MLD (e.g., AP MLD110,302,402, and/or442) can include three APs. A first AP510acan operate with 2.4 GHz wireless communication channel. A second AP510bcan operate with 5 GHz wireless communication channel. A third second AP510ccan operate with 6 GHz wireless communication channel. The non-AP MLD (e.g., non-AP MLD120,304,404, and/or444) can include two STAs and one virtual STA. For example, a first STA526acan operate with 2.4 GHz wireless communication channel. A second STA526bcan operate with 5 GHz wireless communication channel. A virtual STA526ccan operate with 6 GHz wireless communication channel.

According to some examples, STA526aof the non-AP MLD can communicate with AP510aof the AP MLD to associate with AP510a. For example, STA526acan send probe request511to AP510a. Probe request511can include a probe request frame to advertise information about STA526aand/or to inquire one or more parameters associated with AP510a. In response, AP510acan send probe response513to STA526a. Probe response513can include one or more probe response frames including, for example, AP510a's BSSID, supported data rate(s), and other related information. Additionally, or alternatively, AP510acan send Beacon(s)515to STA526a. According to some examples, at516, a Simultaneous Authentication of Equals (SAE) handshake can be performed between STA526aand AP510aand STA526acan be associated with AP510a.

Similarly, STA526band AP510bcan communicate messages such that STA526bcan be associated with AP510b. For example, STA526bcan send probe request517to AP510b. Probe request517can include a probe request frame to advertise information about STA526band/or to inquire one or more parameters associated with AP510b. In response, AP510bcan send probe response519to STA526b. Probe response519can include one or more probe response frames including, for example, AP510b's BSSID, supported data rate(s), and other related information. Additionally, or alternatively, AP510bcan send Beacon(s)521. According to some examples, STA526bcan send association request525to AP510b. According to some examples, association request525may also be called Multilink Association Request or Multilink Setup, since it is used to establish association across all links. In one exemplary aspect, association request525can include information and/or a request to AP510b(and the corresponding AP MLD) to map all TIDs to all links (including the virtual link) as discussed in, for example,FIG.4A. In some examples, mapping all the TIDs to all the link can result in more flexible operation without re-mapping overhead. Alternatively, association request525can include information and/or a request to AP510b(and the corresponding AP MLD) to map different TIDs to different links, as discussed in, for example,FIG.4B. In some examples, association request525can include information and/or a request to AP510b(and the corresponding AP MLD) for different mappings between TIDs and the links.

In response to association request525and in response to the elements of association request525matching AP510b's capabilities, AP510band STA526bcan be associated and AP510bcan send association response529to STA526b. In some examples, a 4-way handshake531can be performed between AP510band STA526b.

According to some examples, in addition to Beacon(s)521, AP510ccan send Beacon(s)523. In some examples, Beacon(s)521and/or523can be transmitted in broadcast.

In some examples, after STA526aand AP510aare associated and/or STA526band AP510bare associated, data port(s)533a-533ccan be opened for data communication between the STAs and the APs. For example, AP510bcan send data535to STA526b. Additionally, or alternatively, AP510acan send data537to STA526a. In this example, AP510ccannot send data539to virtual STA526csince STA526bis using the radio for communicating with AP510b. In other words, virtual STA526cdoes not receive data since STA526bis using the radio. In some examples, the AP MLD may start downlink transmission(s) to the non-AP MLD on all links after the association (e.g., immediately after the association). However, the non-AP MLD may not support receiving on all the links.

FIG.6illustrates an exemplary communication between AP MLD602and non-AP MLD604, according to some aspects of the disclosure. In this example, AP MLD602and non-AP MLD604can communicate using a multi-link WLAN network having two or more links. For example, AP MLD602and non-AP MLD604can communicate using links606a-606c. In some examples, links606can be and/or can include links150ofFIG.1B.

According to some aspects, AP MLD602has a multi-link (ML) address associated with AP MLD604. Also, AP MLD602can include three radios/transceivers610a-610c(e.g., three APs). For example, AP MLD602can include transceiver610a(e.g., a first AP) configured to enable connection(s) and communication over a multi-link WLAN network having the first link (e.g., link606a) associated with 2.4 GHz wireless communication channel. For example, AP MLD602can include transceiver610b(e.g., a second AP) configured to enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link606b) associated with 5 GHz wireless communication channel. For example, AP MLD602can include transceiver610c(e.g., a third AP) configured to enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link606c) associated with 6 GHz wireless communication channel. In other words, AP MLD602can include three APs operating on a 2.4 GHz channel, on a 5 GHz channel, and on a 6 GHz channel, respectively. However, the aspects of this disclosure are no limited to these wireless channels and other PHY layer links and/or other wireless channels can be used. Also, AP MLD602can include less or more radios/transceivers/APs.

According to some examples, each transceiver610can include a medium access control (MAC) layer612and a physical (PHY) layer614. In some examples, each transceiver610(e.g., each AP) can have an associated basic service set identifiers (BSSID). In these examples, each transceiver610(e.g., each AP) can operate independently (e.g., simultaneous transmission (TX) and reception (RX) (STR)) and each transceiver610(e.g., each AP) can start at least one BSS, with different BSSIDs. However, the aspects of this disclosure are no limited to these examples and radios/transceivers610can include other structures and/or components.

Also, as illustrated inFIG.6, AP MLD602can include a higher MAC layer605. According to some aspects, higher MAC layer605can be common for all three transceivers610(e.g., APs). In some examples, higher MAC layer605can include a buffer611for storing data (e.g., packets, frames, etc.) to be transmitted to non-AP MLD604. Also, each lower MAC layer612of each transceiver610can include a buffer613for transmitting data to associated STA of non-AP MLD604. For example, lower MAC layer612aof transceiver610acan include buffer613a. Lower MAC layer612bof transceiver610bcan include buffer613b. Lower MAC layer612cof transceiver610ccan include buffer613c.

According to some aspects, non-AP MLD604has a multi-link (ML) address associated with non-AP MLD604. Also, non-AP MLD604can include two radios/transceivers. For example, non-AP MLD604can include a first transceiver associated with STA626aconfigured to enable connection(s) and communication over a multi-link WLAN network having the first link (e.g., link606a) associated with 2.4 GHz wireless communication channel. For example, non-AP MLD604can include a second transceiver associated with STA626bconfigured to enable connection(s) and communication over the multi-link WLAN network having a second link (e.g., link606b) associated with 5 GHz wireless communication channel or associated with STA626bconfigured to enable connection(s) and communication over the multi-link WLAN network having a third link (e.g., link606c) associated with 6 GHz wireless communication channel. However, the aspects of this disclosure are no limited to these wireless channels and other PHY layer links and/or other wireless channels can be used. Also, non-AP MLD604can include less or more radios/transceivers.

According to some examples, each transceiver can include a lower medium access control (MAC) layer622and a physical (PHY) layer624. Also, each transceiver can have an associated address. However, the aspects of this disclosure are no limited to these examples and radios/transceivers can include other structures and/or components. Each transceiver/radio can also be referred to herein as a station (STA). Additionally, or alternatively, a station (STA) is associated with a specific communication link/channel. For example, a first STA is associated with a first link associated with the 2.4 GHz wireless communication channel. A second STA is associated with a second link associated with the 5 GHz wireless communication channel. And, a third STA is associated with a third link associated with the 6 GHz wireless communication channel.

According to some aspects, when non-AP MLD604establishes a multi-link association with AP MLD602, non-AP MLD604may create up to three STAs626a-626c, each of which associates to one of the APs within AP MLD602and each STA626has its associated MAC address (different from other STAs). In some examples, non-AP MLD602can initially assign the 5/6 GHz transceiver to one of the STAs associated with the 5 GHz and 6 GHz AP, while the other STA626cdoes not have an assigned radio, which can be called a virtual STA. The virtual STA can have its own MAC address.

For example, the transceiver of STA626aof non-AP MLD604can be associated with and communicate with transceiver610a(e.g., one AP) of AP MLD602over link606aassociated with a 2.4 GHz wireless communication channel. In this example, the transceiver of STA626bof non-AP MLD604can be associated with and communicate with transceiver610b(e.g., another AP) of AP MLD602over link606bassociated with a 5 GHz wireless communication channel. In this example, the transceiver of STA626cof non-AP MLD604can be a virtual STA. The virtual STA626ccan be associated with and communicate with transceiver610c(e.g., a third AP) of AP MLD302over link606cassociated with a 6 GHz wireless communication channel.

According to some aspects, non-AP MLD604can request that all TIDs (for both downlink (DL) and uplink (UL)) be mapped to all the links. According to some examples, in order to save power and/or to enable virtual STA, non-AP MLD604can use only one of STAs626a-626cto track DTIM Beacons and maintain normal communication with AP MLD602. Non-AP MLD604can put the other STAs in a hibernation mode and activate them when needed, according to some aspects. For example, as illustrated inFIG.6, non-AP MLD604can put STA626aand the virtual STA626cin the hibernation mode. In this examples non-AP MLD604can use STA626bfor tracking DTIM Beacons and maintaining normal communication with AP MLD602. In this example, STA626bcan become the primary STA of non-AP MLD604.

As discussed above, the hibernation mode can be different from power saving modes and/or WNM sleep modes. According to some aspects, in the hibernation mode (referred to as multi-link hibernation mode too), non-AP MLD604does not track DTIM beacon(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD604does not receive group-addressed frame(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD604does not solicit individual addressed frame(s). Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD604does not send the keep-alive message. Additionally, or alternatively, in the multi-link hibernation mode, non-AP MLD604does not perform management handshakes to enter and exit the multi-link hibernation mode. According to some aspects, STAs in the hibernation mode need not be waken to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. Also, a STA in the hibernation mode can be able to enter and exit the hibernation mode quickly, without suffering from management handshake and/or processing delays.

According to some aspects, in response to non-AP MLD604putting STA626aand virtual STA626cin the hibernation mode, AP MLD602does not buffer data (e.g., packets, frames, etc.) for the STAs that are in the hibernation mode. For examples, as illustrated inFIG.6, buffer613aof lower MAC layer612aand buffer613cof lower MAC layer612cdo not have data. In this example, data from buffer611is moved to buffer613bof lower MAC layer612bfor transmission to STA626bthat is not in the hibernation mode.

FIG.7illustrates exemplary communications between APs of an AP MLD and STAs of a non-AP MLD to enter the hibernation mode during association, according to some aspects of the disclosure. It is to be appreciated that not all operations inFIG.7may be needed, and the operations may not be performed in the same order as shown inFIG.7. As illustrated inFIG.7, the AP MLD (e.g., AP MLD110,302,402,442, and/or602) can include three APs. A first AP610acan operate with 2.4 GHz wireless communication channel. A second AP610bcan operate with 5 GHz wireless communication channel. A third second AP610ccan operate with 6 GHz wireless communication channel. The non-AP MLD (e.g., non-AP MLD120,304,404,444, and/or604) can include two STA and one virtual STA. For example, a first STA726acan operate with 2.4 GHz wireless communication channel. A second STA726bcan operate with 5 GHz wireless communication channel. A virtual STA726ccan operate with 6 GHz wireless communication channel.

According to some examples, STA726aof the non-AP MLD can communicate with AP710aof the AP MLD to associate with AP710a. For example, STA726acan send probe request711to AP710a. Probe request711can include a probe request frame to advertise information about STA726aand/or to inquire one or more parameters associated with AP710a. In response, AP710acan send probe response713to STA726a. Probe response713can include one or more probe response frames including, for example, AP710a's BSSID, supported data rate(s), and other related information. Additionally, or alternatively, AP710acan send Beacon(s)715to STA726a. According to some examples, at716, a Simultaneous Authentication of Equals (SAE) handshake can be performed between STA726aand AP710aand STA726acan be associated with AP710a.

Similarly, STA726band AP710bcan communicate messages such that STA726bcan be associated with AP710b. For example, STA726bcan send probe request717to AP710b. Probe request717can include a probe request frame to advertise information about STA726band/or to inquire one or more parameters associated with AP710b. In response, AP710bcan send probe response719to STA726b. Probe response719can include one or more probe response frames including, for example, AP710b's BSSID, supported data rate(s), and other related information. Additionally, or alternatively, AP710bcan send Beacon(s)721. According to some examples, STA726bcan send association request725to AP710b. According to some examples, association request725may also be called Multilink Association Request or Multilink Setup, since it is used to establish association across all links. In one exemplary aspect, association request725can include information and/or a request to AP710b(and the corresponding AP MLD) to map all TIDs to all links (including the virtual link) as discussed in, for example,FIG.4Aand/orFIG.6. In some examples, mapping all the TIDs to all the link can result in more flexible operation without re-mapping overhead. Alternatively, association request725can include information and/or a request to AP710b(and the corresponding AP MLD) to map different TIDs to different links, as discussed in, for example,FIG.4B. In some examples, association request725can include information and/or a request to AP710b(and the corresponding AP MLD) for different mappings between TIDs and the links.

Additionally, or alternatively, association request725can further include information to indicate to AP710b(and the AP MLD) that STAs726aand726chave entered or are to be entering the hibernation mode. At727, STAs726aand726center the hibernation mode. In some examples, operation727can occur before association request725. Alternatively, operation727can occur after association request725. In some examples, operation727can occur simultaneously or substantially simultaneously with association request725. According to some examples, information about the TIDs/links mapping and/or information about association mode may also be included in protected association messages, such as, but not limited to 4-Way handshake message(s)731in addition to or in alternative to association request725. In some examples, having these information in the protected association message(s) can avoid Deny of Service attack.

In response to association request725and in response to the elements of association request725matching AP710b's capabilities, AP710band STA726bcan be associated and AP710bcan send association response729to STA726b. In some examples, a 4-way handshake731can be performed between AP710band STA726b. In some examples, the handshake731can also include delivering GTKs/IGTKs for all APs710a-710c(and/or for all the links associated with STAs in awake and hibernation modes) to STA726b. According to some aspects, Group Temporal Key (GTK) can be used by STAs to decrypt multicast and/or broadcast traffic from, for example, APs. Integrity GTK (IGTK) can also be used check the integrity of the multicast and/or broadcast traffic from, for example, APs.

According to some examples, in addition to Beacon(s)721, AP710ccan send Beacon(s)723. In some examples, Beacon(s)721and/or723can be transmitted in broadcast.

In some examples, after STA726band AP710bare associated and the AP MLD is informed that STAs726aand726chave entered the hibernation mode, AP710aand AP710cdo not buffer any downlink data at733aand733c. Also, APs710aand710cdo not transmit data to STAs726aand726c. In some examples, AP710amay transmit DTIM Beacon(s) (743) and/or broadcast/multicast data (745) but STAs726aand/or726cdo not receive these transmissions. Also, AP710cmay transmit DTIM Beacon(s) (747) and/or broadcast/multicast data (749) but STAs726aand/or726cdo not receive these transmissions, according to some examples.

According to some examples, STA726band AP710bcan negotiate block acknowledgment (BA) operations and/or parameters during a BA scheme setup. The BA scheme setup can include messages735-741. For example, STA726bcan send an Add Block Acknowledgment (ADDBA) request735(including an ADDBA frame) to AP710band receive an ADDBA response737(including an ADDBA frame). The ADDBA signaling735and737can set up the block acknowledgment transmission scheme. Additionally, or alternatively, STA726bcan send a frame739to AP710bwith Power Management (PM) value set to 1 (PM=1) and receive and acknowledgment (ACK)741from AP710b. For example, STA726bcan enter a normal power saving mode (e.g., a lossless power saving mode) by transmitting a frame739with the PM field set to 1. When AP710breceives frame739correctly (and sends back ACK741), AP710bcan pause unicast transmission to STA726b, until STA726bsends a PS-Poll frame or an U-APSD trigger frame (step755) to AP710bto solicit unicast transmission.

According to some examples, AP710bcan transmit DTIM Beacon(s)751and/or broadcast/multicast data753to STA726b. Additionally, or alternatively, STA726bcan transmit Power Save Poll (PS-Poll)/Trigger755to AP710b. AP710bcan transmit unicast data757to AP710b, according to some examples.

FIG.8illustrates exemplary communications between AP MLD802and non-AP MLD804to communicate keep-alive message(s) and GTK/IGTK update(s), according to some aspects of the disclosure. Compared toFIG.6,FIG.8illustrates two APs810band810cof AP MLD802and two STAs826band826c(virtual STA) of non-AP MLD804. However, AP MLD802can include one or more other APs (for example, as illustrated inFIG.6) and non-AP MLD804can include one or more other STAs (for example, as illustrated inFIG.6) and the aspects of the disclosure discussed with respect toFIG.8can be applied to all APs of AP MLD802and/or all STAs of non-AP MLD804. In the example ofFIG.8, STA826bis in an awake mode where STA826bis configured to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. In this example, virtual STA826cis in the hibernation mode. According to some examples, all TIDs (e.g., DL TIDs) are mapped to all the links in AP MLD802and/or all TIDs (e.g. UL TIDs) are mapped to all the links in non-AP MLD804.

According to some aspects, AP MLD802can specify different idle periods such as, but not limited to, BSS Max Idle Periods, for different links, STAs, APs, and/or BSSs. In some examples, BSS Max Idle Period is a maximum time that a STA can be idle (for example, AP does not receive any frames from that STA) before the AP disassociates the STA. For example, AM MLD802can identify a first BSS Max Idle Period for AP810b, link806b, and STA826band can identify a second BSS Max Idle Period for AP810c, link806c, and STA826c. In some examples, the first and second BSS Max Idle Periods are different from each other. However, the aspects of this disclosure are not limited to this example, and the first and second BSS Max Idle Periods can be the same.

Non-AP MLD804can send keep-alive message(s)801to AP MLD802to meet the BSS Max Idle Period. In some examples, the association between AP MLD802and non-AP MLD804is at the device level and non-AP MLD804is to meet the keep-alive transmission requirement on at least one of the links in order to maintain the ML association with AP MLD802. According to some aspects, since STA826cis in the hibernation mode, STA826bis configured to transmit the keep-alive message(s)801on link806b. In some examples, STA826bsends the keep-alive message(s)801on link806bwithin the minimum (e.g., the shorter) of the first and second BSS Max Idle Periods identified by AP MLD802to maintain the association. Alternatively, STA826bsends the keep-alive message(s)801on link806bwithin the maximum of the first and second BSS Max Idle Periods identified by AP MLD802to maintain the association.

According to some aspects, Group Temporal Key (GTK) can be used by STAs to decrypt multicast and/or broadcast traffic from, for example, APs. Integrity GTK (IGTK) can also be used check the integrity of the multicast and/or broadcast traffic from, for example, APs. In some examples, GTK and/or IGTK can be provide to the STAs during a handshake process (e.g., handshake716and/or handshake731ofFIG.7.) In some examples, GTK and/or IGTK may need to be updated due to, for example, the expiration of one or more timers, or when one STA or multiple STAs have disassociated from an AP. According to some examples, each AP810band810ccan have its GTK/IGTK and/or its updated GTK/IGTK different from other APs. Alternatively, two or more APs of AP MLD802can share GTK/IGTK and/or updated GTK/IGTK.

According to some aspects, when one AP of AP MLD802is to update its GTK/IGTK, AP MLD802may convey the new/updated GTK/IGTK to any available STA of associated non-AP MLD804, which may operate on a different link from the AP that updates its GTK/IGTK. For example, when AP810cupdates its GTK/IGTK, AP810cdoes not directly transmit the updated GTK/IGTK through link806csince STA826cis in the hibernation mode. In this example, AP810cconveys its updated GTK/IGTK803to AP810b. AP810bcan send the updated GTK/IGTK803through link806bto STA826b. After receiving the updated GTK/IGTK, non-AP MLD806can update the GTK/IGTK for STA826c.

Although some examples are discussed with respect to updated GTK/IGTK, the aspects of this disclosure are not limited to these examples. The cross-link update discussed with respect to updated GTK/IGTK can also be applied to other BSS operation parameter updates that are unicast transmitted from an AP to each associated STA.

FIGS.9A and9Billustrate exemplary communications between AP MLD902and non-AP MLD904to enter and/or exit the hibernation mode during a link transition, according to some aspects of the disclosure. Compared toFIG.6,FIG.9illustrates two APs910aand910bof AP MLD902and two STAs926aand926bof non-AP MLD904. However, AP MLD902can include one or more APs (for example, as illustrated inFIG.6) and non-AP MLD904can include one or more STAs (for example, as illustrated inFIG.6) and the aspects of the disclosure discussed with respect toFIG.9can be applied to all APs of AP MLD902and/or all STAs of non-AP MLD904. In the example ofFIG.9A, STA926ais in an awake mode where STA926ais configured to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. In this example, STA926bis in the hibernation mode. According to some examples, all TIDs (e.g., DL TIDs) are mapped to all the links in AP MLD902and/or all TIDs (e.g. UL TIDs) are mapped to all the links in non-AP MLD904.

According to some examples, non-AP MLD904can change the link non-AP MLD904uses to communicate with AP MLD902. As a non-limiting example, as illustrated inFIGS.9A and9B, non-AP MLD904can first communicate with AP MLD902using link906a(e.g., the 2.4 GHz link) since, for example, link906ahas a longer range. In this non-limiting example, when non-AP MLD904gets closer to AP MLD902, non-AP MLD904can decide to transition to link906b(e.g., the 5 GHz link) since, for example, link906bhas better quality. In this example, non-AP MLD904(using, for example, one or more processors) can control its STAs to transition STA926afrom the awake mode to the hibernation mode and to transition STA926bfrom the hibernation mode to the awake mode. In this example, STA926ahas its associated transceiver/radio (e.g., transceiver220aofFIG.2) and STA926bhas its associated transceiver/radio (e.g., transceiver220bofFIG.2) different from STA926a.

FIGS.9A and9Billustrate one exemplary operation where STA926atransitions from the awake mode to the hibernation mode and STA926btransitions from the hibernation mode to the awake mode. As illustrated inFIG.9A, AP910ais communicating with STA926ausing link906a. In this example, buffer913a(for example in the lower MAC layer of AP910a) includes data (e.g., packets, frames, etc.) to be sent to STA926a. In this example, buffer913b(for example in the lower MAC layer of AP910b) does not include any data since STA926bis in the hibernation mode.

According to some examples, as one exemplary step in the link transition (e.g., a first step in the link transition and/or before the link transition), STA926bcan transition from the hibernation mode to the awake mode and transmit a frame901such as, but not limited to, PS-Poll frame and/or U-APSD Trigger frame to AP910bto indicate that STA926bhas exited the hibernation mode.

According to some examples, as another exemplary step in the link transition, and after receiving frame901, AP MLD902can stop buffering new data in, for example, buffer913a, as illustrated inFIG.9B. In this example, AP MLD902can stop moving new packets from buffer911to buffer913a. As another exemplary step, AP MLD902using AP910acan clear buffered data in buffer913a, as illustrated inFIG.9B. For example, AP910acan complete transmission of buffered data using AP910aand link906auntil no more data is in buffer913a(e.g., More Data=0).

As illustrated inFIG.9B, STA926bhas transitioned to the awake mode and as another exemplary step in the link transition, STA926ais transitioning to the hibernation mode. In some examples, before transitioning to the hibernation mode, STA926acan send a message and/or a frame903to AP910ato indicate that STA926ais transitioning to the hibernation mode. In some examples, STA926acan use an A-Control field in a MAC header of frame903to indicate that STA926ais transitioning to the hibernation mode. However, the aspects of this disclosure are not limited to this example and frame903can include other information to indicate that the STA is transitioning to the hibernation mode. According to some examples, as another exemplary step in the link transition, and after receiving frame903, AP MLD902can stop buffering new data in, for example, buffer913a, as illustrated inFIG.9B. In this example, AP MLD902can stop moving new packets from buffer911to buffer913a. As another exemplary step, AP MLD902using AP910acan clear buffered data in buffer913a, as illustrated inFIG.9B. For example, AP910acan complete transmission of buffered data using AP910aand link906auntil no more data is in buffer913a(e.g., More Data=0).

FIG.10illustrates exemplary communications between AP MLD1002and non-AP MLD1004to enter and/or exit the hibernation mode during a link transition, according to some aspects of the disclosure. Compared toFIG.6,FIG.10illustrates two APs1010band1010cof AP MLD1002and two STAs1026band1026c(virtual STA) of non-AP MLD1004. However, AP MLD1002can include one or more APs (for example, as illustrated inFIG.6) and non-AP MLD1004can include one or more STAs (for example, as illustrated inFIG.6) and the aspects of the disclosure discussed with respect toFIG.10can be applied to all APs of AP MLD1002and/or all STAs of non-AP MLD1004. In the example ofFIG.10, STA1026bis in an awake mode where STA1026bis configured to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. In this example, virtual STA1026cis in the hibernation mode. According to some examples, all TIDs (e.g., DL TIDs) are mapped to all the links in AP MLD1002and/or all TIDs (e.g. UL TIDs) are mapped to all the links in non-AP MLD1004.

According to some examples, non-AP MLD1004can change the link non-AP MLD1004uses to communicate with AP MLD1002. As a non-limiting example, as illustrated inFIG.10, non-AP MLD1004can first communicate with AP MLD1002using link1006b(e.g., the 5 GHz link). In this non-limiting example, non-AP MLD1004can decide to transition to link1006c(e.g., the 6 GHz link) since, for example, link1006chas better quality. In this example, non-AP MLD1004(using, for example, one or more processors) can control its STAs to transition STA1026bfrom the awake mode to the hibernation mode and to transition virtual STA1026cfrom the hibernation mode to the awake mode. In this example, STAs1026band1026ccan share the same transceiver/radio (e.g., transceiver220bofFIG.2) and non-AP MLD1004(using, for example, one or more processors) can control the shared transceiver to operate at the frequency of the second link (e.g., link1006c) instead of operating at the frequency of the first link (e.g., link1006b).

FIG.10illustrates one exemplary operation where STA1026btransitions from the awake mode to the hibernation mode and virtual STA1026ctransitions from the hibernation mode to the awake mode. As illustrated inFIG.10, AP1010bis communicating with STA1026busing link1006b. In this example, buffer1013b(for example in the lower MAC layer of AP1010b) includes data (e.g., packets, frames, etc.) to be sent to STA1026b. According to some examples, as one exemplary step in the link transition (e.g., as a first step in the link transition and/or before the link transition), STA1026bis transitioning from the awake mode to the hibernation mode. In some examples, before transitioning to the hibernation mode, STA1026bcan send a message and/or a frame1003to AP1010bto indicate that STA1026bis transitioning and/or has transitioned to the hibernation mode. In some examples, STA1026bcan use an A-Control field in a MAC header of frame1003to indicate that STA1026bis transitioning to the hibernation mode. However, the aspects of this disclosure are not limited to this example and frame1003can include other information to indicate that the STA is transitioning to the hibernation mode.

According to some examples, as another exemplary step in the link transition, and after receiving frame1003, AP MLD1002can stop buffering new data in, for example, buffer1013b. In this example, AP MLD1002can stop moving new packets from buffer1011to buffer1013b. As another exemplary step, AP MLD1002using AP1010bcan clear buffered data in buffer1013b. For example, AP1010bcan complete transmission of buffered data using AP1010aand link1006buntil no more data is in buffer1013b(e.g., More Data=0).

According to some examples, as another exemplary step in the link transition (e.g., a second step in the link transition), non-AP MLD1004can switch the transceivers/radios from STA1026bto STA1026c. According to some aspects of the disclosure, the switching from STA1026bto STA1026ccan include using a transceiver (e.g., transceiver220cofFIG.2) associated with link1006cinstead of the transceiver (e.g., transceiver220bofFIG.2) associated with link1006b. Additionally, or alternatively, the switching from STA1026bto STA1026ccan include controlling a single transceiver (e.g., transceiver220) to operate at the frequency of link1006cinstead of operating at the frequency of link1006b.

According to some examples, as another exemplary step in the link transition (e.g., a third step in the link transition), STA1026ccan transition from the hibernation mode to the awake mode and transmit a frame1001such as, but not limited to, PS-Poll frame and/or U-APSD Trigger frame to AP1010cto indicate that STA1026chas exited the hibernation mode. In some examples, AP MLD1002can move the new packets from buffer1011to buffer1013cof AP1010c(e.g., in the lower MAC layer of AP1010c) after receiving frame1001. Alternatively, AP MLD1002can move the new packets from buffer1011to buffer1013cof AP1010cafter receiving frame1003but before receiving frame1001.

FIG.11illustrates exemplary communications between AP MLD1102and non-AP MLD1104to enter and/or exit the hibernation mode during a fast link switch, according to some aspects of the disclosure. Compared toFIG.6,FIG.11illustrates two APs1110band1110cof AP MLD1102and two STAs1126band1126c(virtual STA) of non-AP MLD1104. However, AP MLD1102can include one or more APs (for example, as illustrated inFIG.6) and non-AP MLD1104can include one or more STAs (for example, as illustrated inFIG.6) and the aspects of the disclosure discussed with respect toFIG.11can be applied to all APs of AP MLD1102and/or all STAs of non-AP MLD1104. In the example ofFIG.11, STA1126bis in an awake mode where STA1126bis configured to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. In this example, virtual STA1126cis in the hibernation mode. According to some examples, all TIDs (e.g., DL TIDs) are mapped to all the links in AP MLD1102and/or all TIDs (e.g., UL TIDs) are mapped to all the links in non-AP MLD1104.

FIG.11illustrates one exemplary operation where STA1126btransitions from the awake mode to the hibernation mode and STA1126ctransitions from the hibernation mode to the awake mode. In this exemplary aspect, the transition between links1106band1106cis a fast link switch. According to some examples, in the link transition discussed above with respect toFIGS.9A,9B, and10, the old link (the link from which the transition occurs) can still be used to convey left over data (e.g., data already buffered for transmission or re-transmission from the old link). According to some examples, in the fast link switch as will be discussed with respect toFIGS.11and12, the old link (the link from which the transition occurs) may become immediately unavailable. For example, the connection on the old link is broken, the error and/or interferences on the old link becomes more than an acceptable threshold, etc. In some examples, the unavailability of the old link can last for a long period (e.g., longer than a threshold period), which may result in unbearable delay for low latency traffic. As discussed in more detail below with respect toFIGS.11and12, when the old link becomes unavailable, non-AP MLD1104can quickly notify AP MLD1102to stop buffering new data for the old link, to stop transmission on the old link, to move the left over data (e.g., buffered data for transmission or re-transmission on the old link) from the old link to the new link(s) or to re-buffer the left over data from host or higher MAC to the new link(s), and/or start transmission from the new link(s).

As illustrated inFIG.11, AP1110bis communicating with STA1126busing link1106b. In this example, buffer1113b(for example in the lower MAC layer of AP1110b) includes data (e.g., packets, frames, etc.) to be sent to STA1126b. According to some examples, link1106bbecomes immediately unavailable at1103(e.g., the connection on link1106bis broken, the error and/or interferences on link1106bbecomes more than an acceptable threshold, etc.) In some examples, STA1126bcan transition from the awake mode to the hibernation mode.

According to some examples, as an exemplary step in the fast link switch, non-AP MLD1104can switch the transceivers/radios from STA1126bto STA1126c. According to some aspects of the disclosure, the switching from STA1126bto STA1126ccan include using a transceiver (e.g., transceiver220cofFIG.2) associated with link1106cinstead of the transceiver (e.g., transceiver220bofFIG.2) associated with link1106b. Additionally, or alternatively, the switching from STA1126bto STA1126ccan include controlling a single transceiver (e.g., transceiver220) to operate at the frequency of link1106cinstead of operating at the frequency of link1106b.

According to some examples, as another exemplary step in the fast link switch, STA1126ccan transition from the hibernation mode to the awake mode and transmit a frame1101to AP1110cto indicate that STA1126chas exited the hibernation mode. In some examples, frame1101can include, but not limited to, PS-Poll frame and/or U-APSD Trigger frame. In some examples, STA1126bcan use an A-Control field in a MAC header of frame1101to indicate that STA1126bis transitioning and/or has transitioned to the awake mode.

According to some aspects, after receiving frame1101, AP MLD1102can stop buffering new data in, for example, buffer1113b. In this example, AP MLD1102can stop moving new packets from buffer1111to buffer1113b. Additionally, or alternatively, AP MLD1102can stop using AP1110bfor transmitting data on link1106b. Additionally, or alternatively, AP MLD1102can move the left over data (e.g., buffered data for transmission or re-transmission in buffer1113b) from buffer1113bto buffer1113c(and/or other buffer(s) of other the new link(s)). AP MLD1102can also re-buffer the left over data from buffer1113bto buffer1113c. AP MLD1102can start using AP1110cand link1106cfor transmitting the left over data and/or new data to STA1126cof non-AP MLD1104.

FIG.12illustrates exemplary communications between AP MLD1202and non-AP MLD1204to enter and/or exit the hibernation mode during a fast link switch, according to some aspects of the disclosure. Compared toFIG.6,FIG.12illustrates two APs1210band1210cof AP MLD1202and two STAs1226band1226c(virtual STA) of non-AP MLD1204. However, AP MLD1202can include one or more other APs (for example, as illustrated inFIG.6for example) and non-AP MLD1204can include one or more other STAs (for example, as illustrated inFIG.6) and the aspects of the disclosure discussed with respect toFIG.12can be applied to all APs of AP MLD1202and/or all STAs of non-AP MLD1204. In the example ofFIG.12, STA1226bis in an awake mode where STA1226bis configured to track DTIM Beacons, to send keep-alive message(s), and/or to receive updated GTK/IGTK. In this example, virtual STA1226cis in the hibernation mode. According to some examples, all TIDs (e.g., DL TIDs) are mapped to all the links in AP MLD1202and/or all TIDs (e.g., UL TIDs) are mapped to all the links in non-AP MLD1204.

FIG.12illustrates one exemplary operation where STA1226btransitions from the awake mode to the hibernation mode and STA1226ctransitions from the hibernation mode to the awake mode. In this exemplary aspect, the transition between links1206band1206cis a fast link switch.

As illustrated inFIG.12, AP1210bis communicating with STA1226busing link1206b. In this example, buffer1213b(for example in the lower MAC layer of AP1210b) includes data (e.g., packets, frames, etc.) to be sent to STA1226b. According to some examples, link1206bbecomes unavailable (e.g., the connection on link1106bis broken, the error and/or interferences on link1206bbecomes more than an acceptable threshold, etc.) but link1206bis still available for a short time. In some examples, the short time can include a time to transmit one short frame. In the exemplary aspect ofFIG.12, before STA1226btransitions from the awake mode to the hibernation mode and before link1206bbecomes unavailable, STA1226btransmits a frame1203to AP1210b. In some examples, STA1226bcan use an A-Control field in a MAC header of frame1203to indicate that STA1226bis transitioning to the awake mode and/or that the fast link switching is occurring. For example, STA1226bcan use an A-Control field in a MAC header of frame1203to indicate to AP1210bthat a fast link switch between links1206band1206cis occurring. However, the aspects of this disclosure are not limited to this example and frame1203can include other information to indicate that the STA is transitioning to the hibernation mode.

According to some aspects, after receiving frame1203, AP MLD1202can stop buffering new data in, for example, buffer1213b. In this example, AP MLD1202can stop moving new packets from buffer1211to buffer1213b. Additionally, or alternatively, AP MLD1202can stop using AP1210bfor transmitting data on link1206b. Additionally, or alternatively, AP MLD1202can move the left over data (e.g., buffered data for transmission or re-transmission in buffer1213b) from buffer1213bto buffer1213c(and/or other buffer(s) of other the new link(s)). AP MLD1202can also re-buffer the left over data from buffer1213bto buffer1213c.

According to some examples, as an exemplary step in the fast link switch, non-AP MLD1204can switch the transceivers/radios from STA1226bto STA1226c. According to some aspects of the disclosure, the switching from STA1226bto STA1226ccan include using a transceiver (e.g., transceiver220cofFIG.2) associated with link1206cinstead of the transceiver (e.g., transceiver220bofFIG.2) associated with link1206b. Additionally, or alternatively, the switching from STA1226bto STA1226ccan include controlling a single transceiver (e.g., transceiver220) to operate at the frequency of link1206cinstead of operating at the frequency of link1206b.

According to some examples, as another exemplary step in the fast link switch, STA1226ccan transition from the hibernation mode to the awake mode and transmit a frame1201to AP1210cto indicate that STA1226chas exited the hibernation mode. In some examples, frame1201can include, but not limited to, PS-Poll frame and/or U-APSD Trigger frame to indicate that STA1226bis transitioning and/or has transitioned to the awake mode.

According to some aspects, after receiving frame1201, AP MLD1202can start using AP1210cand link1206cfor transmitting the left over data and/or new data to STA1226cof non-AP MLD1204.

FIG.13illustrates an example frame format, which can be communicated between an AP MLD and a non-AP MLD to communicate that a STA is entering (or has exited) the hibernation mode, according to some aspects of the disclosure. For example,FIG.13illustrates an exemplary format of frame1301. The exemplary format of frame1301can be the exemplary format of one or more of frames903,1003,1101, and/or1203. According to some aspects, frame1301can include MAC header1303, frame body (e.g., MAC service data unit (MSDU) and/or aggregated MSDU (A-MDSU))1306, and Frame Check Sequence (FCS—for, for example, error-detection and/or additional padding)1308. It is noted that the length information provided for each field and/or subfield of frame1301is exemplary length information and the aspects of this disclosure are not limited to these examples.

In some examples, MAC header1303can include fields such as, but not limited to, frame control, duration field, address(es) (e.g., one or more source addresses, one or more destination addresses, etc.), sequence control, quality of service (QoS) control, and HT control1305as understood by a person of ordinary skill in art. In the aspects of this disclosure, one or more fields of the MAC header1303(such as, but not limited to, HT control field1305) can be used to communicate to an AP MLD that a STA of a non-AP MLD is entering (or has exited) the hibernation mode.

In some examples, MAC header1303can also include QoS control field1310. QoS control field1310can include a field indicating the traffic identifier (TID). In a non-limiting example, the TID field of QoS control field1310can include four bits. The TID can indicate the stream of frames to which frame1301(and/or frame body1306) belongs.

An example format of HT control field1305can include two bits VHT (Very High Throughput)1312and HE (High Efficiency)1314. Depending on the values of these two bits, a receiver device that receives HT control field1305(e.g., an AP MLD) can determine the purpose and format of HT control field1305and decode HT control field1305accordingly. For example, if the value of VHT1312bit is “0”, HT control field1305is an HT (High Throughput) variant. If the value of VHT1312bit is “1” and the value of HE1314bit is “0”, HT control field1305is a VHT (Very High Throughput) variant. If the value of VHT1312bit is “1” and the value of HE1314bit is “1”, HT control field1305is an HE (High Efficiency) variant.

According to some aspects, when a receiver device (e.g., AP MLD) receives the frame1301having MAC header1303including HT control field1305with the value of VHT1312bit being “1” and the value of HE1314bit being “1”, the receiver device knows that the rest of HT control field1305is A-control field1307. Therefore, the receiver device can decode A-control field1307accordingly. In some examples, A-control field1307can include 30 bits. But the aspects of this disclosure are not limited to this example.

In some aspects, A-control field1307can include different control subfields1309a-1309nand a padding field. In some examples, control subfields1309a-1309ncan each have variable sizes. The padding subfield can have 0 or more bits. The non-AP MLD can be configured to use one or more control subfields1309to communicate that a STA of the non-AP MLD is entering (or has exited) the hibernation mode, according to some aspects.

For example, a control subfield1309aof A-control field1307can include one or more of control identifier (ID)1311and control information1313. According to some aspects, control ID1311is set to a value not used for other purposes to communicate that a STA of the non-AP MLD is entering (or has exited) the hibernation mode. In some examples, a value of “1” for control ID1311can signal an operating mode of a STA of the non-AP MLD. In some examples, values of 7-14 for control ID1311are reserved. In some aspects, one or more these values can be used to communicate to the AP-MLD that a STA of the non-AP MLD is entering (or has exited) the hibernation mode

FIG.14illustrates an example method1400for a wireless system supporting and implementing a hibernation mode for multi-link wireless communication networks such as a wireless local area network (WLAN), according to some aspects of the disclosure. As a convenience and not a limitation,FIG.14may be described with regard to elements ofFIGS.1-13. Method1400may represent the operation of an electronic device (e.g., an AP MLD and/or a non-AP MLD as discussed in this disclosure) implementing a hibernation mode for multi-link wireless communication networks. Method1400may also be performed by system200ofFIG.2and/or computer system1500ofFIG.15. But method1400is not limited to the specific aspects depicted in those figures and other systems may be used to perform the method as will be understood by those skilled in the art. It is to be appreciated that not all operations may be needed, and the operations may not be performed in the same order as shown inFIG.14.

At1402, a first message can be transmitted, using a first station (STA) of a first multi-link device (MLD) and on a first link of a wireless network, to a second MLD. According to some examples, the first message can indicate that a second STA of the first MLD associated with a second link of the wireless network is in a hibernation mode. For example, the first MLD can include a non-AP MLD communicating with an AP MLD during, for example, an association operation that a second STA of the non-AP MLD is in the hibernation mode. According to some examples, the non-AP MLD can include one or more processors communicatively coupled to the first and second STAs and configured to control an operation of the first and second STA. In some examples, the one or more processors are configured to transmit, using the first STA, the message to the second MLD.

In some examples, the message can include an association request transmitted during the association of the first MLD and the second MLD. Additionally, the message can further include a request to map one or more traffic identifiers (TIDs) at the second MLD to the first and second links.

After the first and second MLDs are associated, the first and second MLDs can communicate at least one of a data frame, a management frame, or a control frame. For example, at1404, the first MLD communicates, using the first STA and on the first link, with the second MLD at least one of a data frame, a management frame, or a control frame.

According to some examples, the first MLD can be configured to transmit keep-alive message(s) to the second MLD as discussed above with respect to, for example,FIG.8. For example, at1406, a keep-alive message is transmitted (using, for example, one or more processors and using the first STA) within a minimum (e.g., the shorter) of a first time period and a second time period. In some examples, the first time period is a first idle period (e.g., a first maximum idle period) associated with the first STA and/or the first link and the second time period is a second idle period (e.g., a second maximum idle period) associated with the second STA and/or the second link.

According to some examples, the first MLD can be configured to receive at least one of an updated Group Temporal Key (GTK) or an updated Integrity GTK (IGTK) from the second MLD as discussed above with respect to, for example,FIG.8. For example, at1408, at least one of an updated Group Temporal Key (GTK) or an updated Integrity GTK (IGTK) associated with the second STA in the hibernation mode is received from the second MLD using, for example, one or more processors and using the first STA.

At1410, one or more operations associated with entering and/or exiting the hibernation mode during a link transition can be performed as discussed with respect toFIGS.9A,9B, and10.

In one example,1410can include transmitting, using the second STA and in response to the second STA transitioning to an awake mode, a frame to the second MLD indicating that the second STA has exited the hibernation mode and controlling the first STA to enter the hibernation mode. In some examples, the first STA includes a first transceiver and the second STA includes a second transceiver different from the first transceiver.

In one example,1410can include transmitting, using the first STA, a first frame to the second MLD indicating that the first STA is transitioning to the hibernation mode and transitioning the second STA from the hibernation mode to an awake mode.1410can further include transmitting, using the second STA and in response to the second STA transitioning to the awake mode, a second frame to the second MLD indicating that the second STA has exited the hibernation mode. In some examples, transitioning the second STA from the hibernation mode to the awake mode can include controlling a transceiver of the first MLD associated with the first STA and the second STA to operate at a frequency associated with the second link.

At1412, one or more operations associated with entering and/or exiting the hibernation mode during a fast link switch can be performed as discussed with respect toFIGS.11and12.

In one example,1412can include determining that the first link is not available (e.g., the connection on first link is broken, the error and/or interferences on the first becomes more than an acceptable threshold, etc.). In response to the determination,1412can further include controlling the first STA to transition from an awake mode to the hibernation mode and transitioning the second STA from the hibernation mode to the awake mode.1412can also include transmitting a frame, using the second STA, to the second MLD indicating that the second STA has exited the hibernation mode. In some examples, transitioning the second STA from the hibernation mode to the awake mode can include controlling a transceiver of the first MLD associated with the first STA and the second STA to operate at a frequency associated with the second link.

In one example,1412can include determining that the first link is not available and in response to the determination, transmitting, using the first link, a first frame to second MLD indicating that a link switch is occurring.1412can also include controlling the first STA to transition from an awake mode to the hibernation mode and transitioning the second STA from the hibernation mode to the awake mode.1412can also include transmitting a frame, using the second STA, to the second MLD indicating that the second STA has exited the hibernation mode. In some examples, transitioning the second STA from the hibernation mode to the awake mode can include controlling a transceiver of the first MLD associated with the first STA and the second STA to operate at a frequency associated with the second link.

Various aspects can be implemented, for example, using one or more computer systems, such as computer system1500shown inFIG.15. Computer system1500can be any well-known computer capable of performing the functions described herein such as devices110,120ofFIGS.1A and1B, or200ofFIG.2. Computer system1500includes one or more processors (also called central processing units, or CPUs), such as a processor1504. Processor1504is connected to a communication infrastructure1506(e.g., a bus.) Computer system1500also includes user input/output device(s)1503, such as monitors, keyboards, pointing devices, etc., that communicate with communication infrastructure1506through user input/output interface(s)1502. Computer system1500also includes a main or primary memory1508, such as random access memory (RAM). Main memory1508may include one or more levels of cache. Main memory1508has stored therein control logic (e.g., computer software) and/or data.

Computer system1500may also include one or more secondary storage devices or memory1510. Secondary memory1510may include, for example, a hard disk drive1512and/or a removable storage device or drive1514. Removable storage drive1514may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive.

Removable storage drive1514may interact with a removable storage unit1518. Removable storage unit1518includes a computer usable or readable storage device having stored thereon computer software (control logic) and/or data. Removable storage unit1518may be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/any other computer data storage device. Removable storage drive1514reads from and/or writes to removable storage unit1518in a well-known manner.

According to some aspects, secondary memory1510may include other means, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system1500. Such means, instrumentalities or other approaches may include, for example, a removable storage unit1522and an interface1520. Examples of the removable storage unit1522and the interface1520may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.

Computer system1500may further include a communication or network interface1524. Communication interface1524enables computer system1500to communicate and interact with any combination of remote devices, remote networks, remote entities, etc. (individually and collectively referenced by reference number1528). For example, communication interface1524may allow computer system1500to communicate with remote devices1528over communications path1526, which may be wired and/or wireless, and which may include any combination of LANs, WANs, the Internet, etc. Control logic and/or data may be transmitted to and from computer system1500via communication path1526.

The operations in the preceding aspects can be implemented in a wide variety of configurations and architectures. Therefore, some or all of the operations in the preceding aspects may be performed in hardware, in software or both. In some aspects, a tangible, non-transitory apparatus or article of manufacture includes a tangible, non-transitory computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system1500, main memory1508, secondary memory1510and removable storage units1518and1522, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system1500), causes such data processing devices to operate as described herein.

Based on the teachings contained in this disclosure, it will be apparent to persons skilled in the relevant art(s) how to make and use aspects of the disclosure using data processing devices, computer systems and/or computer architectures other than that shown inFIG.15. In particular, aspects may operate with software, hardware, and/or operating system implementations other than those described herein.

It is to be appreciated that the Detailed Description section, and not the Summary and Abstract sections, is intended to be used to interpret the claims. The Summary and Abstract sections may set forth one or more, but not all, exemplary aspects of the disclosure as contemplated by the inventor(s), and thus, are not intended to limit the disclosure or the appended claims in any way.

While the disclosure has been described herein with reference to exemplary aspects for exemplary fields and applications, it should be understood that the disclosure is not limited thereto. Other aspects and modifications thereto are possible, and are within the scope and spirit of the disclosure. For example, and without limiting the generality of this paragraph, aspects are not limited to the software, hardware, firmware, and/or entities illustrated in the figures and/or described herein. Further, aspects (whether or not explicitly described herein) have significant utility to fields and applications beyond the examples described herein.

Aspects have been described herein with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined as long as the specified functions and relationships (or equivalents thereof) are appropriately performed. In addition, alternative aspects may perform functional blocks, steps, operations, methods, etc. using orderings different from those described herein.

References herein to “one aspect,” “an aspect,” “some aspects,” “an example,” “some examples” or similar phrases, indicate that the aspect described may include a particular feature, structure, or characteristic, but every aspect may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same aspect. Further, when a particular feature, structure, or characteristic is described in connection with an aspect, it would be within the knowledge of persons skilled in the relevant art(s) to incorporate such feature, structure, or characteristic into other aspects whether or not explicitly mentioned or described herein.

The breadth and scope of the disclosure should not be limited by any of the above-described exemplary aspects, but should be defined only in accordance with the following claims and their equivalents.

As described above, aspects of the present technology may include the gathering and use of data available from various sources, e.g., to improve or enhance functionality. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data can include demographic data, location-based data, telephone numbers, email addresses, Twitter ID's, home addresses, data or records relating to a user's health or level of fitness (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other identifying or personal information. The present disclosure recognizes that the use of such personal information data, in the present technology, may be used to the benefit of users.

The present disclosure contemplates that the entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices. In particular, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining personal information data private and secure. Such policies should be easily accessible by users, and should be updated as the collection and/or use of data changes. Personal information from users should be collected for legitimate and reasonable uses of the entity and not shared or sold outside of those legitimate uses. Further, such collection/sharing should only occur after receiving the informed consent of the users. Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices. In addition, policies and practices should be adapted for the particular types of personal information data being collected and/or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations. For instance, in the US, collection of, or access to, certain health data may be governed by federal and/or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly. Hence different privacy practices should be maintained for different personal data types in each country.

Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, the present technology may be configurable to allow users to selectively “opt in” or “opt out” of participation in the collection of personal information data, e.g., during registration for services or anytime thereafter. In addition to providing “opt in” and “opt out” options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.

Moreover, it is the intent of the present disclosure that personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed. In addition, and when applicable, including in certain health related applications, data de-identification can be used to protect a user's privacy. De-identification may be facilitated, when appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of data stored (e.g., collecting location data a city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and/or other methods.

Therefore, although the present disclosure may broadly cover use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data.