Assignment of association identifiers for compact flow indication diagrams
By allocating digital sets in wireless LANs and assigning AIDs based on monotonic sequences, the problem of lengthy TIM in beacon frames resulting in failure of beacon transmission is solved, and compact beacons and more efficient connections are achieved.
Patent Information
- Application Number
- CN202211326813.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-04-25
- Filing Date
- 2022-10-25
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2042-10-25
AI Technical Summary
In existing wireless local area networks (WLANs), the risk of traffic indicator maps (TIMs) in beacon frames increases due to lengthening, especially in multi-BSSID sets and multi-link operation (MLO) scenarios.
The length of the TIM and the size of the beacon is reduced by allocating the numeric set to perform AID assignment to client devices connected to VAPs in multiple BSSID sets and assigning AIDs from different subsets based on monotonic sequences.
Generate compact TIMs to reduce the size of beacons, reduce the risk of beacon transmission failure, and improve connection efficiency.
Smart Images

Figure CN116996970B_ABST
Abstract
Description
Background Art
[0001] A wireless local area network (WLAN) may include wireless access points (APs) as elements of a WLAN. These APs may act as attachment points to a wireless network. Client devices may associate with an AP and access other network resources in the WLAN. When a client device associates with an AP, the AP assigns an association identifier (AID) to the client device. The AID may be a digital tag that identifies a specific client device to the AP. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] According to one or more various embodiments, the present disclosure is described in detail with reference to the following drawings. The drawings are provided for illustration purposes only and merely depict typical or example embodiments.
[0003] Figure 1 An example of a network environment according to an embodiment of the present invention is illustrated.
[0004] Figure 2A and Figure 2B An example method for managing and assigning AIDs according to an embodiment of the present invention is illustrated.
[0005] Figure 3 Illustrated are example distributions of sets and subsets of numbers for AID assignments according to embodiments of the present invention.
[0006] Figure 4 An example method for traffic indication map (TIM) generation according to an embodiment of the present invention is illustrated.
[0007] Figure 5 An example method for assigning an AID according to an embodiment of the present invention is illustrated.
[0008] Figure 6 An example method for managing AIDs according to an embodiment of the present invention is illustrated.
[0009] Figure 7 A block diagram of an example computer system is depicted in which the embodiments described herein may be implemented.
[0010] The drawings are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. DETAILED DESCRIPTION
[0011] In a WLAN, APs can use management frames called beacons in accordance with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard to advertise their presence to devices in the wireless network. A beacon may include a timestamp, capability information, a service set identifier (SSID), supported rates, and different information elements. One such information element in a beacon is a traffic indication map (TIM).
[0012] In some Wi-Fi Multimedia (WMM) clients, the WMM power save mode can be enabled or disabled. When the WMM power save mode is enabled, the client device can periodically enter the power save / sleep mode between transmitting uplink packets to save power. When the client is in power save mode, the AP can buffer downlink packets for the client. TIM is an indication of such buffered data. The TIM includes a bitmap that indicates that the AP has buffered data waiting for its client devices operating in power save mode. The bitmap refers to a collection of bits, each bit representing the AID of a client device wirelessly associated with the AP. Based on whether the bit corresponding to a particular client device is set or reset, the client device can determine whether the AP has buffered data for it.
[0013] Typically, an AID can be assigned to a client device associated with an AP from a common pool of values. The common pool can be shared by all client devices of all frequency bands operating in the AP. The AP may have buffered data for some clients, but not for other clients, so a portion of the bitmap that actually represents the AP for those clients for which it has buffered data needs to be transmitted. Therefore, typically, the bitmap is not transmitted in its entirety, but a partial virtual bitmap (PVB) is transmitted in the TIM included in the beacon. Each bit of the PVB represents the AID of the client device associated with the AP. If the AP has buffered data for the client device, the bit representing the AID of the client device in the PVB is set to 1, otherwise the bit is set to 0.
[0014] The TIM may also include a bitmap control offset field that indicates the AID from which the PVB starts. The bitmap control offset may indicate a specific bit of the PVB from which it starts by providing an indication of a bit that does not need to be included in the PVB and is zero. However, there may be a scenario in which, despite the use of the bitmap control offset, the bit set to zero is still included in the PVB, thereby increasing the length of the TIM, which makes the beacon bulky.
[0015] Consider an example where clients with AIDs 1 to 100 are connected to an AP. If the AP has buffered data for clients with AIDs 99 and 100, the bitmap control offset may point to bit 99 of the PVB, indicating that bits 0 to 98 of the PVB are set to "0". In this case, the PVB will include two bits, i.e., bits 99 and 100 are set to binary "11". However, in a scenario where the AP has buffered data for clients with AIDs 10 and 80, the bitmap control offset may point to bit 10, indicating that bits 0 to bit 9 are set to "0", and the PVB may be set to binary "100....001". As a result, there may be many zeros in the PVB to convey that clients with AIDs between 10 and 80 do not have any buffered data. Therefore, although the bitmap control offset may indicate consecutive "0" bits in the PVB, the intermediate "0" bit between two bits set to "1" may not be indicated by the bitmap control offset. These intermediate "0" bits may contribute overhead information in the TIM, which makes the TIM lengthy and the beacon bulky. There may be a risk of failure when transmitting such a large beacon.
[0016] In addition, the above-mentioned problem about lengthy TIM may be aggravated as the number of clients increases. In addition, multiple virtual access points (VAPs) may be configured within a single physical AP. The VAP includes a multiplexed installation of a single physical AP so that it presents itself as multiple discontinuous APs to WLAN clients. Multiple VAPs running on a single physical AP are referred to as co-located VAPs. In some examples, co-located VAPs may be configured as part of multiple basic service set identifiers (BSSID) sets. The multi-BSSID set includes a VAP with a common operation class, a channel, a channel access function, a receiving antenna connector, and a transmitting antenna connector. The VAP included in the multi-BSSID set typically sends a single beacon with information about all VAPs in the multi-BSSID set, rather than sending a beacon for each VAP in the multi-BSSID set. In the case of enabling multi-BSSID functionality for the VAP, since a single beacon is sent for all VAPs in the multi-BSSID set, the TIM in such a beacon of the multi-BSSID set may be lengthy. Transmitting such a lengthy TIM in a beacon may further tend to exhaust the space in the beacon frame, and the beacon may become bulky, thereby increasing the risk of beacon transmission failure and possibly causing service disruption.
[0017] In addition, the IEEE has established a working group for IEEE 802.11be: Enhancements for Extremely High Throughput (EHT), which may be a potential next amendment to the IEEE 802.11 WLAN standard. One of the candidate functions of IEEE 802.11be is multi-link operation (MLO) in the 2.4 GHz, 5 GHz, and 6 GHz bands. In MLO between an AP and an MLO-enabled client device (non-AP station), data exchange between the client and the AP can occur simultaneously on multiple frequency bands such as the 2.4 GHz band, the 5 GHz band, and the 6 GHz band by using wireless link aggregation. Enabling the implementation of MLO with multiple BSSID sets in the 6 GHz band may further lead to an increase in the TIM length. Consider a scenario in which VAPs, VAP0 and VAP1, operating in the 6 GHz band are included in the multiple BSSID set, and VAP0 is attached to a multi-link device MLD0, and VAP1 is attached to another multi-link device MLD1. Each of the multi-link devices MLD0 and MLD1 includes a set of VAPs operating on different frequency bands. In such a scenario, a single beacon transmitted by a multi-BSSID set may include the TIMs of VAP0 and VAP1 as part of the multi-BSSID set, and also include the TIMs of MLD0 and MLD1 to which these VAPs are attached for MLO. Therefore, in such a scenario where multiple BSSIDs and MLO are enabled simultaneously, the TIMs may become more lengthy, which may cause the beacon frame to become larger, thereby increasing the risk of beacon transmission failure. Therefore, as explained above, there may be challenges of beacon transmission failure due to lengthy TIMs in beacon frames.
[0018] The present invention allows AIDs to be assigned to client devices in such a way that a compact TIM is generated, thereby reducing the size of beacons and preventing beacon transmission failures. In one example, the method and system of the present invention allocate a set of digits for AID assignment to client devices connected to a VAP in a multi-BSSID set. In addition, in one example, if multi-BSSID functionality is not enabled, such as for a VAP in a 2.4GHz or 5GHz band, another set of digits may be allocated for AID assignment to client devices connected to a VAP configured in an AP. In one example, the set of digits is a natural number. In addition, the method and system configure the AP to assign AIDs to non-multilink (ML) client devices from a first subset of the digit set based on a first monotonic sequence. Non-ML client devices include non-AP stations with MLO disabled. The first subset is specifically used for AID assignment to non-ML client devices. In one example, the first monotonic sequence refers to a continuous sequence of digits in a first subset, which may be increasing or decreasing and bounded by a minimum value and a maximum value.
[0019] In addition, the method and system configure the AP to assign an AID to an ML client device from a second subset of the digital set based on a second monotonic sequence. In one example, the ML client device refers to a non-AP station that enables MLO. The second subset is specifically used for AID assignment to ML client devices. In one example, the second monotonic sequence refers to a continuous digital sequence in the second subset, which can be increasing or decreasing and bounded by a minimum value and a maximum value. The second monotonic sequence is different from the first monotonic sequence. For example, if the first monotonic sequence is in a decreasing order, the second monotonic sequence is in an increasing order, and vice versa. The AP configured according to the method of the present invention can receive an association request from a client device to associate with a VAP implemented in the AP. Based on the association request, the AP can determine whether MLO is enabled for the client device. In response to determining that MLO is disabled for the client device, the AP can assign a first AID to the client device from the first subset based on the first monotonic sequence. Using the AID assignment described herein, the PVB length of the TIM included in the beacon can be reduced. This is because a separate set of numbers is allocated for AID assignment in the multi-BSSID set and for each VAP assignment not included in the multi-BSSID set. In addition, assigning AIDs to non-ML and ML client devices from separate subsets of numbers (i.e., the first subset and the second subset) allows the length of the PVB to be reduced and the TIM to be compact. The reduction in the length of the TIM can reduce the overall length of the beacon. Therefore, the TIM and the beacon become compact, and thus the failure of the beacon transmission can be reduced / eliminated.
[0020] The following detailed description refers to the accompanying drawings. Where possible, the same reference numerals are used in the drawings and the following description to refer to the same or similar parts. Although several embodiments of the present invention are described herein, modifications, adaptations and other implementations of these embodiments are possible. Therefore, the following detailed description does not limit the scope of the present invention. On the contrary, the proper scope of the present invention is defined by the appended claims.
[0021] Figure 1 An example of a network environment 100 according to an embodiment of the present invention is illustrated. The figure illustrates an example of a configuration implemented with an organization having multiple users (or at least multiple client devices). The network environment 100 may include an office, campus, home, or other network installation. The network environment 100 may be a private network, such as a network that may include security and access controls to limit access to authorized users of the private network. Authorized users may include, for example, authorized employees, residents, college students, customers, etc.
[0022] In the illustrated example, the network environment 100 includes a controller 102. The controller 102 may provide communications with another network, such as a public or private network, such as the Internet. A single controller 102 is illustrated, but the network environment 100 may include multiple controllers.
[0023] The controller 102, also known as a WLAN controller, can be operated to configure and manage network devices. The controller 102 can be operated to configure and / or manage switches, routers, access points, and / or client devices connected to the network. The controller 102 itself can be an access point, or provide the functionality of an access point. The controller 102 can communicate with one or more wireless APs 104A-C. The APs 104A-C provide network connectivity to various client devices 114A-H. Using the connection with the APs 104A-C, the client devices 114A-H can access network resources, including other devices on the network environment 100. Examples of client devices may include desktop computers, notebook computers, tablet computers, e-readers, netbook computers, personal digital assistants (PDAs), mobile phones, smart phones, smart terminals, dumb terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IOT) devices, and the like.
[0024] The APs 104A-C are included as examples of access points for a network established for wireless client devices 114A-H in the network environment 100. The APs 104A-C can control network access for the client devices 114A-C and can authenticate the client devices 114A-H for connection to the AP and, through the AP, to other devices within the network environment 100. Each AP 104A-C can be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity to the wireless client devices 114A-H. In the illustrated example, the APs 104A-C can be managed and configured by the controller 102. The APs 104A-C communicate with the controller 102 and the network environment 100 via a connection 116, which can be a wired or wireless interface.
[0025] exist Figure 1In the example of , the present invention is illustrated in detail with reference to AP 104A. However, any of AP104B-C can have a configuration similar to AP 104A, and the method and system of the present invention explained for AP 104A can also be performed for AP 104B-C. AP 104A includes VAPs 118A, 118B, and 118C. VAP 118 is included in a multi-BSSID set 120. The multi-BSSID set includes VAPs with a common operation class, channel, channel access function, receiving antenna connector, and transmitting antenna connector. The VAPs included in the multi-BSSID set usually send a single beacon with information about all VAPs in the multi-BSSID set. All VAPs in the multi-BSSID set are assigned in such a way that the BSSID of the VAP cannot be used as a MAC address for a station using a different operation class, channel, receiving antenna connector, or transmitting antenna connector. Figure 1 The multi-BSSID set 120 and VAP 118 illustrated by the dotted lines in the figure can be virtual entities configured in the physical AP 104A. In some examples, VAP 118 can be distributed in a group of APs. Each VAP can broadcast its own SSID and can have its own network interface with a BSSID. In one example, the AP profile corresponding to AP 104A can be configured in AP 104A or an AP group. The AP profile can be used to adjust the settings associated with VAP 118 and multi-BSSID set 120. Although three VAPs are shown to be configured, there can be more than three or less than three VAPs in AP 104A. VAP 118 can also be configured so that they are not included in the multi-BSSID set 120.
[0026] As shown, controller 102 includes a hardware processor 106 and a machine-readable storage medium 108. AP 104 also includes a hardware processor 110 and a machine-readable storage medium 112. Hardware processors 106 and 110 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices suitable for retrieving and executing instructions stored in machine-readable storage media 108 and 112. Hardware processors 106 and 110 may fetch, decode, and execute instructions, such as instructions for managing AID assignments by AP 104.
[0027] In some embodiments, the machine-readable storage media 108 and 112 may be non-transitory storage media, where the term "non-transitory" does not encompass transient propagation signals. As described in detail below, the machine-readable storage media 108 and 112 may be encoded with executable instructions for managing and assigning AIDs. The instructions include AID management instructions 122 stored in the machine-readable storage medium 108 and AID assignment instructions 124 stored in the machine-readable storage medium 112.
[0028] The hardware processor 106 may execute the AID management instruction 122 to allocate a digital set for AID assignment to a client connected to the VAP 118 in the multi-BSSID set 120 configured in the AP 104A. AID refers to a digital label that identifies a specific client device with the AP. In one example, the digital set refers to a continuous natural number starting from 1 to 1024. In one example, the multi-BSSID set 120 operates in the 6 GHz frequency band. The digital set is a digital pool or a digital range from which an AID can be assigned to a client connected to the VAP 118 in the multi-BSSID set 120. In one example, if more than one multi-BSSID set is configured in the AP 104A, a digital set is allocated corresponding to each multi-BSSID set. In addition, in the case where the VAP is not included in the multi-BSSID set 120, a separate digital set is allocated for AID assignment to a client device connected to the VAP configured in the AP 104. In one example, the VAP may operate in the 2.4 GHz or 5 GHz frequency band.
[0029] In one example, a network administrator may configure two multi-BSSID sets, MBSSID1 and MBSSID2, in the 6 GHz band of AP 104A. Based on the above configuration of AP 104A, controller 102 may assign a set of numbers from 1 to 1024 to MBSSID1 and another set of numbers from 1 to 1024 to MBSSID2. Thus, two clients, one associated with a VAP of MBSSID1 and the other associated with a VAP of MBSSID2, may have the same AID. However, the AIDs of the two clients are carried in different beacons, one MBSSID1 and the other MBSSID2, and remain unique in the group of client devices associated with a single multi-BSSID set. Therefore, using the same range of numbers for AID assignment to clients of different multi-BSSID sets does not cause any confusion in the identity of the client.
[0030] In addition, the hardware processor 106 can execute the AID management instructions 122 to configure the AP 104A to assign an AID to a non-ML client device from a first subset of the digital set based on a first monotonic sequence. In one example, a non-ML client device refers to a non-AP station that does not have MLO capabilities. The MLO capabilities of the client device can be indicated in an association request from a client. In one example, an information element in the association request can indicate the MLO capabilities of the client. The AP can know whether the client is an ML client or a non-ML client when receiving an association request from a client device.
[0031] In one example, the first subset includes a continuous range of numbers from the set. Assuming that the range of the set of numbers is from 1 to 1024, in one example, the first subset may include numbers between 30 and 511. In another example, the first subset may include numbers between 512 and 1024. The first subset may be predefined based on the type of network deployment and the client devices in the network. For example, if the network serves a large number of traditional client devices without MLO capabilities, the range of numbers included in the first subset may be larger than the range of numbers in the second subset. Alternatively, if the network serves a large number of client devices with MLO capabilities, the range of numbers included in the first subset may be smaller than the range of numbers included in the second subset. The first monotonic sequence may be ascending or descending numbers in the first subset. In one example, each AID assigned to a client device from the first subset based on the first monotonic sequence is greater than or less than the previous AID assigned as "1".
[0032] The hardware processor 106 may also execute the AID management instructions 122 to configure the AP 104A to assign the AID to the ML client device from the second subset of the digital set based on the second monotonic sequence. In one example, the ML client device refers to a non-AP station with MLO capability. The second subset is different from the first subset and includes another continuous range of numbers from the set. Assume that the range of the digital set is from 1 to 1024, and the first subset includes numbers from 30 to 511, in such an example, the second subset may include numbers from 512 to 1024. In another example, the first subset may include numbers between 512 and 1024, in which case the second subset may include numbers from 30 to 511. Therefore, the second subset may have boundary values that are continuous with the boundary values of the first subset. That is, in some examples, the minimum number of the second subset may be continuous with the maximum number of the first subset, and vice versa. The second subset may be pre-defined based on the type of network deployment and the client devices in the network. The second monotonic sequence may be numbers in ascending or descending order in the second subset. In one example, each AID assigned to a client device from the second subset based on the second monotonic sequence is greater than or less than a previous AID assigned “1.” Thus, using the AID management instructions 122 , the controller 102 can configure the AP 104A for AID assignments.
[0033] In one example, hardware processor 110 can execute AID assignment instructions 124 to receive an association request from client device 114 to associate with one of the VAPs. In one example, the association request can include the BSSID, operating level, supported rates, capabilities, etc. of the VAP.
[0034] The hardware processor 110 may execute the AID assignment instructions 124 to determine, based on the association request, whether MLO is enabled for the client device 114. In response to determining that MLO is disabled for the client device, the hardware processor 110 may execute the AID assignment instructions 124 to assign an AID from the first subset to the client device 114 based on the first monotonic sequence.
[0035] Figure 2A An example method 200 for managing AID assignment according to an embodiment of the present invention is illustrated. In one example, steps 202 to 214 of method 200 may be performed by a controller, such as Figure 1 Controller 102, and steps 216 to 226 of method 200 may be performed by an AP, such as Figure 1AP 104. Method 200 may be implemented by (multiple) processing resources or (multiple) computing devices through any suitable hardware, non-transitory machine-readable media, or a combination thereof. In one example, method 200 may be performed by computer-readable instructions, including instructions stored on a medium and executable by a processing resource (such as a hardware processor) of a controller or AP.
[0036] See also Figure 2A , the controller may receive configuration information of the AP from the network administrator at block 202. The configuration information may include BSSID settings, SSID settings, capabilities, operating channels, operating levels, etc. of the VAPs configured to operate in each frequency band of the AP. In one example, the configuration information may include VAP profiles corresponding to different VAPs running in the AP. The network administrator may enter the configuration information when deploying the AP in the network. In addition, the controller may identify the number of VAPs configured to operate in each of the 2.4 GHz, 5 GHz, and 6 GHz frequency bands. Moreover, the controller may identify the VAPs included in the multi-BSSID set and attached to the MLD based on the configuration information.
[0037] At block 204, the controller is configured to allocate a set of digits for AID assignment to a client device connected to a VAP in a multi-BSSID set. In one example, depending on the configuration information of the AP, the controller may identify a multi-BSSID set configured in the AP. The controller may then allocate a set of digits for each multi-BSSID set for AID assignment. Thus, for each multi-BSSID set configured to operate in the 6 GHz band, a separate set of digits is allocated for AID assignment. During the association of a client device with a VAP in a multi-BSSID set, the AP managed by the controller may assign a digit from the corresponding set of digits as an AID to the client device.
[0038] Additionally, at block 206, the controller is configured to allocate another set of digits for use in AID assignment to client devices connected to another VAP that is collocated in the AP and is not included in the multi-BSSID set. In one example, the other VAP may operate in one of the 2.4 GHz, 5 GHz, or 6 GHz frequency bands. Thus, the controller may also allocate a set of digits to each VAP for use in AID assignment to client devices connected to the VAP.
[0039] At block 208, the set of digits assigned to the multi-BSSID set or VAP is divided into a first subset, a second subset, and a third subset. In one example, the second subset has a boundary value that is continuous with the boundary value of the first subset. The boundary value refers to the maximum value or the minimum value in the subset. In addition, in one example, the third subset may include digits close to the boundary value of the digit set. In one example, the third subset may include the first twenty digits or the last twenty digits in the digit set. In one example, the range of each subset may be predefined based on the type of deployment. For example, for a deployment with a large number of MLD and ML clients, the range of the second subset may be greater than the range of the first subset. In another example, in a deployment with a large number of traditional clients that may not have MLO capabilities, the range of the first subset may be greater than the range of the second subset. The range of the third subset depends on the number of non-power saving (PS) clients in the network. In one example, a non-PS client refers to a client device that typically disables power saving mode, such as a mesh point, an uplink client, etc.
[0040] At block 210, the controller may configure the AP to assign AIDs to non-ML client devices from a first subset of the set of numbers based on a first monotonic sequence. In one example, the first monotonic sequence is a descending sequence of consecutive numbers in the first subset, starting with the highest number in the first subset. The controller may configure the AP so that when a non-ML client device attempts to associate with a VAP in a multi-BSSID set, a number from the first subset of the set of numbers assigned to the multi-BSSID set is assigned to the non-ML client as an AID. If the non-ML client is the first client of the multi-BSSID set, the assigned AID is the highest number in the first subset. As the number of non-ML clients joining the VAP in the multi-BSSID set increases, AIDs are assigned in a gradually decreasing order starting from the highest value in the first subset of the set of numbers assigned to the multi-BSSID set.
[0041] At block 212, the controller may be configured to assign partitions of a second subset of the digital set based on a second monotonic sequence for AID assignment to client devices associated with a VAP attached to a multi-link device (MLD). In one example, the second subset of the digital set may be divided into a plurality of partitions, namely a first partition, a second partition, and the like. Each partition of the second subset of the digital set may correspond to an MLD. For example, a first partition of the second subset of the digital set may be allocated for AID assignment to a client associated with a VAP attached to a first MLD, a second partition of the second subset of the digital set may be allocated for AID assignment to a client associated with a VAP attached to a second MLD, and so on. The partitions of the second subset may include a range of numbers within the second subset. In addition, each partition of the second subset may be shared between client devices associated with any VAP attached to the corresponding MLD, and may therefore be used as a common range of numbers for AID assignment to a client associated with a VAP attached to the corresponding MLD. In one example, the second monotonic sequence is ascending consecutive numbers in the partitions of the second subset of the set of numbers, starting with the lowest number in the partitions. The controller may configure the AP so that when an ML client device associates with one of the VAPs attached to the MLD, then an AID from the partition of the second subset of the set of numbers is assigned to the client device. In one example, if the ML client is the first to join the MLD, then the assigned AID is the lowest numerical value in the partition of the second subset of the set of numbers. In one example, as the number of ML clients joining the VAP attached to the MLD increases, the AIDs are assigned in a gradually increasing order starting with the lowest numerical value in the partition of the second subset of the set of numbers.
[0042] At block 214, the controller is configured to allocate a third subset of the set of digits for use in AID assignment to non-PS client devices. The third subset includes digits near a boundary value of the set of digits. The third subset may not share a common boundary value with the first subset and the second subset.
[0043] See also Figure 2B At block 216, the AP may receive an association request from a client device to associate with the VAP. In one example, the VAP is one of the VAPs that includes a multiple BSSID set operating in the 6 GHz band. In one example, the association request may include information related to QoS capabilities, power capabilities, SSID, BSSID, supported rates, etc. The association request may also include an information element indicating ML capabilities of the client device.
[0044] In response to receiving the association request, at block 218, the AP may check whether the client is a power save (PS) client. In one example, a power save client is a client device that can enter a sleep mode or a low power mode after a fixed operating interval. This allows the client device to save power while performing its functions. However, there may be some devices, such as mesh point devices and uplink clients, that disable the power save mode due to operational constraints. Such clients that disable the power save mode of operation are referred to as non-PS clients. In one example, the AP may analyze the power capabilities of the client device using the information in the association request, and may identify whether the client device is a PS client or a non-PS client.
[0045] In response to determining that the client device is a non-PS client (the "No" branch from block 218), at block 220, the AP may assign an AID to the non-PS client device from a third subset of numbers allocated for AID assignment to non-PS clients. In response to determining that the client device is a PS client (the "Yes" branch from block 218), at block 222, the AP may check whether MLO is enabled for the client device. In one example, the AP may check the ML capability information element in an association request frame received from the client device to determine whether MLO is enabled for the client device.
[0046] In response to determining that MLO is disabled for the client device (the "No" branch from block 222), at block 224, the AP may assign an AID to the client device from a first subset of the digital set based on the first monotonic sequence. In response to determining that MLO is enabled for the client device (the "Yes" branch from block 222), at block 226, the AP may assign an AID to the client device from a partition of a second subset of the digital set based on a second monotonic sequence. Since MLO is enabled for the client device, the AP knows that the association request from the client device is to associate with a VAP attached to the MLD. Therefore, the AP assigns the AID from a partition of the second subset of the digital set that is allocated for AID assignment to clients of the MLD.
[0047] Figure 3 An example distribution 300 of sets and subsets of numbers allocated for AID assignments according to an embodiment of the present invention is illustrated. Figure 3In the example of FIG. 1 , consider four VAPs, namely VAP0, VAP1, VAP10, and VAP11, belonging to a collocated AP set, where VAP0 and VAP1 are part of a multi-BSSID set, MBSSID0 operating in the 6 GHz band, VAP10 operating in the 5 GHz band, and VAP11 operating in the 2.4 GHz band. In addition, VAP0 and VAP10 are attached to a multi-link device MLD0, and VAP1 and VAP11 are attached to a multi-link device MLD1. A collocated AP set refers to a collection of two or more VAPs in the same physical AP. The physical AP may be configured as above based on configuration information input by a network administrator.
[0048] like Figure 3 As shown in , the controller can allocate a digital set 302A, also referred to as set 302A, for AID assignment to a client associated with a VAP included in MBSSID0. Set 302A has a minimum value of 1 and a maximum value of 1024, and includes all consecutive natural numbers between 1 and 1024. Similarly, a digital set 302B, also referred to as set 302B, and another digital set 302C, also referred to as set 302C, are allocated to each of VAPs 10 and 11 operating in the 5 GHz band and the 2.4 GHz band, respectively. Both sets 302B-C have a minimum value of 1 and a maximum value of 1024, and include all consecutive natural numbers therebetween. Although in Figure 3 In the example of FIG. 3 , the same number range is assigned in sets 302A-C, but in another example, the number ranges in sets 302A-C may be different.
[0049] In addition, the controller may divide the set 302A assigned to MBSSID0 into a first subset 304A, a second subset 306A, and a third subset 308A. Figure 3 As shown in FIG. 1 , the first subset 304A ranges from 30 to 511, the second subset 306A ranges from 512 to 1024, and the third subset ranges from 1 to 20. Figure 3 As can be seen from the figure, the minimum value of the second subset 306A is 512, which is continuous with the maximum value of the first subset 304A, i.e., 511. The third subset 308A is isolated from the first and second subsets 304A and 306A, i.e., the first and second subsets 304A and 306A do not have boundary values that are continuous with the boundary values of the third subset 308A. The third subset 308A ranges from 1 to 20. Numbers from 21 to 29 are unused and cannot be used as AIDs of clients connected to the VAP of MBSSID0. Therefore, the unused subset 310A is maintained to ensure that the third subset 308A used for non-PS clients is isolated from the AIDs used for PS clients.
[0050] In addition, the controller further divides the set 302B assigned to the VAP 10 into a first subset 304B ranging from 30 to 511, a second subset 306B ranging from 512 to 1024, and a third subset 308B ranging from 1 to 20. The controller further divides the set 302C assigned to the VAP 11 into a first subset 304C, a second subset 306C, and a third subset 308C, which have similar ranges to 304B, 306B, and 308C. The ranges of the subsets of the sets 302A-C may be similar to those of the example. Figure 3 , or may be different for each set.
[0051] Moreover, each of the third subsets 308B-C is isolated from their corresponding first subsets 304B-C and second subsets 306B-C. Each of the third subsets 308B-C has a similar range to the third subset 308A, i.e., 1 to 20. Therefore, numbers from 21 to 29 are unused and cannot be used as AIDs for clients connected to VAP 10 or VAP 11. Therefore, unused subsets 310B and 310C are maintained to ensure that the third subsets 308B and 308C used for non-PS clients of VAP 10 and VAP 11 are isolated from AIDs used for PS clients. This also helps to generate a compact TIM, as discussed later.
[0052] The controller may configure the AP so that AIDs are assigned to non-ML clients of MBSSID0, VAP10, and VAP11 from the first subset 304A, 304B, and 304C, respectively, based on a first monotonic sequence. The first monotonic sequence is indicated by arrow 312. The controller configures the AP so that when a non-ML client device attempts to associate with VAP0 or VAP1 of MBSSID0, a number from the first subset 304A is assigned to the non-ML client as an AID. If the non-ML client is the first client of MBSSID0, the assigned AID is 511. As the number of non-ML clients joining the VAP of MBSSID0 increases, AIDs are assigned in a gradually decreasing order starting from the highest value 511 from the first subset 304A. Similarly, the controller configures the AP so that when a non-ML client device is associated with VAP10 or VAP11, a number from the first subset 304B of set 302B or the first subset 304C of set 302C is assigned to the non-ML client as an AID, respectively. If the non-ML client is the first client of VAP 10 or VAP 11, the allocated AID is 511 from the corresponding first subset. As more non-ML clients are associated with VAP 10 or VAP 11, AIDs are allocated in a gradually decreasing order starting from the highest value 511 from the first subset 304B of set 302B or the first subset 304C of set 302C, respectively. Although the first monotonic sequence is illustrated as numbers in descending order in the first subsets 304A-C, in some examples, the first monotonic sequence may also be numbers in ascending order in the first subset.
[0053] The controller may also divide the second subset 306A of the set of digits into a first partition 314 and a second partition 318. The first partition 314 corresponds to MLD0, and the second partition 318 corresponds to MLD1. The controller may allocate the first partition 314 of the second subset 306A for AID assignment to ML client devices associated with VAP0 or VAP 10 attached to MLD0. The first partition 314 may include a range of digits, for example, from 512 to 700. The first partition 314 is shared between ML client devices associated with any one of VAP0 or VAP10 attached to MLD0, and serves as a common pool of digits for AID assignment to ML clients associated with VAP0 and VAP 10. As a result, a continuous range of digits from 512 to 700 is marked as the first partition 314 for the second subsets 306A and 306B of the set of digits 302A and 302B, respectively.
[0054] The controller may configure the AP so that when an ML client device attempts to associate with VAP0 or VAP10 for MLO, then an AID from the first partition 314 is assigned to the client device. If the ML client is the first to join MLD0, then the assigned AID is 512. In one example, as the number of ML clients joining VAP0 or VAP10 for MLO increases, AIDs are assigned in a gradually increasing order starting from the lowest value 512 in the first partition 314. Thus, the AIDs assigned from the first partition 314 of the second subset 306A or 306B are based on Figure 3 A second monotonic sequence indicated by arrow 316 in FIG.
[0055] Also, see Figure 3 , the second partition 318 of the second subset 306A is allocated for AID assignment to client devices associated with the VAP attached to MLD1. The second partition 318 may include a range of numbers, for example, from 710 to 900. The second partition 318 is shared between ML client devices associated with VAP1 or VAP11 attached to MLD1, and serves as a common pool of numbers for AID assignment to ML clients associated with VAP1 and VAP11. As a result, a continuous range of numbers from 710 to 900 is marked as the second partition 318 for the second subsets 306A and 306C of the number sets 302A and 302C, respectively.
[0056] The controller may configure the AP so that when an ML client device attempts to join VAP1 or VAP11 for MLO, then an AID from the second partition 318 is assigned to the client device. If the ML client is the first client to join MLD1, then the assigned AID is 710. In one example, as the number of ML clients joining VAP1 or VAP11 for MLO increases, AIDs are assigned in a gradually increasing order starting from the lowest value 710 in the second partition 318. Thus, the AIDs assigned from the second partition 318 of the second subset 306A or 306C are based on Figure 3 A second monotonic sequence is indicated by arrow 316.
[0057] like Figure 3 As shown in , the third subset 308A of MBSSID0 ranges from 1 to 20. Therefore, non-PS clients associated with VAP0 or VAP1 of MBSSID0 can be assigned an AID from the third subset 308A. Similarly, non-PS clients associated with VAP10 can be assigned an AID from the third subset 308B of set 302B, and non-PS clients associated with VAP11 can be assigned an AID from the third subset 308C of set 302C.
[0058] The AID assignment based on the above configuration can be illustrated by the examples described herein. Consider an example of AID assignment by an AP configured according to method 200. As described earlier with Figure 3 For related explanation, an AP may have collocated VAPs VAP0 and VAP1 included in a multi-BSSID set MBSSID0 operating in the 6 GHz band, VAP 10 operating in the 5 GHz band, and VAP 11 operating in the 2.4 GHz band. Assume that there are 10 clients, D1, D2, ..., D10 associated with an AP having collocated VAPs. The numbers associated with each client may indicate the order or sequence in which they are associated with the AP, i.e., D1 is the first associated client, D2 is the second associated client, and so on. Consider that all clients D1 to D10 are non-ML clients, and among them D3 and D7 are non-PS clients, and the rest are PS clients. D1, D2, D3, and D7 are associated with VAP0 of MBSSID0, D10 is associated with VAP1 of MBSSID0, and D4, D5, D6, D8, and D9 are associated with VAP 10.
[0059] Now configure the AP according to method 200, and the AIDs assigned to the clients are shown in Table 1 below. Table 1 shows the VAPs associated with each client and the corresponding AIDs assigned to each client according to an example embodiment of the present invention. In one example, the AIDs assigned to the clients can be based on the VAPs associated with each client. Figure 3 The example distribution 300 of number sets and subsets for AID assignments shown in FIG. 3 is used to assign the AIDs mentioned in the following table.
[0060] Table 1:
[0061] Client Virtual Access Point (VAP) Association Identifier (AID) D1 VAP0 511 D2 VAP0 510 D3 VAP0 1 D4 VAP10 511 D5 VAP10 510 D6 VAP10 509 D7 VAP0 2 D8 VAP10 508 D9 VAP10 507 D10 VAP1 509
[0062] Since D3 and D7 are non-PS clients associated with MBSSID0, AP Figure 3 AIDs 1 and 2 are assigned from the third subset 308A of the set 302A. D1, D2, and D10 associated with VAP0 or VAP1 of MBSSID0 are assigned AIDs starting from 511 to 509 from the first subset of the set 302A based on a first monotonic sequence (in this case, descending order). D4, D5, D6, D8, and D9 are assigned AIDs starting from 511 to 507 from the first subset 304B of the set 302B based on a first monotonic sequence (which is descending order). It can be noted that two clients joining two different VAPs may have the same AID. However, since the AID of the client is unique among the clients of the multi-BSSID set or among the clients of a single VAP, there will be no confusion about the identity of the client.
[0063] In contrast to the AID assignment example of the present invention explained with reference to Table 1, if the AP implements the conventional AID assignment method, the AIDs assigned to the clients D1 to D10 may be consecutive sequence numbers from 1 to 10. Therefore, the AIDs of D1, D2, ..., D9, and D10 may be 1, 2, ..., 9, and 10, respectively. Table 2 shows the VAPs associated with each client and the corresponding AIDs assigned to each client according to the conventional AID assignment method.
[0064] Table 2:
[0065] Client Virtual Access Point (VAP) Association Identifier (AID) D1 VAP0 1 D2 VAP0 2 D3 VAP0 3 D4 VAP10 4 D5 VAP10 5 D6 VAP10 6 D7 VAP0 7 D8 VAP10 8 D9 VAP10 9 D10 VAP1 10
[0066] Now assume that the AP has buffered data for D2 and D10. An AP implementing a conventional AID assignment method may generate a PVB with bit 2, bit 3, ..., bit 10 in a TIM of a beacon from MBSSID0. Bit 2 represents AID "2" of client D2, and bit 10 represents AID "10" of client D10. The bitmap control offset may point to bit 2 of the beginning of the PVB, since bit 1 may be set to "0" since there is no buffered data for D1. An example PVB generated by the AP based on the conventional AID assignment method in a TIM of a beacon from MBSSID0 is shown below as "bit 2". Figure 1 ”.
[0067] Bit Figure 1 :
[0068] Bit 2 Bit 3 Bit 4 Bit 5 Position 6 Bit 7 Bit 8 Bit 9 Position 10 1 0 0 0 0 0 0 0 1
[0069] Using the AID assignment of an embodiment of the present invention, the AP can generate a PVB with bits "bit 510 bit 509", where bit 510 represents the AID "510" of D2 and bit 509 represents the AID "509" of D10. In this case, the bitmap control offset can point to bit 510 because bit 511 can be set to "0" because there is no buffered data for D1. In the TIM of the beacon from MBSSID0, an example PVB generated by the AP according to the AID assignment of an embodiment of the present invention is shown below as "Bitmap 2".
[0070] Bitmap 2:
[0071] Bit 510 Position 509 1 1
[0072] As can be seen from the comparison of the bitmaps, bitmap 2 includes 2 bits, while bitmap Figure 1 It is obvious that bitmap 2 is better than bitmap 2. Figure 1 More compact. Because Figure 1The zeros in bits 3 to 9 of are not included in bitmap 2 and are not transmitted in the TIM or PVB of the beacon from the multi-BSSID set, so the TIM generated by the AP of the present invention is compact. Therefore, the beacon frame of the multi-BSSID set MBSSID0 including the compact TIM can also be compact, thereby reducing the failure of beacon transmission. This improves the connection efficiency. Although in the above example, the PVB generated for the beacon from the multi-BSSID set is considered, it can also be generated for VAPs such as VAP 10 and VAP11 and VAPs such as Figure 3 MLD0 & MLD1 and the like generate similar compact PVBs.
[0073] Figure 4 An example method 400 of generating a compact TIM according to an embodiment of the present invention is illustrated. Figure 4 The steps can be performed by Figure 1 104A. In block 402, the AP may check the length of a beacon for a multi-BSSID set configured in the AP. The multi-BSSID set may operate in the 6 GHz frequency band of the AP. In one example, the AP may compare the length of the beacon with a threshold at a fixed interval (e.g., 90 milliseconds). In one example, the fixed interval is less than a target beacon transmission time (TBTT) for the multi-BSSID set. In one example, the threshold range may be between 300 bytes and 400 bytes. In response to determining that the length of the beacon for the multi-BSSID set is less than the threshold (the "No" branch from block 402), in block 403, the AP may generate a beacon.
[0074] In response to determining that the length of the beacon of the multi-BSSID set is equal to the threshold ("yes" branch from block 402), in block 404, the AP may check whether there is a bitmap of the MLD in the TIM of the beacon. The bitmap may be a PVB in the TIM. In one example, portions of the TIM may be marked as carrying PVBs for different MLDs. The PVBs of the MLDs may be lengthy, and if such PVBs of the MLDs are carried in the beacon, the beacon may become bulky.
[0075] In response to determining that the PVB of the MLD is included in the TIM (the "yes" branch from block 404), at block 406, the AP can check whether the traffic of the MLD is mapped on all operating frequency bands of the MLD. The traffic of the MLD refers to data traffic exchanged between clients associated with the VAPs attached to the MLD. If the data traffic carried between the clients and the VAPs of the MLD is carried on multiple frequency bands operated by the VAPs of the MLD, the AP can determine that the traffic of the MLD is mapped on all operating frequency bands of the MLD.
[0076] In response to determining that traffic is mapped on all operating bands of the MLD (the "yes" branch from block 406), at block 408, the AP may migrate the bitmap of the MLD to other operating bands other than the 6 GHz band. In one example, migrating the bitmap of the MLD to other operating bands includes removing the PVB of the MLD from beacons of the multi-BSSID set and adding the PVB to beacons of VAPs affiliated with the MLD that operate in the 5 GHz or 2.4 GHz band. In one example, as a result of the migration, the AP may generate a compact TIM in beacons of the multi-BSSID set. Because the bitmap of the MLD is migrated to beacons of VAPs in other bands, beacons of the multi-BSSID set are greatly reduced in length and are therefore more compact.
[0077] In response to determining that traffic is not mapped on all operating bands of the MLD (“No” branch from block 406), the AP may remove the bitmap of the MLD from the TIM of the beacon. At block 410, the AP may add the bitmap of the MLD in the TIM of consecutive beacons of the multi-BSSID set. In one example, a consecutive beacon is a beacon sent by the multi-BSSID set after a beacon interval that is consecutive to a current beacon.
[0078] In addition, in response to determining that the PVB of the MLD is not included in the TIM (the "No" branch from block 404), at block 412, the AP may remove a portion of the TIM from the beacon. In one example, the portion of the beacon may include TIMs corresponding to some VAPs of the multi-BSSID set. In some examples, the AP may split the TIM into multiple portions and transmit each portion of the TIM in consecutive beacons of the multi-BSSID set. At block 414, the AP may add the removed portion of the TIM in the TIM of consecutive beacons from the multi-BSSID set. Therefore, the length of the TIM is shared by two beacons, and the two beacons remain compact.
[0079] Figure 5 Another example method 500 for AID assignment according to an embodiment of the present invention is illustrated. Figure 5 The steps can be performed by Figure 1 The AP 104 or the like performs.
[0080] Consider an AP configured with a multiple BSSID set having multiple VAPs. At block 502, the AP may receive an association request from a client device attempting to associate with one of the multiple VAPs in the multiple BSSID set. In one example, a digital set such as Figure 3A set 302A for use in assigning AIDs to client devices connected to VAPs in the multi-BSSID set. In one example, the set may include a first subset of numbers for assigning AIDs to non-multilink (non-ML) client devices based on a first monotonic sequence and a second subset of numbers for assigning AIDs to ML client devices based on a second monotonic sequence.
[0081] At block 504, the AP may determine whether MLO is enabled for the client device based on the association request. In one example, before determining whether MLO is enabled for the client, the AP may check from the association request whether the client device is a PS client or a non-PS client. In response to determining that the client device is a PS client, the AP may select a third subset of the digital set (such as Figure 3 In response to determining that the client device is a PS client, the AP may perform block 504.
[0082] At block 506, in response to determining that MLO is disabled for the client device, the AP assigns a first AID to the client device from the first subset based on the first monotonic sequence. In another example, in response to determining that MLO is enabled for the client device, the AP may assign a second AID to the client device from a partition of the second subset of the digital set based on a second monotonic sequence. In addition, Figure 4 and Figure 4 One or more steps of the method 400 illustrated in FIG. 4 may be performed by the AP in conjunction with Figure 5 The method 500 is executed.
[0083] Figure 6 An example method 600 for managing AIDs in an AP according to an embodiment of the present invention is illustrated. The steps of the method 600 may be performed by, for example, Figure 1 The controller 102 or the like is executed by a controller.
[0084] See also Figure 6 At block 602, the controller may allocate a set of numbers for use in making AID assignments to client devices associated with a VAP configured in the AP. In one example, there may be multiple VAPs in the AP, and a separate set of numbers may be allocated for use in making AID assignments to client devices associated with each of the multiple VAPs. Thus, a set of numbers for each VAP is maintained for use in AID assignments.
[0085] At block 604, the controller may configure the AP to assign AIDs to non-ML client devices from a first subset of the set of numbers based on a first monotonic sequence. In one example, the controller may configure the AP to assign AIDs to non-ML client devices associated with the VAP from a first subset of the set of numbers assigned to the VAP. The first monotonic sequence may be an increasing or decreasing order of numbers, where AIDs are assigned to non-ML clients from the first subset of the set of numbers.
[0086] At block 606, the controller may configure the AP to assign the AID to the ML client device from a second subset of the set of numbers based on a second monotonic sequence. In one example, the controller may configure the AP to assign the AID to the ML client device associated with the VAP from a second subset of the set of numbers assigned to the VAP. The second monotonic sequence may be an increasing or decreasing order of numbers, where the AID is assigned to the ML client from the second subset of the set of numbers.
[0087] In addition, in one example, the controller may allocate a partition of a second subset of the digital set for use in AID assignment to client devices associated with a VAP attached to a multi-link device (MLD), wherein the MLD includes a VAP and another VAP operating in different frequency bands. The controller may configure the APs to share the partition of the second subset of the digital set for use in AID assignment to client devices associated with the VAP attached to the MLD. Thus, the partition of the second subset of the digital set acts as a common digital range from which AIDs may be assigned to ML clients associated with VAPs attached to a single MLD.
[0088] Figure 7 A block diagram of an example computer system 700 is depicted in which the embodiments described herein may be implemented. The computer system 700 includes a bus 702 or other communication mechanism for communicating information, and one or more hardware processors 704 coupled to the bus 702 for processing information. The hardware processor(s) 704 may be, for example, one or more general purpose microprocessors.
[0089] The computer system 700 also includes a main memory 706, such as a random access memory (RAM), a cache, and / or other dynamic storage device, coupled to the bus 702 to store information and instructions to be executed by the processor 704. The main memory 706 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by the processor 704. Such instructions, when stored in a storage medium accessible to the processor 704, make the computer system 700 a special-purpose machine customized to perform the operations specified in the instructions.
[0090] The computer system 700 also includes a read only memory (ROM) 708 or other static storage device coupled to the bus 702 for storing instructions and static information for the processor 704. A storage device 710, such as a magnetic disk, optical disk, or USB thumb drive (flash drive) or the like, is provided and coupled to the bus 702 for storing information and instructions.
[0091] The computer system 700 may be coupled to a display 712, such as a liquid crystal display (LCD) (or touch screen), via the bus 702 for displaying information to a computer user. An input device 714, including alphanumeric and other keys, is coupled to the bus 702 for communicating information and command selections to the processor 704. Another type of user input device is a cursor control 716, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to the processor 704 and for controlling movement of a cursor on the display 712. In some embodiments, the same direction information and command selections as the cursor control may be implemented via receiving touches on a touch screen without a cursor.
[0092] The computing system 700 may include a user interface module that implements a GUI, which may be stored in a mass storage device as executable software code executed by the computing device(s). This module and other modules may include components, such as software components, object-oriented software components, class components, and task components, processes, functions, properties, programs, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables, for example.
[0093] In general, the words "component", "system", "database" as used herein may refer to logic embodied in hardware or firmware, or to a collection of software instructions written in a programming language (such as, for example, Java, C or C++) that may have entry and exit points. Software components may be compiled and linked into executable programs, installed in dynamic link libraries, or may be written in an interpretive programming language, such as, for example, BASIC, Perl or Python. It should be understood that software components may be called from other components or from themselves, and / or may be called in response to detected events or interrupts. Software components configured for execution on a computing device may be provided on a computer-readable medium, such as a compressed disk, a digital video disk, a flash drive, a magneto-optical disk, or any other tangible medium or as a digital download (and may be initially stored in a compressed or installable format that requires installation, decompression or decryption before execution). Such software code may be stored in part or in whole on a memory device of an executing computing device for execution by the computing device. Software instructions may be embedded in firmware (such as an EPROM). It will also be understood that hardware components may be composed of connected logic units such as gates and flip-flops, and / or may be composed of programmable units such as programmable gate arrays or processors.
[0094] The computer system 700 may implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic that is combined with the computer system to make the computer system 700 a special purpose machine or to program it. According to one embodiment, the techniques herein are performed by the computer system 700 in response to the processor(s) 704 executing one or more sequences of one or more instructions contained in the main memory 706. Such instructions may be read into the main memory 706 from another storage medium such as the storage device 710. Executing the sequences of instructions contained in the main memory 706 causes the processor(s) 704 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
[0095] As used herein, the term "non-transitory media" and similar terms refer to any medium that stores data and / or instructions that cause a machine to operate in a specific manner. Such non-transitory media may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 710. Volatile media include dynamic memory, such as main memory 706. Common forms of non-transitory media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a pattern of holes, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassettes, and networked versions thereof.
[0096] Non-transient media are distinct from transmission media but may be used in conjunction with transmission media. Transmission media participate in the transfer of information between non-transient media. For example, transmission media include coaxial cables, copper wire, and optical fiber, including the wires that make up bus 602. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0097] Computer system 700 also includes a communication interface 718 coupled to bus 702. Communication interface 718 provides bidirectional data communication coupled to one or more network links connected to one or more local area networks. For example, communication interface 718 can be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem for providing a data communication connection to a telephone line of a corresponding type. As another example, communication interface 718 can be a local area network (LAN) card to provide a data communication connection with a compatible LAN (or a WAN component communicating with a WAN). Wireless links can also be implemented. In any such implementation, communication interface 718 sends and receives electrical, electromagnetic or optical signals carrying digital data streams representing various types of information.
[0098] A network link typically provides data communication to other data devices through one or more networks. For example, a network link may provide a connection to a host or data device operated by an Internet Service Provider (ISP) through a local area network. The ISP, in turn, provides data communication services through the global packet data communication network now commonly referred to as the "Internet." Both local area networks and the Internet use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link and through the communication interface 718 are all example forms of transmission media that carry digital data to and from the computer system 700.
[0099] Computer system 700 can send messages and receive data, including program code, through network(s), network links, and communications interface 718. In the Internet example, a server might transmit the requested code for an application program through the Internet, an ISP, a local area network, and communications interface 718. The received code can be executed by processor 704 as it is received, and / or stored in storage device 710 or other non-volatile storage for later execution.
[0100] Each of the processes, methods, and algorithms described in the foregoing sections may be embodied in a code component executed by one or more computer systems or computer processors including computer hardware, and fully or partially automated by it. One or more computer systems or computer processors may also be operable to support the execution of related operations in a "cloud computing" environment or operate as "software as a service" (SaaS). The processes and algorithms may be implemented in part or in whole in a dedicated circuit. The various features and processes described above may be used independently of each other, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of the present disclosure, and certain method or process steps may be omitted in some implementations. The methods and processes described herein are also not limited to any particular order, and the steps or states associated therewith may be executed in other appropriate orders, or may be executed in parallel, or in other ways. Steps or states may be added to or removed from the disclosed example embodiments. The execution of certain operations or processes may be distributed between computer systems or computer processors, which may reside in a single machine or be deployed on several machines.
[0101] As used herein, any form of hardware, software or its combination can be utilized to realize circuit.For example, one or more processors, controllers, ASIC, PLA, PAL, CPLD, FPGA, logic components, software programs or other mechanisms can be realized to form circuit.In implementation, various circuits described herein can be implemented as discrete circuits, or described functions and characteristics can be partially or completely shared between one or more circuits.Even if various features or functional elements can be described or claimed individually as independent circuits, these features and functionality can be shared between one or more common circuits, and such description should not require or imply that independent circuits are needed to realize these features or functionality.When circuit is implemented in whole or in part using software, such software can be implemented as operating together with a computing or processing system (such as computer system 600) that can perform the functionality described therein.
[0102] As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. In addition, descriptions of resources, operations, or structures in the singular should not be interpreted to exclude the plural. Unless otherwise specifically stated, or otherwise understood in the context of use, conditional language, particularly such as "can," "may," "could," or "might," is generally intended to express that certain embodiments include, while other embodiments do not include, certain features, elements, and / or steps.
[0103] The terms and phrases used in this document and their variations, unless otherwise expressly stated, should be interpreted as open, rather than restrictive. As an example of the foregoing, the term "including" should be interpreted as "including but not limited to" and the like. The term "example" is used to provide an illustrative example of the item in question, rather than an exhaustive or restrictive list thereof. The term "one" or "an" should be interpreted as meaning "at least one", "one or more", and the like. In some cases, the presence of broad words and phrases such as "one or more", "at least", "but not limited to" or other similar phrases should not be interpreted as meaning that a narrower situation is intended or required where there may be no such broad phrase.
[0104] Although the implementation of the present invention has been described using language specific to structural features and / or methods, it should be noted that the present invention is not necessarily limited to the specific features or methods described. Instead, the specific features and methods are disclosed and explained in the context of several implementations of the present invention.
Claims
1. A system comprising: An access point AP, comprising a plurality of virtual access points VAPs in a multiple basic service set identifier BSSID set; as well as A controller for managing the AP, wherein the controller is configured to: allocating a set of digits for assigning association identifiers AIDs to client devices connected to VAPs in the multiple BSSID set; as well as Configure the AP to: assigning AIDs to non-multilink non-ML client devices from a first subset of the set of numbers based on a first monotonic sequence; as well as assigning AIDs to ML client devices from a second subset of the set of numbers based on a second monotonic sequence different from the first monotonic sequence; as well as The AP is configured as: receiving an association request from a client device to associate with a VAP among the plurality of VAPs; determining, based on the association request, whether a multi-link operation (MLO) is enabled for the client device; as well as In response to determining that MLO is disabled for the client device, assigning a first AID from the first subset to the client device based on the first monotonic sequence.
2. The system of claim 1, wherein the multiple BSSID set operates in a 6 GHz frequency band.
3. The system of claim 1, wherein the controller is further configured to allocate another set of numbers for use in AID assignment to client devices connected to another VAP collocated in the AP and not included in the multiple BSSID set.
4. The system of claim 3, wherein the controller is further configured to allocate a partition of the second subset of the set of numbers for AID assignment to client devices associated with a VAP attached to a multi-link device (MLD), the MLD including the VAP and another of the VAPs.
5. The system of claim 4, wherein the AP is configured to: In response to determining that MLO is enabled for the client device, assigning a second AID to the client device from the partition of the second subset of the set of numbers based on the second monotonic sequence.
6. The system of claim 1, wherein the second subset has boundary values that are continuous with boundary values of the first subset.
7. The system of claim 1, wherein the AP is configured to: In response to determining that the length of the beacon of the multi-BSSID set is equal to a threshold, checking whether a bitmap of MLD exists in a traffic indication map TIM of the beacon; In response to determining that the bitmap of the MLD exists in the TIM, checking whether traffic of the MLD is mapped on all operating frequency bands of the MLD; In response to determining that the traffic is mapped on all operating frequency bands of the MLD, migrating the bitmap of the MLD to other operating frequency bands except the 6 GHz frequency band; as well as As a result of the migration, a compact TIM is generated in the beacon of the multiple BSSID set.
8. The system of claim 7, wherein the AP is configured to: In response to determining that the traffic is not mapped on all operating bands, removing the bitmap of the MLD from the TIM of the beacon; and The removed bitmap of the MLD is added to the TIM of consecutive beacons.
9. The system of claim 1, wherein the controller is further configured to allocate a third subset of the set of numbers for AID assignment to non-PS client devices, wherein the third subset includes numbers near a boundary value of the set.
10. The system of claim 9, wherein the length of the compact TIM is less than or equal to 64 bits.
11. The system of claim 1, wherein the AP is configured to generate a compact TIM in a beacon of the multiple BSSID set as a result of the configuring.
12. The system of claim 1, wherein the set of numbers ranges from 1 to 1024.
13. The system of claim 1, wherein the AP is configured to transmit data traffic at a rate of 10 Gbps to 40 Gbps.
14. A method for assigning an association identifier AID, comprising: receiving, by an AP including a plurality of virtual access points (VAPs) in a multiple basic service set identifier (BSSID) set, an association request from a client device attempting to associate with the plurality of VAPs, wherein a set of numbers is allocated for use in assigning AIDs to client devices connected to the VAPs in the multiple BSSID set; wherein the set of digits comprises a first subset of the set of digits for assigning AIDs to non-ML client devices based on a first monotonic sequence and a second subset of the set of digits for assigning AIDs to ML client devices based on a second monotonic sequence different from the first monotonic sequence; as well as determining, by the AP based on the association request, whether a multi-link operation (MLO) is enabled for the client device; as well as In response to determining that MLO is disabled for the client device, assigning, by the AP, a first AID from the first subset to the client device based on the first monotonic sequence.
15. The method according to claim 14, further comprising: In response to determining that MLO is enabled for the client device, assigning a second AID to the client device from a partition of the second subset of the set of numbers based on the second monotonic sequence.
16. The method according to claim 14, further comprising: In response to determining that the length of the beacon of the multi-BSSID set is equal to a threshold, checking whether a bitmap of MLD exists in a traffic indication map TIM of the beacon; In response to determining that the bitmap of the MLD exists in the TIM, checking whether traffic of the MLD is mapped on all operating frequency bands of the MLD; In response to determining that the traffic is mapped on all operating frequency bands of the MLD, migrating the bitmap of the MLD to other operating frequency bands except the 6 GHz frequency band; as well as As a result of the migration, a compact TIM is generated in the beacon of the multiple BSSID set.
17. The method according to claim 16, further comprising: In response to determining that the traffic is not mapped on all operating frequency bands, removing the bitmap of the MLD from the TIM of the beacon; as well as The removed bitmap of the MLD is added in the TIM of consecutive beacons.
18. A method for managing an association identifier AID in an access point AP, comprising: allocating a set of digits for assigning association identifiers (AIDs) to client devices connected to a VAP configured in the AP; as well as Configure the AP to: assigning AIDs to non-multilink non-ML client devices from a first subset of the set of numbers based on a first monotonic sequence; as well as AIDs are assigned to ML client devices from a second subset of the set of numbers based on a second monotonic sequence different from the first monotonic sequence.
19. The method according to claim 18, further comprising: A partition of the second subset of the set of numbers is allocated for AID assignment to client devices associated with a VAP attached to a multi-link device MLD, wherein the MLD includes the VAP and another VAP operating in different frequency bands.
20. The method according to claim 19, further comprising: The AP is configured to share the partition of the second subset of the set of numbers for use in AID assignment to client devices associated with the other VAP affiliated with the MLD.
Citation Information
Patent Citations
Non-blocking uplink architecture for access points
US20160037384A1
Systems and methods for multi-link device privacy protection
US20220060898A1