Multi-link wireless communication connection
By establishing secure associations at the MAC entity level on multiple links and using a new frame MAC header format, the problem that existing wireless communication protocols cannot identify entities in multi-link systems is solved, thus achieving accuracy and efficiency in multi-link communication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-23
- Publication Date
- 2026-03-27
AI Technical Summary
Existing wireless communication protocols cannot support entity identification in multi-link connections. Frame formats cannot identify each entity in a multi-link system. They cannot establish per-traffic identifier (TID) aggregation BlockACK protocols, frame sequence number (SN) allocation, and BlockACK response construction at the MAC level on multiple links, leading to communication difficulties or failures.
By establishing security associations (SAs) at the MAC entity level on multiple links, using a new frame MAC header format to identify receivers and transmitters, security associations and frame sequence number allocation are implemented for each link, BlockACK windows are managed, replay checks and reordering are performed, and MAC-level BlockACK protocols are supported on multiple links.
It improves the functionality and compatibility of multi-link communication, ensures the accuracy and efficiency of data transmission, reduces replay errors, and increases throughput.
Smart Images

Figure CN112788597B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This patent application claims the benefit and priority of U.S. Provisional Application No. 62 / 924,934, filed on October 23, 2019, entitled “Multi-link Wireless Communication Connection Method and System,” which is incorporated herein by reference in its entirety. Technical Field
[0003] The field of this disclosure generally relates to wireless communications, including multi-link communications, and more specifically, to their frame and security operations. Background Technology
[0004] Devices called Wireless Access Points (WAPs) are used to establish home, office, and outdoor networks, also known as Wireless Local Area Networks (WLANs). WAPs may include routers. A WAP wirelessly couples all devices on the network (e.g., wireless stations such as computers, printers, televisions, digital video (DVD) players, security cameras, and smoke detectors) to each other and wirelessly couples them to a cable or subscriber line, through which the internet, video, and television are delivered to the home. Most WAPs implement the IEEE 802.11 standard, a competition-based standard used to handle communication between multiple competing devices sharing a wireless communication medium on a chosen communication channel among several communication channels. The frequency range of each communication channel is specified in the corresponding protocol of the implemented IEEE 802.11 protocol, such as "a", "b", "g", "n", "ac", "ad", "ax", "be". Communication follows a hub-and-spoke model, where the WAP is at the hub and the spokes correspond to the wireless links to each "client" device.
[0005] After a single communication channel is selected for the associated home network, access to the shared communication channel relies on a method identified as Collision-Sensed Multiple Access (CSMA). CSMA is a distributed random access method for sharing a single communication medium, which causes contention for the communication link to fall back and retry access when an anticipated collision is detected on the wireless medium (i.e., if the wireless medium is in use).
[0006] Communications over a single communication medium are identified as "simplex," meaning a one-at-a-time stream of communications from a single source node to one or more destination nodes, with all remaining nodes able to "listen" to the primary transmission. Starting with the IEEE 802.1 lac standard, and specifically with "Wave 2" of that standard, the so-called multi-user (MU) multiple-input multiple-output (MIMO) capabilities of WAPs can be used to conduct discrete communications with more than one destination node simultaneously. MU capabilities were added to the standard to enable WAPs to communicate with single-antenna single-stream or multi-antenna multi-stream transceivers simultaneously, thereby increasing the time available for discrete MIMO video links to wireless HDTVs, computer tablets, and other high-throughput wireless devices whose communication capabilities compete with those of WAPs. The IEEE 802.1 lax standard incorporates orthogonal frequency-division multiple access (OFDMA) into WAP or station capabilities. OFDMA allows WAPs to communicate with multiple stations simultaneously (over discrete frequency ranges) on the downlink.
[0007] The IEEE 802.1 In and 802.1 lac standards support increasing complexity in the signal processing required of fully compliant WLAN nodes, including beamforming capabilities for centralized communication of user data. One of the many capabilities of a fully compliant WLAN node under either of these standards is the ability to concentrate the signal strength of a transmitted communication to a receiving device. Doing so requires multiple antennas and a means for independently controlling the phase and amplitude of the communication signals transmitted thereon.
[0008] The subject matter claimed herein is not limited to solving any disadvantages or operating only in environments such as those described above. Rather, this background is provided only to illustrate one example technology area where some example embodiments described in the present disclosure can be practiced. SUMMARY
[0009] The method can include establishing a multi-link security association between a transmitter-on medium access control (MAC) logic entity of a transmitter and a receiver-on MAC logic entity of a receiver. The transmitter can include one or more transmitter links. The receiver can include one or more receiver links. BRIEF DESCRIPTION OF DRAWINGS
[0010] The structure and operation of example embodiments will be understood by reading the following detailed description and the accompanying drawings, in which like reference characters refer to like parts throughout the description and in which:
[0011] Figure 1 An example multi-link wireless communication system is shown;
[0012] Figure 2 An example SSID configuration for a multi-link device is shown;
[0013] Figure 3 An exemplary system is shown in which packet numbers (PNs) can be assigned at the MAC level over multiple links;
[0014] Figure 4 An exemplary system is shown in which PNs can be assigned at the MAC entity over one or more links;
[0015] Figure 5 An exemplary multi-link frame MAC header is shown;
[0016] Figure 6 A flowchart of an exemplary method for providing multi-link communication is shown;
[0017] Figure 7 A flowchart of an exemplary method of transmitter flow in a multi-link system is shown;
[0018] Figure 8 A flowchart of an exemplary method of receiver flow in a multi-link system is shown;
[0019] Figure 9 A flowchart of an exemplary method of a transmitter processing Block ACK responses using a multi-link frame format in a multi-link system is shown;
[0020] Figure 10 A flowchart of an exemplary method for establishing MAC entity relationships over multiple links at a transmitter for multi-link communication between the transmitter and a receiver is shown;
[0021] Figure 11 A flowchart of an exemplary method for establishing MAC entity relationships over multiple links at a receiver for multi-link communication between a transmitter and the receiver is shown; and
[0022] Figure 12 An exemplary system diagram is shown in accordance with an exemplary implementation. DETAILED DESCRIPTION
[0023] The following DETAILED DESCRIPTION provides further details of the drawings and exemplary implementations of the present application. Reference numbers and descriptions of redundant elements between the drawings are omitted for the sake of clarity. The terminology used throughout the specification is provided as examples and is not intended to be limiting. For example, use of the term“automated” can refer to fully automated or semi-automated implementations involving user or operator control over certain aspects of the implementation, depending on the desired implementation of one of ordinary skill in the art practicing the implementations of the present application.
[0024] Conventional systems are not conducive to next generation multi-link communications. For example, legacy wireless communication protocols are unable to support identification of entities with multi-link connections. Further, existing header and frame formats are unable to identify each entity in a multi-link system. With each entity in a multi-link system not identified, communications can be difficult or impossible. Further, conventional systems are unable to establish per-traffic identifier (TID) aggregation Block ACK agreements at the MAC level over multi-links, are unable to assign frame sequence numbers (SNs) on the transmit side of MAC entities over multi-links, and are unable to construct Block ACK responses and perform Rx window reordering operations on the receive side of MAC entities over multi-links. Conventional systems are also unable to assign PNs and perform replay checks at the lower MAC level.
[0025] In one example, under conventional PN assignment systems, PNs are expected to arrive at a receiver in order. This can be problematic in multi-link systems with multiple links, where data can travel through the links at different speeds. For example, PN=10 can be sent via a first link and PN=11 can be sent via a second link. If PN=11 arrives before PN=10, the conventional system can treat PN=10 as a replay and discard or not further transmit. Thus, the conventional approach can falsely determine that the data is a replay when it is actually valid data.
[0026] Aspects of the present disclosure address these and other drawbacks of conventional systems by providing frameworks and improved methods to enable multi-link communications. Described herein are aspects related to multi-link security associations (SAs), frame MAC headers for multi-links, various transmit and receive procedures and systems to improve functionality, performance, and compatibility in addressing malfunctions in conventional systems. In some embodiments, a multi-link entity (e.g., a transmitter or receiver) can include two or more links operating on different frequency bands. Each link can include a link-specific PHY and lower MAC layer. In at least one embodiment, a unified upper MAC layer interface with separate link-specific lower MACs can provide a unified MAC service access point (SAP) to logical link control (LLC) and upper layers. In at least one embodiment, one or more multi-link upper MAC entities can provide SAP and LLC services to a data forwarding path, an assignment system, and a networking upper layer protocol stack. The one or more multi-link upper MAC entities can each have a discrete identification that can be used to identify the multi-link upper MAC entity as a target or source of frames traversing a multi-link data path. In at least one embodiment, multi-link frames belonging to a particular TID can be flexibly scheduled to be sent on any or each of the links belonging to or associated with the pair of multi-link entities.
[0027] A per-link security association can be established under the MAC. In at least one embodiment, a transmitter / receiver association is established at the MAC entity level over multiple links, a security association (SA) is established at the MAC entity level over multiple links through a pairwise master key (PMK), and at the per-link under MAC level, a security association can be established based on the PMK at the MAC entity level over multiple links.
[0028] Exemplary aspects of the multi-link implementation include providing a per-SSID multi-link MAC entity and its identification; security association between multi-link MAC entities, per-link pairwise transient key security association (PTKSA) and group transient key security association (GTKSA) key exchange, transmitter side PN number assignment, and receiver side replay check procedure, transmitter side BlockACK window management, receiver side BlockACK window reordering management, and BlockACK retry procedure at the MAC level over multiple links. Additional aspects can include establishing a per-TID aggregated BlockACK agreement between a transmitter multi-link MAC entity and a receiver multi-link MAC entity, frame sequence number assignment for multi-link frames can be done at the transmitter side multi-link MAC entity, receiver side window reordering operations can be done at the receiver side multi-link MAC entity, and BlockACK and frame retry procedures can be done at the MAC level over multiple links.
[0029] To carry the multi-link information of the transmitter multi-link MAC entity ID and the receiver multi-link MAC entity ID, a new frame MAC header format can be used. As provided herein, the multi-link frame MAC header format enables a distinction between multi-link frames and existing frame formats (e.g., prior to IEEE 802.11be). Exemplary aspects of the multi-link frame MAC header enable identification of the receiver side multi-link MAC entity and the transmitter side multi-link MAC entity. Multi-link MAC layer processing can be applied based on configuration options of a particular multi-link MAC entity.
[0030] Figure 1An exemplary multi-link wireless communication system 100 is shown. The multi-link wireless communication system 100 can include an Internet Protocol (IP) / Transmission Control Protocol (TCP) / User Datagram Protocol (UDP) network stack 105. The system can include a transmitter IP / TCP / UDP network stack 105a and a receiver IP / TCP / UDP network stack 105b. The transmitter IP / TCP / UDP network stack 105a can be associated with a transmitter multi-link up MAC entity 110, which can be associated with a transmitter such as an access point (AP). A receiver such as a station (STA) can include a receiver multi-link up MAC entity 115. The transmitter multi-link up MAC entity 110 and the receiver multi-link up MAC entity 115 can be associated with each other to enable multi-link communication between the transmitter and the receiver. The transmitter multi-link up MAC entity 110 and the receiver multi-link up MAC entity 115 can be logical entities.
[0031] The transmitter can include one or more radios. Each radio can be associated with one or more link down MAC entities (which can be referred to herein as a link down MAC entity or a down MAC link). The multi-link up MAC entity can use the one or more link down MAC entities to coordinate communications on the radios. As Figure 1 As shown, the transmitter multi-link up MAC entity 110 is coupled to three links: a transmitter link down MAC entity 120a, a transmitter link down MAC entity 120b, and a transmitter link down MAC entity 120n (collectively referred to as transmitter link down MAC entities 120). The transmitter multi-link up MAC entity 110 can interface with the transmitter link down MAC entities 120. Any number of transmitter link down MAC entities 120 can be included in the multi-link wireless communication system 100.
[0032] As shown, the receiver multi-link up MAC entity 115 is coupled to three links: a receiver link down MAC entity 125a, a receiver link down MAC entity 125b, and a receiver link down MAC entity 125n (collectively referred to as receiver link down MAC entities 125). The receiver multi-link up MAC entity 115 can interface with the receiver link down MAC entities 125. Any number of receiver link down MAC entities 125 can be included in the multi-link wireless communication system 100. In at least one embodiment, there can be more transmitter link down MAC entities 120 present than receiver link down MAC entities 125.
[0033] In one example, the transmitter sub-MAC entities 120 can include a 2.4 GHz link, a 5 GHz link, or a 6 GHz link. For example, the transmitter sub-MAC entity 120a includes a 2.4 GHz link, the transmitter sub-MAC entity 120b includes a 5 GHz link, and the transmitter sub-MAC entity 120n includes a 6 GHz link. Similarly, the receiver sub-MAC entities 125 can include any of a 2.4 GHz link, a 5 GHz link, or a 6 GHz link.
[0034] A security association (SA) between the transmitter multi-sub-MAC entity 110 and the receiver multi-sub-MAC entity 115 can be created at the multi-sub-MAC level 130. In one example, the SA can be established between the transmitter multi-sub-MAC entity 110 and the receiver multi-sub-MAC entity 115 using an authentication protocol, such as 802. lx, pre-shared key (PSK), peer-to-peer synchronous authentication (SAE), etc. The result of establishing the SA at the multi-sub-MAC level 130 can include a PMK that is mutually derived. The PMK can be used to derive per-link PTKSAs, such as through a 4-way key exchange procedure.
[0035] At the lower MAC level 135, the transmitter sub-MAC entities 120 and the receiver sub-MAC entities 125 can be associated on a per-link basis, such as using at least one of a PTKSA and / or a GTKSA.
[0036] With respect to the per-link PTKSAs, once the multi-link SA is established at the multi-sub-MAC level 130 through the mutually derived PMK, at the lower MAC level 135 and on a per-link basis, a PTKSA 4-way key exchange procedure can be invoked to derive a per-link PTK[link]. An exemplary algorithm is provided for generating the per-link PTK[link], where the input parameters are: PMK, AP_per_Link_nonce, STA_per_Link_nonce, AP_per_Link_MAC_address, STA_per_Link_MAC_address:
[0037] PTK[link] = KDF(PMK, AP_Lower_MAC[link], AP_nonce[link],
[0038] STA_Lower_MAC[link], STA_nonce[link])
[0039] With respect to each link GTKSA, during the PTKSA 4-way key exchange, the per-link GTK[link] can be initially delivered to the receiver per-link lower MAC entity to the receiver and subsequent GTK[link] rekeying procedures can be performed by the per-link 2-way key exchange.
[0040] Accordingly, from one or both of the PTKSA and the GTKSA, the transmitter per-link lower MAC entity 120 can associate with a corresponding receiver per-link lower MAC entity 125, thereby forming a link pair. The links in the link pair can be the same type of link. For example, the link pair can include two 5 GHz links. Each link pair can include a separate PTK and GTK. In one example, the transmitter per-link lower MAC entity 120a and the receiver per-link lower MAC entity 125a can form a first link pair, the transmitter per-link lower MAC entity 120b and the receiver per-link lower MAC entity 125b can form a second link pair, and the transmitter per-link lower MAC entity 120n and the receiver per-link lower MAC entity 125n can form an "n"th link pair.
[0041] In operation, MAC protocol data unit (MPDU) sequence number (SN) assignment, Block ACK window management, MPDU Rx window reordering, and Block ACK response can be handled at the multi-link upper MAC level 130. MPDU packet number (PN) assignment, encryption, decryption, and replay check can be handled at the per-link lower MAC level 135. In at least one embodiment, the PN can include an integer (e.g., 48 bits) for replay check purposes.
[0042] The transmitter multi-link upper MAC entity 110 can construct a frame for transmission over the multi-link system 100. In at least one embodiment, the transmitter multi-link upper MAC entity can encapsulate a packet that can be received from a source. The packet from the source can include a header with various information, including a destination address, a source address, a type, a quality of service (QoS) marker, etc. The transmitter multi-link upper MAC entity can encapsulate the packet from the source into a multi-link frame format and assign various fields to the multi-link header, such as a receiver multi-link entity ID (MLE ID 1), a transmitter multi-link entity ID (MLE ID 2), an address 1 field (RA = receiver LinkX lower MAC address), an address 2 field (TA = transmitter LinkX lower MAC address), a TID that can be mapped from the QoS marker in the header of the packet from the source, a sequence number (SN) that can include the next SN for the TID from the Tx Block ACK window.
[0043] To improve throughput, MPDUs belonging to the same TID can be transmitted over multiple links. In at least one embodiment, the transmitter side of the lower MAC level 135 can perform the distribution of MPDUs to different links. The same PN space can be used across all links, or each link can have a separate PN space.
[0044] The transmitter link lower MAC entity can assign a monotonically increasing PN to each MPDU and can apply encryption to the MPDU. The transmitter link lower MAC entity can transmit the MPDU as a single MPDU (S-MPDU) or an aggregated MPDU (A-MPDU).
[0045] The receiver link lower MAC entity can receive MPDUs. The receiver link lower MAC 135 can combine MPDUs arriving over different links, perform cyclic redundancy code (CRC), decryption, do Rx replay operations, perform Block ACK operations, MPDU reordering, etc. In at least one embodiment, the receiver link lower MAC entity can pass the MPDUs to the receiver multi-link upper MAC entity and the receiver multi-link upper MAC entity can send a Block ACK (partial or full status) to the transmitter multi-link upper MAC entity. The receiver multi-link upper MAC entity can release the frame to the next stage of the forwarding path, or to the receiver IP / TCP / UDP network stack 105b.
[0046] In at least one embodiment, the combined acknowledgement can be transmitted from the receiver side of the lower MAC level 135 to the transmitter side of the lower MAC level 135 over any of the links. In at least one embodiment, the Block ACK frame can combine acknowledgments for MPDUs received over different links. The Block ACK frame can be transmitted over any of the links. In at least one embodiment, a failed MPDU can be retransmitted on the same link, or on a different link than the link used for the original transmission.
[0047] Figure 2 An example SSID configuration for a multi-link device (e.g., an AP) is shown. A multi-link device can be configured with one or more SSIDs. For example, a particular multi-link device can be configured with one or more multi-link upper MAC entities, where each of the multi-link upper MAC entities can be associated with a unique SSID. Each of the one or more multi-link upper MAC entities can be associated with one or more link lower MAC entities.
[0048] As shown, the multi-link device can be configured with three SSIDs, with each SSID associated with a respective multi-link up-MAC entity. Each of the three shown multi-link up-MAC entities can be configured for a unique SSID. For example, a first multi-link up-MAC entity 200 with a numeric identifier of "1" can be associated with SSID1 210 and any number of link down-MAC entities (e.g., link down-MAC entities 205a, 205b, and 205n). A second multi-link up-MAC entity 220 with a numeric identifier of "2" can be associated with SSID2 230 and any number of link down-MAC entities (e.g., link down-MAC entities 225a, 225b, and 225n). A third multi-link up-MAC entity 240 with a numeric identifier of "3" can be associated with SSID3 250 and any number of link down-MAC entities (e.g., link down-MAC entities 245a, 245b, and 245n). While three SSIDs are shown, the multi-link device can be configured for any number of SSIDs. In at least one embodiment, a second transmitter up-MAC logical entity can be instantiated for a second SSID.
[0049] In at least one embodiment, a multi-link up-MAC entity can be identified by its respective numeric identifier. Additionally or alternatively, a multi-link up-MAC entity can have a MAC address that can be represented to a distributed system (DS) or network stack. In one example, a multi-link up-MAC entity can use the address of an associated link down-MAC entity, or can use a unique MAC address that can be assigned such as by a network system administrator. The identification of one or more multi-link up-MAC entities can also be used for basic service set (BSS) operations, such as association and security association procedures as described herein.
[0050] Figure 3 An example system 300 is shown in which packet numbers (PNs) can be allocated at a multi-link up-MAC level, which can include a transmitter multi-link up-MAC entity 110. The system 300 can additionally include a transmitter link down-MAC entity 120, a receiver link down-MAC entity 125, and a receiver multi-link up-MAC entity 115. In at least one embodiment, PNs can be allocated at the transmitter multi-link up-MAC entity 110, and replay checks can be performed at the receiver multi-link up-MAC entity 115. In at least one embodiment, PNs can be allocated in a monotonic order. The system 300 can operate under the multi-link security association and per-link PTKSA and GTKSA framework described herein. In at least one embodiment, PNs can be allocated in a monotonic order. Each link or pair of links can have a separate PN space.
[0051] The system 300 can receive one or more MAC service data units (MPDUs) (e.g., MPDUs 305, 310, 315, and 320) with a particular TID. The transmitter multi-link up MAC entity 110 can include a PN manager 325. The PN manager 325 can assign a PN to each MPDU. As shown, the system can receive MPDU 305 and the PN manager 325 can assign PN = M to the MPDU 305. Similarly, the PN manager 325 can assign PN = M + 1 to the MPDU 310, PN = M + 2 to the MPDU 315, and PN = M + N to the MPDU 320. In at least one embodiment, each of the MPDUs 305, 310, 315, and 320 are associated with the same TID. The MPDUs 305, 310, 315, and 320 can be transmitted from the transmitter to the receiver using different links. For example, and as shown, the MPDU 305 can be transmitted to the receiver link down MAC entity 125a via the transmitter link down MAC entity 120a. Similarly, the MPDU 310 can be transmitted to the receiver link down MAC entity 125b via the transmitter link down MAC entity 120b, and the MPDU 315 can be transmitted to the receiver link down MAC entity 125n via the transmitter link down MAC entity 120n. In this way, the system 300 can provide multi-link delivery of MPDUs.
[0052] In at least one embodiment, transmissions between the transmitter link down MAC entities 120 and the receiver link down MAC entities 125 can be encrypted, such as using a PTK with a symmetric cipher. In at least one embodiment, a pair of transmitter and receiver link down MAC entities (e.g., the transmitter link down MAC entity 120a and the receiver link down MAC entity 125a) can share a link-specific PTK that can be used to encrypt and decrypt traffic between the two links in the link pair.
[0053] In at least one embodiment, the receiver multi-link up MAC entity 115 can perform a replay check on one or more of the MPDUs 305, 310, 315, and 320 using the PN assigned by the transmitter multi-link up MAC entity 110. The receiver multi-link up MAC entity 115 can include a replay manager 330 that can perform the replay check. A replay attack generally involves intercepting valid data. The valid data is then replayed or delayed in an attempt to gain access to a system. As a way to thwart replay attacks, the replay manager 330 can check the order of the PNs of the MPDUs. A replay check failure can indicate a security breach. For a PN assignment scheme that increments the PN number for each subsequent MPDU, the replay manager 330 can discard any PNs that have a lower PN than the most recent MPDU.
[0054] Figure 4 An example system 400 is shown in which PNs can be allocated to MPDUs at one or more link down MAC entities. System 400 can include transmitter multi-link up MAC entity 110, transmitter link down MAC entity 120, receiver link down MAC entity 125, and receiver multi-link up MAC entity 115. Transmitter link down MAC entity 120 can allocate PNs, such as on a per-link basis. System 400 can operate under the multi-link security association and per-link PTKSA and GTKSA framework described herein. In at least one embodiment, PNs can be allocated in a monotonic order. Each link or pair of links can have a separate PN space. In at least one embodiment, per-link PTKSA and GTKSA details are not shared with the multi-link up MAC layer 130. In a multi-link environment, PNs allocated at one or more link down MAC entities can provide advantages over PNs allocated at the multi-link up MAC entity, as the ability for more accurate replay checking and reordering is increased, as described in this document.
[0055] The system 400 can receive one or more MPDUs 405, 410, 415, 420 with a particular TID. The transmitter multi-link up MAC entity 110 can pass the MPDUs 405, 410, 415, 420 to the transmitter link down MAC entities 120. Each of the transmitter link down MAC entities 120 can include a respective PN manager 455. As shown, MPDU 425 and MPDU 440 can be passed to the transmitter link down MAC entity 120a, where the PN manager 455a can assign PN = M to MPDU 425 and PN = M + 1 to MPDU 440. Similarly, MPDU 430 and MPDU 445 can be passed by the transmitter multi-link up MAC entity 110 to the transmitter link down MAC entity 120b. The PN manager 455b can assign PN = K to MPDU 430 and PN = K + 1 to MPDU 445. MPDU 435 and MPDU 450 can be passed by the transmitter multi-link up MAC entity 110 to the link down MAC entity 120n. The PN manager 455n can assign PN = J to MPDU 435 and PN = J + 1 to MPDU 450. In at least one embodiment, the MPDUs 405, 410, 415, 420 can be passed to the transmitter link down MAC entities 120 by placing into different links based on respective channel access conditions. If one particular link has channel access at a given time, MPDUs can be sent from that link for transmission. Additionally or alternatively, the MPDUs 405, 410, 415, 420 can be passed by the transmitter multi-link up MAC entity 110 to the transmitter link down MAC entities 120 by placing into different links based on various parameters, such as link bandwidth capacity, interference conditions, etc. For example, a link with higher bandwidth capacity above a bandwidth capacity threshold and / or with low interference level below an interference threshold can be used to send more MPDUs. A link with lower bandwidth capacity (e.g., below a bandwidth capacity threshold) or high interference (e.g., above an interference threshold) can be used to send fewer MPDUs.
[0056] MPDUs 425, 430, 435, 440, 445, and 450 can be transmitted to the corresponding receiver per-link MAC entity 125 via the respective transmitter per-link MAC entity 120. In at least one embodiment, transmissions between the transmitter and receiver per-link MAC entities 120 and 125 can be encrypted, such as using a PTK with symmetric cipher. In at least one embodiment, a pair of transmitter and receiver per-link MAC entities (e.g., transmitter per-link MAC entity 120a and receiver per-link MAC entity 125a) can share a link-specific PTK, which can be used to encrypt and decrypt traffic between the two links in the link pair.
[0057] At the receiver side, replay check can be performed at the receiver of each per-link MAC entity. In at least one embodiment, replay check can be performed on a per-link or per-link pair basis. Each of the receiver per-link MAC entities 125 can include a respective replay manager 460. As shown, receiver per-link MAC entity 125a can include replay manager 460a, receiver per-link MAC entity 125b can include replay manager 460b, and receiver per-link MAC entity 125n can include replay manager 460n.
[0058] Since the PN manager 255 allocates PNs on a per-link basis at the transmitter per-link MAC entities, each link can maintain its own monotonic increasing PN[link] space, and the risk of false positives can be reduced. For example, false positives can be introduced when MPDUs are transmitted through different links of different speeds and PHY rates. Those different speeds can cause MPDUs with higher PNs to arrive before other valid MPDUs with lower PNs. In this case, valid MPDUs with lower PNs will be considered as replayed and discarded. By performing PN allocation and replay check on a per-link basis, the false positive situation described above can be prevented. Thus, replay check can be conducted by the respective replay manager 460 on a per-link basis at the receiver lower MAC level 135.
[0059] Once replay check has been performed at the replay manager 460, the receiver per-link MAC entity 125 can pass the MPDUs to the receiver multi-link upper MAC entity 115.
[0060] The receiver multi-link MAC entity 115 can include a reordering manager 465. The reordering manager 464 can perform reordering operations to ensure that MPDUs received over the various links are in order. To check the order of the MPDUs, the reordering manager 464 can identify, for each MPDU, a sequence number (SN) assigned by the transmitter multi-link MAC entity 110. If any of the SNs are out of order, the reordering manager 464 can reorder the MPDUs so that the MPDUs are sent to the destination address in the correct order.
[0061] Figure 5 An example multi-link frame MAC header 500 is shown. The multi-link frame MAC header 500 can be constructed by the transmitter multi-link MAC entity during the encapsulation process. To facilitate communication over the multi-link system, the MAC header 500 can include an identification of each point of the multi-link system so that the frame can be properly processed (e.g., for replay check and reordering operations) and forwarded from the source device to the final destination device. These identifications of each point of the multi-link system are carried in the multi-link frame MAC header 500. These identifications in the multi-link frame MAC header 500 can identify some or all of the following: transmitter multi-link MAC entity ID, receiver multi-link MAC entity ID, per-link transmitter address (TA), per-link receiver address (RA), source address (SA) and destination address (DA) of the frame.
[0062] In at least one embodiment, the transmitter multi-link MAC entity can encapsulate a packet that can be received from a source. The packet from the source can include a destination address, a source address, a type, a quality of service (QoS) marking, etc. The transmitter multi-link MAC entity can encapsulate the packet from the source into a multi-link frame format and assign various fields to the multi-link MAC header, such as receiver multi-link entity ID (MLE ID 1), transmitter multi-link entity ID (MLE ID 2), address 1 field (RA = receiver LinkX down MAC address), address 2 field (TA = transmitter LinkX down MAC address), TID that can be mapped from the QoS marking in the packet header from the source, sequence number (SN) that can include the next SN for the TID from the Tx BlockACK window. The SN can be used for Rx reordering, such as to ensure that frames associated with the same TID are released in order.
[0063] The multi-link frame MAC header 500 can include a frame control field 505. The frame control field 505 can provide a“protocol version” field that can be used to inform a device of the protocol of the multi-link frame MAC header 500. For example, the protocol version field can indicate a particular wireless protocol, such as having a value of 00b (which can indicate a previous MAC header format) or a value of 01b (which can indicate a multi-link MAC header format in which one or both of the MLE ID 1 and MLE ID 2 fields are present). In one example implementation, the protocol version field of the frame control field 505 can include any value used to indicate the use of a multi-link frame MAC header.
[0064] Figure 6 to Figure 11 A flow diagram illustrating an example method related to multi-link communication is shown. The method can be performed by processing logic that can comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), or a combination of both, which can be included in any transmitter (e.g., an AP) or receiver (e.g., a STA) or another computer system or device. However, another system or combination of systems can be used to perform the method. The methods described herein are presented and described as a series of acts performed in the order indicated. However, according to the disclosure, the acts can be performed in various orders and / or concurrently, and with other acts not presented and described herein. Additionally, not all illustrated acts can be employed in implementing a method in accordance with the disclosed subject matter. Further, those skilled in the art will appreciate and understand that the methods envisioned herein can alternatively be represented as a series of interrelated states via a state diagram or event diagram. Additionally, the methods disclosed in this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computing devices. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage media. Although shown as discrete blocks, individual blocks can be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
[0065] Figure 6 A flow diagram illustrating an example method 600 for providing multi-link communication is shown. The method 600 can begin at block 605, where processing logic can select a transmitter with multi-link capabilities from a list of available transmitters based on beacon advertisement information indicating that the transmitter has multi-link support. In at least one embodiment, the beacon advertisement information can include an identifier of an available transmitter link and / or a link type.
[0066] At block 610, the processing logic can establish a multi-link relationship between a MAC entity on a transmitter multi-link of the transmitter and a MAC entity on a receiver multi-link of the receiver. In at least one embodiment, the multi-link relationship can be used to determine a plurality of links that can be used for multi-link usage.
[0067] At block 615, the processing logic can establish a multi-link security association between the transmitter multi-link on MAC entity of the transmitter and the receiver multi-link on MAC entity of the receiver. In at least one embodiment, the transmitter can include a first transmitter link and a second transmitter link, and the receiver can include a first receiver link and a second receiver link. In at least one embodiment, establishing a multi-link security association between the transmitter multi-link on MAC entity of the transmitter and the receiver multi-link on MAC entity of the receiver includes mutually deriving a PMK.
[0068] At block 620, the processing logic can establish a security association for each link pair in the multi-link system at a lower MAC level. For example, the transmitter and the receiver can include one or more corresponding links of the same type that can be paired for communication. For example, a transmitter 5 GHz link can be paired with a receiver 5 GHz link. In at least one embodiment, the first transmitter link can be associated with the first receiver link at a lower MAC level by a PTKSA, which is created using a four-way key exchange that uses the mutually derived PMK, a first transmitter link nonce, a first receiver link nonce, a first transmitter link address, and a first receiver link address. In at least one embodiment, the security association for each link pair in the multi-link system at a lower MAC level can also include a GTKSA, which is derived during the four-way key exchange and established using a bidirectional key exchange at a lower MAC level and between the first transmitter link and the first receiver link. In at least one embodiment, establishing a security association for each link pair in the multi-link system at a lower MAC level can include associating the first transmitter link with the first receiver link at a lower MAC level, and associating the second transmitter link with the second receiver link at a lower MAC level.
[0069] At block 625, the processing logic can transmit and receive secure communications over one or more links of the relationship. In at least one embodiment, the communications can be protected using each derived PTK with a symmetric cipher (e.g., CCMP, GCMP, etc.). Thus, the method 600 can provide aspects related to multi-link security association at an upper MAC level and a lower MAC level to improve functionality, performance, and compatibility in addressing faults in conventional systems.
[0070] Figure 7 A flow diagram of an exemplary method 700 of transmitter flow in a multi-link system is shown. The method 700 can begin at block 705, where the processing logic can receive a packet, such as from an allocation system. The packet can include a destination address, a source address, a type, a quality of service (QoS) marking, etc.
[0071] At block 710, the processing logic can pass the packet to a multi-link on MAC entity, such as multi-link on MAC entity 110. At block 715, the processing logic can select a link for transmission of the packet.
[0072] At block 720, the processing logic can encapsulate the packet into an MSDU or A- MSDU subframe, and assign various fields that can be included in a multi-link MAC header. At block 725, the processing logic can aggregate two or more MSDU or two or more A-MSDU subframes into an aggregated MAC service data unit (A-MSDU).
[0073] At block 730, the processing logic can construct a MAC service data unit (MSDU) with a multi-link MAC header. At block 735, the processing logic can populate the multi-link MAC header with various data. In at least one embodiment, the processing logic can populate the multi-link MAC header with: receiver multi-link entity ID (MLE ID 1), transmitter multi-link entity ID (MLE ID 2), address 1 field (RA = receiver Link X down MAC address), address 2 field (TA = transmitter Link X down MAC address), TID that can be mapped from QoS marking in the packet header from the source, sequence number (SN) that can include next SN of TID from Tx Block ACK window.
[0074] At block 740, the processing logic can send the MPDU with the multi-link MAC header to the link selected at block 715. In at least one embodiment, the processing logic can send the MPDU to the transmitter link down MAC.
[0075] At block 745, the processing logic can assign a packet number (PN) to the MPDU. In at least one embodiment, the PN is assigned at the transmitter link down MAC. In at least one embodiment, the PN is assigned at the multi-link on MAC entity. At block 750, the processing logic can transmit the MPDU to the receiver link associated with the selected link. In at least one embodiment, the MPDU can be aggregated in an A-MPDU. In at least one embodiment, the MPDU and / or A-MPDU can be transmitted from the transmitter link down MAC to the receiver link down MAC in a physical layer convergence procedure (PLCP) protocol data unit (PPDU). Thus, the method 700 can improve functionality, performance, and compatibility by providing benefits that address shortcomings in conventional systems. Such benefits can be provided to a transmitter in a multi-link system to support identification of entities with multi-link connections, provide a header and frame format to identify each entity in a multi-link system, establish a per-TID aggregated Block ACK agreement at a multi-link on MAC level, and assign a frame SN at a transmit side of a multi-link on MAC entity.
[0076] Figure 8 A flowchart of an exemplary method 800 of receiver stream in a multi-link system is shown. The method 800 can begin at block 805, where processing logic can receive an MPDU at a receiver- down MAC entity, which can include the receiver-down MAC entity 125. The MPDU received at the receiver-down MAC entity can include the MPDU (or A-MPDU) transmitted by the transmitter-down MAC entity in Figure 7
[0077] At block 810, processing logic can perform a CRC check to check the integrity of the packet on the receiving end. The receiving end calculates a CRC value on the received MPDU and compares the calculated value to the frame check sequence of the MPDU. If the values do not match, the MPDU can be considered corrupted. At block 815, processing logic can decrypt the MPDU at the receiver-down MAC.
[0078] At block 820, processing logic can perform a replay check at the receiver-down MAC. At block 825, processing logic can send the MPDU to a receiver- up MAC entity, such as the multi-link-up MAC entity 115.
[0079] At block 830, processing logic can determine whether to use a partial state BlockACK or a full state BlockACK. In response to determining to use a partial state BlockACK (YES at block 830), at block 835, processing logic can respond to the transmitter-down MAC entity with a partial state BlockACK. At block 840, processing logic can run Rx reordering on the multiple MPDUs to determine whether the MPDUs were received in the correct order. In at least one embodiment, the Rx reordering operation can be performed on a per-link basis, which means that a separate RX reordering operation is performed at each link in the system. If the MPDUs are found to be out of order during the Rx reordering operation, processing logic can reorder the MPDUs into the correct order.
[0080] At block 845, processing logic can decapsulate the MPDU and / or de-aggregate the A-MSDU to produce packets (which can include the packets received at block 705 in Figure 7 At block 850, processing logic can send the packets to another device or network stack, such as.
[0081] In response to determining to use a full state Block ACK ("No" at block 830), at block 855, the processing logic can execute Rx reordering. At block 860, the processing logic can respond to the transmitter link lower MAC entity with a partial state Block ACK, and proceed to blocks 845 and 850.
[0082] Thus, the method 800 can improve functionality, performance, and compatibility by providing benefits that address the shortcomings in conventional systems. Such benefits can be provided to a receiver in a multi-link system to perform per-link replay check at the lower MAC level, construct a Block ACK response, and perform Rx window reordering operations at the upper MAC level on the receiver.
[0083] Figure 9 A flowchart of an exemplary method 900 of a transmitter processing a Block ACK response using a multi-link frame format in a multi-link system is shown. The method 900 can begin at block 905, where the processing logic can receive a Block ACK at a transmitter link lower MAC entity (e.g., transmitter link lower MAC entity 120) from a receiver link lower MAC entity (e.g., receiver link lower MAC entity 125). The method 900 can be performed independently for each link in a multi-link system.
[0084] At block 910, the processing logic can determine an associated transmitter multi-link upper MAC entity. In at least one embodiment, the transmitter multi-link upper MAC entity can be determined based on a Block ACK frame multi-link MAC header, which can include a value identifying the transmitter multi-link upper MAC entity associated with the Block ACK. In one example, the Block ACK frame multi-link MAC header can include a MLE ID 1 field, which can include a value identifying the transmitter multi-link upper MAC entity associated with the Block ACK. Figure 5 The MLE ID 1 shown can include a value identifying the transmitter multi-link upper MAC entity. At block 915, the processing logic can send the Block ACK to the associated multi-link upper MAC entity identified at block 910.
[0085] At block 920, the processing logic can process the Block ACK at the transmitter multi-link upper MAC entity. Processing the Block ACK can include withdrawing all acknowledged MPDUs and advancing the Tx Block ACK window.
[0086] At block 925, the processing logic can determine whether there are any unacknowledged MPDUs. When there are no unacknowledged MPDUs ("No" at block 925), the processing logic can proceed to block 905.
[0087] When there is at least one unacknowledged MPDU ("Yes" at block 925), at block 930, the processing logic can instruct the link down MAC to retransmit any unacknowledged MPDUs. In at least one embodiment, the processing logic can inform the transmitter link down MAC of the unacknowledged MPDUs, and the transmitter link down MAC can request the unacknowledged MPDUs from the receiver link down MAC. The receiver link down MAC can send the unacknowledged MPDUs to the transmitter link down MAC, and at block 935, the processing logic can receive the unacknowledged MPDUs at the multi-link upper MAC entity.
[0088] Figure 10 A flow diagram illustrating an exemplary method 1000 for establishing a multi-link upper MAC entity relationship at a transmitter for multi-link communications between the transmitter and a receiver is shown. The method 1000 can begin at block 1005, where the processing logic can receive a broadcast probe request from a receiver with a multi-link indicator (e.g., SSID, wildcard, etc.). At block 1010, the processing logic can determine that the receiver is multi-link capable based on the probe request.
[0089] At block 1015, the processing logic can transmit a probe response frame indicating a multi-link upper MAC entity identification of the transmitter. At block 1020, the processing logic can receive an authentication trigger from the receiver. In at least one embodiment, the authentication trigger can include an open mode authentication trigger.
[0090] At block 1025, the processing logic can transmit an authentication response. In at least one embodiment, the authentication response can include an open mode authentication response. At block 1030, the processing logic can receive an association request from the receiver. In at least one embodiment, the association request can include a multi-link upper MAC entity identifier of the receiver. At block 1035, the processing logic can transmit an association response including the transmitter multi-link upper MAC entity ID.
[0091] Figure 11 A flow diagram illustrating an exemplary method 1100 for establishing a multi-link upper MAC entity relationship at a receiver for multi-link communications between a transmitter and the receiver is shown. The method 1100 can begin at block 1105, where the processing logic can initiate a probe request that informs a transmitter that the receiver has multi-link support and a receiver multi-link upper MAC entity ID. At block 1110, the processing logic can receive a probe response from the transmitter with a transmitter multi-link upper MAC entity ID.
[0092] At block 1115, the processing logic can transmit a first authentication frame addressed to a MAC entity ID on a transmitter multi-link. At block 1120, the processing logic can receive a second authentication frame addressed to a MAC entity ID on a receiver multi-link. At block 1125, the processing logic can transmit an association request for a MAC entity ID on a transmitter multi-link. At block 1130, the processing logic can receive an association response for a MAC entity ID on a receiver multi-link.
[0093] An example transmission path / chain includes the following discrete and shared components. A WiFi medium access control (WMAC) component includes a hardware queue for each downlink and uplink communication stream, encryption and decryption circuitry for encrypting and decrypting downlink and uplink communication streams, medium access circuitry for performing clear channel assessment (CCA) and exponential random backoff and retransmission decisions, and packet processor circuitry for packet processing of transmitted and received communication streams. The WMAC component has access to a node table that lists each node / station on the WLAN, the capabilities of the station, the corresponding encryption key, and the priority associated with its communication traffic.
[0094] Each probe or data packet for wireless transmission to one or more stations on the transmit path components is framed in a frame. Next, each stream is encoded and scrambled in an encoder and scrambler, and then de-multiplexed into individual streams in a de-multiplexer. The next streams are subject to interleaving and mapping in a corresponding one of interleaving mappers. Next, all transmissions are spatially mapped by a spatial mapping matrix (SMM) in a spatial mapper. The spatially mapped streams from the spatial mapper are input to an inverse discrete Fourier transform (IDFT) component for conversion from the frequency domain to the time domain in an AFT and RF stage and subsequent transmission.
[0095] The IDFTs are coupled to a corresponding one of the transmit path / chain in the AFT RF stage for wireless transmission on an associated one of the MIMO antennas. Specifically, each IDFT is coupled to an associated one of a digital-to-analog converter (DAC) for converting the digital transmission to an analog transmission, a filter, an upconverter coupled to a common voltage controlled oscillator (VCO) for upconverting the transmission to the appropriate center frequency of the selected channel, and a power amplifier for setting the transmission power level of the transmission on the MIMO antenna array.
[0096] The receive path / chain includes the following discrete and shared components. In the AFE-RF stage, the communications received on the WAP's MIMO antenna array are RF processed, including downconversion. There are six receive paths, each including the following discrete and shared components: a low noise amplifier (LNA) to amplify the received signal under the control of an analog gain control (AGC) (not shown) for setting the amount by which the received signal is amplified, a downconverter coupled to a VCO for downconverting the received signal, a filter for bandpass filtering the received signal, an analog-to-digital converter (ADC) for digitizing the downconverted signal. In one embodiment, an optional sampler at the output of the ADC allows the received WiFi signal in the time domain to be sampled for subsequent WiFi spatial diagnostics by the processor and non-volatile memory. The digital output from each ADC is passed to a corresponding one of the Discrete Fourier Transform (DFT) components in the baseband portion of the WiFi stage for conversion from the time domain to the frequency domain.
[0097] Receive processing in the baseband stage includes the following shared and discrete components, including: an equalizer for mitigating channel impairments, coupled to the output of the DFT. In one embodiment, the received WiFi signal from the output of the DFT in the frequency domain, with or without equalization, is provided to the processor and non-volatile memory. The received WiFi streams at the output of the equalizer are subjected to de-mapping and de-interleaving in a corresponding number of de-mappers and de-interleavers. Next, the received streams are multiplexed in a multiplexer and decoded and descrambled in decoder and descrambler components, then de-framed in a de-framer. The received communications are then passed to the WMAC component, where they are decrypted by the decryption circuit and placed in the appropriate upstream hardware queue for upload to the Internet.
[0098] A computer readable storage medium can refer to a tangible medium such as, but not limited to, optical, magnetic, read only memory, random access memory, solid state devices, and drives or any other type of tangible or non-transitory medium suitable for storing electronic information. A computer readable signal medium can include a medium such as a carrier wave. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. The computer program can involve pure software
[0099] Various general purpose systems can be used with programs and modules in accordance with the examples herein, or it can prove convenient to construct a more specialized apparatus to perform the desired method operations. In addition, the exemplary implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages can be used to implement the teachings of the exemplary implementations as described herein. Instructions of the programming language(s) can be executed by one or more processing devices (e.g., central processing units (CPUs), processors, or controllers).
[0100] The components and processes disclosed herein can be implemented by hardware, circuitry, firmware, software, or a processor executing computer program code, individually or in any combination. The components and processes disclosed herein can be implemented by components coupled to transmitting and receiving paths of a wireless transceiver without departing from the scope of the disclosure claimed.
[0101] The subject technology is illustrated, for example, in accordance with various aspects described below. For convenience, various examples of aspects of the subject technology are described as numbered embodiments (1, 2, 3, etc.). These are provided as examples, and do not limit the subject technology. Aspects of various implementations described herein can be omitted, substituted for aspects of other implementations, or combined with aspects of other implementations, unless the context otherwise dictates. For example, one or more aspects of Embodiment 1 below can be omitted, substituted for one or more aspects of another embodiment (e.g., Embodiment 2), or combined with aspects of another embodiment. Below is a non-limiting overview of some example implementations presented herein.
[0102] Embodiment 1 includes a method that can include establishing a multi-link security association between a transmitter-on MAC logic entity of a transmitter and a receiver-on MAC logic entity of a receiver. The transmitter can include a first transmitter link and a second transmitter link. The receiver can include a first receiver link and a second receiver link.
[0103] In implementations of Embodiment 1, the first data includes at least one of a frame, a packet, a MAC service data unit (MSDU), an aggregated MSDU (A-MSDU), or a MAC protocol data unit (MPDU). In implementations of Embodiment 1, providing the first data to the first receiver link via the first transmitter link includes updating a frame control field to indicate a multi-link protocol version. In implementations of Embodiment 1, the transmitter-on MAC logic entity is associated with a first service set identifier (SSID). In implementations of Embodiment 1, the method further includes instantiating a second transmitter-on MAC logic entity for a second SSID.
[0104] Example 2 includes a method that can include establishing a multi-link security association between a media access control (MAC) logic entity on a transmitter and a MAC logic entity on a receiver. The transmitter can include a first transmitter link and a second transmitter link. The receiver can include a first receiver link and a second receiver link. The method can include receiving first data at the first receiver link from the first transmitter link. The method can include receiving second data at the second receiver link from the second transmitter link.
[0105] In a particular implementation of Example 2, the first data includes at least one of a frame, a packet, a MAC service data unit (MSDU), an aggregated MSDU (A-MSDU), or a MAC protocol data unit (MPDU).
[0106] In another particular implementation of Example 2, the method further includes receiving a first identifier associated with the first data and a second identifier associated with the second data.
[0107] In another particular implementation of Example 2, the method further includes performing a reordering operation that includes using the first identifier and the second identifier to determine that the first data is expected to arrive before the second data, determining that the second data arrived at the receiver before the first data, and reordering the first data and the second data to place the first data before the second data.
[0108] In another particular implementation of Example 2, the method further includes performing a replay check at a lower MAC level at the receiver.
[0109] In another particular implementation of Example 2, a first replay check is performed on the first data received via the first receiver link, wherein a second replay check is performed on the second data received via the second receiver link.
[0110] Figure 12 A block diagram of an example computing system 2002 that can be used to perform or direct performance of the one or more operations described, in accordance with at least one implementation of the present disclosure, is shown. The computing system 2002 can include a processor 2050, a memory 2052, and a data storage 2054. The processor 2050, the memory 2052, and the data storage 2054 can be communicatively coupled.
[0111] In general, the processor 2050 can include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules, and can be configured to execute instructions stored on any applicable computer-readable storage media. For example, the processor 2050 can include a microprocessor, microcontroller, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or any other digital or analog circuitry configured to interpret and / or execute computer-executable instructions and / or process data. Although illustrated as a single processor, the processor 2050 can include any number of processors configured to execute independently or together, as described in the present disclosure.
[0112] In some implementations, the processor 2050 can be configured to interpret and / or execute computer-executable instructions and / or process data stored in the memory 2052, the data storage 2054, or both. In some implementations, the processor 2050 can retrieve computer-executable instructions from the data storage 2054 and load the computer-executable instructions in the memory 2052. After loading the computer-executable instructions, the processor 2050 can execute the computer-executable instructions.
[0113] The memory 2052 and the data storage 2054 can include computer-readable storage media for carrying or having stored thereon computer-executable instructions or data structures. Such computer-readable storage media can include any available media accessible by a general- purpose or special-purpose computer, such as the processor 2050. By way of example, and not limitation, such computer-readable storage media can include tangible or non-transitory computer-readable storage media including random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which can be used to carry or store computer-executable instructions or data structures and which can be accessed by a general- purpose or special-purpose computer. Combinations of the above can also be included within the scope of computer-readable storage media. Computer-executable instructions can include, for example, instructions and data configured to cause the processor 2050 to perform a certain operation or group of operations.
[0114] Some portions of the detailed description are presented in terms of modules that are configured to perform particular actions or generate particular functionality. One or more of these modules can include code and routines that are configured to cause a computing system to perform one or more of the actions described in connection with that module. Additionally or alternatively, one or more of the modules can be implemented using hardware, including any number of processors, microprocessors (e.g., to perform or control the performance of one or more operations), DSPs, FPGAs, ASICs, or any suitable combination of two or more of these. Alternatively or additionally, one or more of the modules can be implemented using a combination of hardware and software. In the disclosure, operations described as being performed by a particular module can include operations that the particular module can instruct a corresponding system (e.g., a corresponding computing system) to perform. Additionally, depictions between different modules are made for ease of explanation of the concepts described in the disclosure and are not limiting. Additionally, one or more of the modules can be configured to perform more, fewer, and / or different operations than those described such that the modules can be combined or depicted in different ways.
[0115] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on computers. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their innovations to others skilled in the art. An algorithm is a self-consistent sequence of operations leading to a desired end-state or result. In an exemplary embodiment, the operations performed are those requiring physical manipulations of tangible quantities to achieve a tangible result.
[0116] Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as detecting, determining, analyzing, identifying, scanning, or the like, can include action and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other information storage, transmission or display devices.
[0117] Example embodiments can also relate to an apparatus for performing the operations herein. This apparatus can be specially constructed for the required purposes, or it can include a general-purpose computer selectively activated or reconfigured by one or more computer programs. Such computer programs can be stored in a computer readable medium, such as a computer readable storage medium or a computer readable signal medium. The computer executable instructions can include, for example, instructions and data which cause a general-purpose computer, special purpose computer, or special purpose processing devices (e.g., one or more processors) to perform a certain function or group of functions.
[0118] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0119] An example apparatus can include a wireless access point (WAP) or station and incorporate VLSI processors and program code for support. An example transceiver is coupled via an integrated modem to one of a cable, fiber, or digital subscriber backbone connection to the Internet to support wireless communications over a wireless local area network (WLAN), such as IEEE 802.11 compatible communications. The WiFi stages include a baseband stage, as well as an analog front end (AFE) stage and a radio frequency (RF) stage. In the baseband portion, wireless communications transmitted to or received from each user / client / station are processed. The AFE and RF portions process upconversion on each transmit path of wireless transmissions initiated in the baseband. The RF portion also processes downconversion of signals received on the receive path and passes them to the baseband for further processing.
[0120] An example apparatus can be a multiple-input multiple-output (MIMO) apparatus that supports up to NxN discrete communication streams through N antennas. In an example, the MIMO apparatus signal processing unit can be implemented as NxN. In various implementations, the value of N can be 4, 6, 8, 12, 16, etc. Extended MIMO operation enables the use of up to 2N antennas to communicate with another similarly equipped wireless system. It should be noted that even if the system does not have the same number of antennas, an extended MIMO system can communicate with other wireless systems, but can not utilize some of the antennas in one of the stations, thereby reducing optimal performance.
[0121] Channel state information (CSI) from any of the devices described herein can be extracted independently of changes related to channel state parameters and used for spatial diagnostic services of a network, such as motion detection, proximity detection, and positioning, which can be used, for example, for WLAN diagnostics, home security, health monitoring, smart home facility control, elder care, car tracking and monitoring, home or mobile entertainment, car infotainment, etc.
[0122] Unless the particular arrangements described herein are mutually exclusive of each other, the various implementations described herein can be combined in whole or in part to enhance system functionality and / or to produce complementary functionality. Likewise, aspects of the implementations can be implemented by independent arrangements. Accordingly, the above description has been set forth in terms of exemplary forms for carrying out the claims, and it is to be understood that details can be modified in sub-steps that are within the scope of the disclosure.
[0123] With respect to the use of substantially any plural or singular term herein, those having skill in the art can withdraw from the plural to the singular or from the singular to the plural without departing from the scope of the present disclosure. Where considerations of grammar and context permit, various singular / plural permutations can be explicitly set forth herein. Unless specifically stated otherwise, the term "element" does not refer to "one and only one" unless expressly stated otherwise. Moreover, any disclosures of any item herein is not intended to be dedicated to the public regardless of whether the item is explicitly recited in the claims.
[0124] Generally, the terms used in the present disclosure, particularly in the appended claims (e.g., in the body of the appended claims) are intended to be interpreted broadly such that the terms "comprising," "including," "having" and the like are to be construed in the manner typically associated with those terms (e.g., the terms "comprising" and / or "including" should be interpreted as meaning "including but not limited to," the term "having" should be interpreted as meaning "having at least," the term "includes" should be interpreted as meaning "includes, but is not limited to," etc.). Additionally, where used in the foregoing disclosure, phrases such as "at least one of A, B, and C" or "at least one of A, B, or C" are to be construed in the manner typically associated with such phrases per the common dictate that such phrases are intended to mean "at least one, but possibly more than one, of A, B, and C, or at least one of A, B, or C."
[0125] Additionally, the use of the terms "first," "second," "third," etc. does not necessarily imply a particular order or number of elements. Generally, the terms "first," "second," "third," etc. are used to distinguish different elements as common identifiers. The terms "first," "second," "third," etc. should not be understood to imply a particular order or number of elements unless specifically stated otherwise. Additionally, the terms "first," "second," "third," etc. should not be understood to imply a particular number of elements unless specifically stated otherwise.
[0126] The present disclosure can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing specific embodiments are to be considered in all respects only as illustrative and not as restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method for multi-link communication, comprising: A multi-link security association is established between the transmitter on-transmitter media access control (MAC) logical entity of the transmitter and the receiver on-receiver MAC logical entity of the receiver, wherein the transmitter includes a first transmitter link and a second transmitter link, and the receiver includes a first receiver link and a second receiver link, wherein the transmitter on-transmitter MAC logical entity is associated with a first service set identifier (SSID). Instantiate the MAC logical entity on the transmitter associated with a second SSID that is different from the first SSID; The first transmitter link and the first receiver link are associated at the lower MAC level through a first Paired Transient Key Security Association (PTKSA). The first PTKSA is created using a first four-way key exchange, which uses a first paired master key (PMK), a first transmitter link random number, a first receiver link random number, a first transmitter link address, and a first receiver link address. The second transmitter link is associated with the second receiver link at the lower MAC level via a second PTKSA, the second PTKSA being created using a second four-way key exchange, the second four-way key exchange using at least a second PMK different from the first PMK; At the first receiver link, first data is received from the first transmitter link via the lower MAC level; as well as At the second receiver link, second data is received from the second transmitter link via the lower MAC level.
2. The method for multi-link communication according to claim 1, wherein the first transmitter link type includes at least one of a 2.4 GHz link, a 5 GHz link, or a 6 GHz link, and wherein the first receiver link is a link of the same type as the first transmitter link.
3. The method for multi-link communication according to claim 1, wherein the first data includes at least one of the following: frame, packet, MAC Service Data Unit (MSDU), Aggregated MSDU (A-MSDU), or MAC Protocol Data Unit (MPDU).
4. The method for multi-link communication according to claim 1, further comprising assigning a first identifier to the first data and assigning a second identifier to the second data.
5. The method for multi-link communication according to claim 4, wherein the first identifier is assigned to the first data at the lower MAC level at the transmitter.
6. The method for multi-link communication according to claim 1, wherein providing first data to the first receiver link via the first transmitter link comprises: Construct multi-link MAC frames; as well as Update the MAC header to include the MAC logical entity identifier on the transmitter, the MAC logical entity identifier on the receiver, the transmitter address per link (TA), the receiver address per link (RA), the source address of the frame, and the destination address (DA).
7. The method for multi-link communication according to claim 1, wherein providing the first data to the first receiver link via the first transmitter link includes updating the frame control field to indicate the multi-link protocol version.
8. The method for multi-link communication according to claim 1, wherein security information is shared at the lower MAC level between the first transmitter link and the first receiver link.
9. A method for multi-link communication, comprising: A multi-link security association is established between the transmitter on-transmitter media access control (MAC) logical entity of the transmitter and the receiver on-receiver MAC logical entity of the receiver, wherein the transmitter includes a first transmitter link associated with a first service set identifier (SSID) and a second transmitter link associated with a second service set identifier (SSID) different from the first SSID, and the receiver includes a first receiver link and a second receiver link. The first transmitter link and the first receiver link are associated at the lower MAC level through a first Paired Transient Key Security Association (PTKSA). The first PTKSA is created using a first four-way key exchange, which uses a first paired master key (PMK), a first transmitter link random number, a first receiver link random number, a first transmitter link address, and a first receiver link address. The second transmitter link is associated with the second receiver link at the lower MAC level via a second PTKSA, the second PTKSA being created using a second four-way key exchange, the second four-way key exchange using at least a second PMK different from the first PMK; At the first receiver link, first data is received from the first transmitter link via the lower MAC level; as well as At the second receiver link, second data is received from the second transmitter link via the lower MAC level.
10. The method for multi-link communication according to claim 9, wherein the first data includes at least one of: a frame, a packet, a MAC Service Data Unit (MSDU), an Aggregated MSDU (A-MSDU), or a MAC Protocol Data Unit (MPDU).
11. The method for multi-link communication according to claim 10, further comprising: Receive a first identifier associated with the first data and a second identifier associated with the second data.
12. The method for multi-link communication according to claim 11, further comprising performing a reordering operation, the reordering operation including: Use the first identifier and the second identifier to determine that the expected first data arrives before the second data. Determine that the second data arrives at the receiver before the first data, and Reorder the first and second data so that the first data comes before the second data.
13. The method for multi-link communication according to claim 11, further comprising performing a replay check at the receiver at the lower MAC level.
14. The method for multi-link communication according to claim 10, wherein a first replay check is performed on first data received via a first receiver link, and a second replay check is performed on second data received via a second receiver link.
Citation Information
Patent Citations
Packet based link aggregation architectures
US20180206174A1