ASSIGNMENT OF THE ASSOCIATION IDENTIFICATION FOR THE COMPACT TRAFFIC INFORMATION MAP
By assigning AIDs using separate monotonic sequences for non-multi-link and multi-link devices, the WLAN beacon transmission inefficiencies are addressed, resulting in a compact TIM and reduced errors.
Patent Information
- Application Number
- DE102022126649
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-04-25
- Filing Date
- 2022-10-13
- Publication Date
- 2026-02-19
- Estimated Expiration
- 2042-10-13
AI Technical Summary
The existing WLAN beacon transmission mechanism is inefficient due to long Traffic Indication Maps (TIMs) caused by multiple virtual access points and Multi-Link Operation, leading to increased beacon size and transmission errors.
Assigning AIDs to client devices using separate monotonic sequences for non-multi-link and multi-link devices, reducing the length of the Partial Virtual Bitmap (PVB) and thus the beacon size.
This approach results in a more compact TIM, reducing beacon transmission errors and improving network efficiency by minimizing beacon size.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] A wireless local area network (WLAN) can include wireless access points (APs) as components of the WLAN. These APs act as connection points to the wireless network. Client devices can connect to an AP and access other network resources within the WLAN. When a client device connects to an AP, the AP assigns the client device an Association Identifier (AID). The AID can be a numerical identifier that identifies the specific client device with the AP.
[0002] US 2023 / 0071851A1 relates to a method and apparatus for group-addressed traffic transmission with multiple links. A first access point (AP) of an AP multilink device (MLD) transmits group-addressed traffic indication information, which indicates whether each AP of the other APs of the AP-MLD has group-addressed traffic, so that a station (STA) can know whether the multiple APs have group-addressed traffic. SHORT DESCRIPTION
[0003] A system according to claims 1 to 13, a method according to claims 14 to 17 and a method according to claims 18 to 20 is disclosed. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The present disclosure is described in detail in accordance with one or more different embodiments with reference to the following figures. The figures serve only for illustration and show only typical or exemplary embodiments. Fig. shows an example of a network environment according to an embodiment of the present invention. The Fig. show an example of a method for managing and assigning AIDs according to an embodiment of the present invention. Fig. shows an example of the distribution of groups and subgroups of numbers for AID assignment, according to an embodiment of the present invention. Fig. shows an example of a method for creating traffic information maps (Traffic Indication Map, TIM) according to an embodiment of the present invention. Fig. shows an example of a method for assigning AIDs according to an embodiment of the present invention. Fig. shows an example of a method for treating AIDs according to an embodiment of the present invention. Fig. shows a block diagram of an exemplary computer system in which the embodiments described here can be implemented.
[0005] The illustrations are not exhaustive and do not limit the present disclosure to the exact form that is disclosed. DETAILED DESCRIPTION
[0006] In WLANs, access points (APs) can announce their presence to devices on the wireless network using management frames called beacons, according to IEEE 802.11 standards (Institute of Electrical and Electronic Engineers). A beacon can contain a timestamp, capability information, a Service Set Identifier (SSID), supported rates, and various other informational elements. One such element in a beacon is a Traffic Indication Map (TIM).
[0007] Some Wi-Fi multimedia (WMM) clients may have a WMM power-saving mode enabled or disabled. When WMM power-saving mode is enabled, the client device can periodically enter a power-saving / sleep mode between transmitting uplink packets to conserve energy. The access point (AP) can buffer downlink packets for the client while it is in power-saving mode. The Technology Information Module (TIM) is an indicator of this buffered data. The TIM contains a bitmap to inform client devices in power-saving mode that the AP is holding buffered data for them. The bitmap refers to a collection of bits, where each bit represents an Active Directory Identifier (AID) of a client device wirelessly connected to the AP. Based on the bit that is set or reset for a particular client device, the client device can determine whether the AP has buffered data for it.
[0008] In general, AIDs can be assigned to client devices connecting to an AP from a shared pool of numerical values. This shared pool can be accessed by all client devices operating in all frequency bands connected to the AP. The AP may have buffered data for some clients and not for others, so effectively only a portion of the bitmap representing the clients for which the AP has buffered data needs to be transmitted. Therefore, the entire bitmap is generally not transmitted; instead, a Partial Virtual Bitmap (PVB) is transmitted within the TIM, which is contained in the beacon. Each bit of the PVB represents an AID of a client device connected to the AP. If the AP has buffered data for a client device, a bit in the PVB representing that client device's AID is set to 1; otherwise, the bit is set to 0.
[0009] The TIM can also contain a bitmap control offset field that specifies the AID at which the PVB begins. The bitmap control offset can indicate the specific bit of the PVB at which it starts by providing a hint about the bits that are set to zero and do not need to be included in the PVB. However, there may be scenarios where, despite using the bitmap control offset, bits that are set to zero are still included in the PVB, increasing the length of the TIM and making the beacon unwieldy.
[0010] Let's consider an example where clients with AIDs 1 through 100 are connected to an access point (AP). If the AP has buffered data for clients with AIDs 99 and 100, the bitmap control offset can point to bit 99 of the primary variable block (PVB), meaning that bits 0 through 98 of the PVB are set to "0". In this case, the PVB contains two bits, bits 99 and 100, which are set to "11" in binary. However, in a scenario where the AP has buffered data for clients with AIDs 10 and 80, the bitmap control offset can point to bit 10, meaning that bits 0 through 9 are set to "0", and the PVB can be set to "100...001" in binary. As a result, the PVB can contain a number of zeros to indicate that clients with AIDs between 10 and 80 have no buffered data.Although the bitmap control offset can display continuous "0" bits of the PVB, it cannot display intervening "0" bits between two bits set to "1". These intervening "0" bits can contribute to overhead information in the TIM, which can make the TIM long and the beacon unwieldy. Transmitting such a large beacon can lead to errors.
[0011] Furthermore, the long TIM problem described above can worsen with an increasing number of clients. Additionally, multiple virtual access points (VAPs) can be configured within a single physical AP. A VAP comprises a multiplexed installation of a single physical AP, so it presents itself to WLAN clients as multiple individual APs. Multiple VAPs running on a single physical AP are referred to as co-located VAPs. In some examples, co-located VAPs can be configured as part of a Basic Service Set Identifier (BSSID) set. A multiple BSSID set includes VAPs with a common operating class, channel, channel access capabilities, receive antenna port, and transmit antenna port.VAPs included in a multi-BSSID set typically send a single beacon containing information about all VAPs in the set, rather than sending a separate beacon for each individual VAP. Because multi-BSSID functionality is enabled for VAPs, sending a single beacon for all VAPs in the set can result in a very long TIM (Time Indication) within such a beacon. Transmitting such long TIMs can also lead to the beacon frame becoming full and the beacon becoming unwieldy, increasing the likelihood of beacon transmission errors and potentially causing service interruptions.
[0012] Furthermore, the IEEE has formed a working group for IEEE 802.11be: Enhancements for Extremely High Throughput (EHT), which could potentially be the next change to the IEEE 802.11 WLAN standards. One of the possible features in IEEE 802.11be is Multi-Link Operation (MLO) in the 2.4 GHz, 5 GHz, and 6 GHz frequency bands. With MLO between an access point (AP) and a client device (a non-AP station) for which MLO is enabled, data exchange between the client and the AP can occur simultaneously across multiple frequency bands, such as the 2.4 GHz, 5 GHz, and 6 GHz bands, using wireless link aggregation. Implementing MLO with multiple enabled BSSIDs in a 6 GHz band can further increase the TIM length.Consider a scenario where VAPs VAPO and VAP1, operating in the 6 GHz band, are included in a multi-BSSID set. VAPO is connected to a multi-link device MLDO, and VAP1 is connected to another multi-link device, MLD1. Each of the multi-link devices, MLDO and MLD1, comprises a collection of VAPs operating on different frequency bands. In such a scenario, a single beacon transmitted by the multi-BSSID set might include the TIMs of VAPO and VAP1 as part of the multi-BSSID set, as well as the TIMs of MLDO and MLD1 to which these VAPs are assigned for MLO. In such a scenario, with both multiple BSSIDs and MLO enabled, the TIM can become longer, potentially resulting in a larger beacon frame and increasing the likelihood of beacon transmission failure. As explained above, errors in beacon transmission can therefore occur due to a long TIM within the beacon frame.
[0013] The present invention enables AID assignment to client devices in such a way that a compact TIM is generated, thereby reducing the beacon size and avoiding beacon transmission errors. In one example, the methods and systems of the present invention assign a set of numbers for AID assignment to client devices that connect to VAPs in a multi-BSSID set. If the multi-BSSID functionality is not enabled, for example, for VAPs in the 2.4 GHz or 5 GHz bands, a different set of numbers for AID assignment can be assigned to client devices that connect to a VAP configured in the AP. In one example, the numbers in the set are natural numbers. Furthermore, the methods and systems configure the AP to assign AIDs from a first subset of the number set to non-multi-link (ML) client devices based on a first monotonic sequence.The non-ML client devices include non-AP stations for which MLO is disabled. The first subset is intended for AID assignment to non-ML client devices. In an example, the first monotonic sequence refers to a sequence of consecutive numbers in the first subset, which can be either ascending or descending and is bounded by a minimum and a maximum value.
[0014] Furthermore, the procedures and systems configure the AP to assign AIDs to ML client devices from a second subset of the number set based on a second monotonic sequence. In one example, an ML client device refers to a non-AP station that has MLO enabled. The second subset is used for AID assignment to ML client devices. In another example, the second monotonic sequence refers to a sequence of consecutive numbers in the second subset, which can be either ascending or descending and is bounded by a minimum and a maximum value. The second monotonic sequence differs from the first monotonic sequence. For example, if the first monotonic sequence is a descending sequence, the second monotonic sequence is an increasing sequence, and vice versa.An access point (AP) configured according to the methods of the present invention can receive an association request from a client device to associate with a virtual access point (VAP) implemented in the AP. Based on the association request, the AP can determine whether machine learning (MLO) is enabled for the client device. In response to the determination that MLO is disabled for the client device, the AP can assign the client device an initial identification number (AID) from the first subset based on the first monotonic sequence. The AID assignment described here reduces the length of the primary number base (PVB) of the time information module (TIM) contained in the beacon. This is because separate sets of numbers are assigned for AID assignment within a multi-BSSID set and for each VAP not included in the multi-BSSID set. Furthermore, assigning AIDs to non-ML and ML client devices from separate subsets of numbers allows for...The first and second subsets reduce the length of the PVB, making the TIM more compact. Reducing the TIM length can decrease the overall length of the beacon. This makes the TIM and the beacon more compact, consequently reducing or eliminating errors in beacon transmission.
[0015] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and in the following description to refer to identical or similar parts. While several embodiments of the present invention are described herein, modifications, adaptations, and other implementations of these embodiments are possible. Accordingly, the following detailed description does not limit the scope of the present invention. Instead, the actual scope of application of the present invention is defined by the accompanying claims.
[0016] Fig. Figure 1 shows an example of a network environment 100 according to an embodiment of the present invention. This diagram shows an example of a configuration implemented in an organization with multiple users (or at least multiple client devices). The network environment 100 can comprise an office, a campus, a home, or another network installation. The network environment 100 can be a private network, for example, a network that includes security and access controls to restrict access to authorized users of the private network. Authorized users can include, for example, authorized employees, residents, students, customers, etc.
[0017] In the example shown, network environment 100 includes a controller 102. Controller 102 can enable communication with another network, such as a public or private network like the internet. Only a single controller 102 is shown, although network environment 100 can include multiple controllers.
[0018] The Controller 102, also known as a WLAN controller, can be used to configure and manage network devices. The Controller 102 can configure and / or manage switches, routers, access points, and / or client devices connected to a network. The Controller 102 can itself be an access point or provide the functionality of one. The Controller 102 can communicate with one or more wireless APs 104A-C. The APs 104A-C provide network connectivity for various client devices 114A-H. Through a connection to an AP 104A-C, a client device 114A-H can access network resources, including other devices in the network environment 100.Examples of client devices include desktop computers, laptop computers, tablet computers, e-readers, netbook computers, personal digital assistants (PDAs), mobile phones, smartphones, smart devices, silent devices, virtual devices, video game consoles, virtual assistants, Internet of Things (IoT) devices, and the like.
[0019] The APs 104A-C are included as an example of an access point to the network established in network environment 100 for wireless client devices 114A-H. The APs 104A-C can control network access for the client devices 114A-C and authenticate the client devices 114A-H for connection to the APs and, through the APs, to other devices within network environment 100. Each AP 104A-C can be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity for wireless client devices 114A-H. In the example shown, the APs 104A-C can be managed and configured by the controller 102. The APs 104A-C communicate with the controller 102 and network environment 100 via connections 116, which can be wired or wireless interfaces.
[0020] In the example of Fig. The present invention is described in detail with reference to AP 104A. However, each of the APs 104B-C can have a similar configuration to AP 104A, and the methods and systems of the present invention, which are explained with respect to AP 104A, can also be carried out for APs 104B-C. AP 104A comprises VAPs 118A, 118B, and 118C. The VAPs 118 are contained in a multiple BSSID set 120. A multiple BSSID set comprises VAPs with a common operating class, channel, channel access functions, receive antenna connector, and transmit antenna connector. VAPs contained in a multiple BSSID set typically transmit a single beacon with information about all VAPs in the multiple BSSID set.All VAPs within the multiple BSSID set are assigned in such a way that the BSSIDs of the VAPs are not available as MAC addresses for stations using a different operating class, channel, receive antenna port, or transmit antenna port. The multiple BSSID set 120 and the VAPs 118, which are in . Fig. The virtual units (VAPs) represented by dashed lines can be configured within the physical AP 104A. In some examples, the VAPs (VAPs 118) can be distributed across a group of APs. Each VAP can broadcast its own SSID and have its own network interface with a BSSID. In one example, an AP profile corresponding to AP 104A can be configured on AP 104A or the group of APs. The settings associated with the VAPs (VAPs 118) and the multiple BSSID set (120) can be adjusted using the AP profile. Although three VAPs are shown as configured, there can be more or fewer than three VAPs within AP 104A. The VAPs (VAPs 118) can also be configured to be excluded from the multiple BSSID set (120).
[0021] As shown, the controller 102 comprises a hardware processor 106 and a machine-readable storage medium 108. The AP 104 also comprises a hardware processor 110 and a machine-readable storage medium 112. The hardware processors 106 and 110 can be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices capable of retrieving and executing instructions stored in the machine-readable storage media 108 and 112. The hardware processors 106 and 110 can retrieve, decode, and execute instructions, such as commands, for managing AID allocation by the AP 104.
[0022] In some embodiments, the machine-readable storage media 108 and 112 can be a non-transitory storage medium, the term "non-transitory" excluding the transitory transmission signals. As described in detail below, the machine-readable storage media 108 and 112 can be encoded with executable instructions for managing and allocating AID. The instructions include AID management instructions 122, stored in the machine-readable storage medium 108, and AID allocation instructions 124, stored in the machine-readable storage medium 112.
[0023] The hardware processor 106 can execute AID management instructions 122 to assign a set of numbers for AID assignment to clients connecting to VAPs 118 in a multiple BSSID set 120 configured in AP 104A. The AID refers to a numerical identifier that identifies a specific client device to the AP. In one example, the number set refers to consecutive natural numbers from 1 to 1024. In another example, the multiple BSSID set 120 operates in a 6 GHz frequency band. The number set serves as a pool or range of numbers from which AIDs can be assigned to clients connecting to VAPs 118 in the multiple BSSID set 120. In an example where more than one multiple BSSID set is configured in the AP 104A, a set of numbers is assigned that corresponds to each multiple BSSID set.Additionally, a separate set of numbers is assigned for AID assignment to client devices connecting to a VAP configured in AP 104, where the VAP is not included in the multiple BSSID set 120. For example, the VAP can operate in the 2.4 GHz or 5 GHz band.
[0024] In one example, a network administrator can configure two sets of multiple BSSIDs, MBSSID1 and MBSSID2, in the 6 GHz band of the AP 104A. Based on the AP 104A configuration described above, the controller 102 can assign a set of numbers from 1 to 1024 to MBSSID1 and another set of numbers from 1 to 1024 to MBSSID2. Consequently, two clients, one associated with a VAP using MBSSID1 and the other with a VAP using MBSSID2, can have the same AID. However, the AIDs of the two clients are broadcast in separate beacons, one for MBSSID1 and one for MBSSID2, and remain unique within the group of client devices associated with a single set of multiple BSSIDs. Therefore, using the same numeric range for AID assignment to clients with different multiple BSSID sets does not lead to confusion regarding the identity of the clients.
[0025] Furthermore, the hardware processor 106 can execute AID management instructions 122 to configure the AP 104A to assign AIDs from a first subset of the number set to non-ML client devices based on a first monotonic sequence. In an example, a non-ML client device refers to a non-AP station that has no MLO capabilities. A client device's MLO capabilities can be specified in an association request from the client. In an example, an information element in the association request can specify the client's MLO capabilities. Upon receiving the association request from the client device, the AP can determine whether the client is an ML client or a non-ML client.
[0026] In one example, the first subset comprises a range of consecutive numbers from the set. Suppose the set of numbers ranges from 1 to 1024. In one example, the first subset might contain numbers between 30 and 511. In another example, the first subset might contain numbers between 512 and 1024. The first subset can be predefined based on the nature of the network deployment and the client devices on the network. For example, if the network serves a significant number of older client devices that lack MLO capabilities, then the range of numbers in the first subset might be larger than the range of numbers in the second subset. Conversely, if the network serves a large number of client devices with MLO capabilities, the range of numbers in the first subset might be smaller than the range of numbers in the second subset.The first monotonic sequence can be an ascending or descending order of the numbers in the first subset. In an example, each AID assigned to a client device from the first subset based on the first monotonic sequence is either greater or less than the previous AID assigned by 1.
[0027] The hardware processor 106 can further execute AID management instructions 122 to configure the AP 104A to assign AIDs to ML client devices from a second subset of the number set based on a second monotonic sequence. In one example, an ML client device refers to a non-AP station that has MLO capabilities. The second subset differs from the first subset and comprises a different range of consecutive numbers from the set. Suppose the number set ranges from 1 to 1024, and the first subset contains numbers from 30 to 511. In such an example, the second subset can contain numbers from 512 to 1024. In another example, if the first subset contains numbers between 512 and 1024, the second subset can contain numbers from 30 to 511. Thus, the second subset can have a limit that follows a limit of the first subset.This means that in some examples, the smallest number in the second subset can follow the largest number in the first subset, or vice versa. The second subset can be predefined based on the type of network deployment and the client devices on the network. The second monotonic sequence can be an ascending or descending order of numbers 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 either greater or less than the previous AID assigned by 1. Thus, using AID management instructions 122, control unit 102 can configure AP 104A for AID assignment.
[0028] In one example, the hardware processor 110 can execute AID allocation instructions 124 to receive an allocation request from a client device 114 to connect to one of the VAPs 118. In another example, the allocation request can contain the VAP's BSSID, operating class, supported rates, capability, etc.
[0029] Hardware processor 110 can execute AID assignment instructions 124 to determine, based on the assignment request, whether MLO is enabled for client device 114. In response to the finding that MLO is disabled for the client device, hardware processor 110 can execute AID assignment instructions 124 to assign client device 114 an AID from the first subset based on the first monotonic sequence.
[0030] Fig. Figure 1 shows an example of a method 200 for managing the AID assignment according to an embodiment of the present invention. In one example, steps 202 to 214 of method 200 can be performed by a controller, such as the controller 102 of Fig. , and steps 216 to 226 of procedure 200 from an AP, such as AP 104 of Fig. Method 200 can be implemented by one or more processing resources or one or more computing devices using any suitable hardware, a non-transitory machine-readable medium, or a combination thereof. For example, Method 200 can be executed by computer-readable instructions comprising instructions stored on a medium and executable by a processing resource, such as a hardware processor, the controller, or the AP.
[0031] As in Fig. As shown in block 202, the controller can obtain the AP's configuration information from the network administrator. This configuration information can include BSSID settings, SSID settings, capabilities, operating channel, operating class, and other settings for VAPs configured to operate in each of the AP's frequency bands. For example, the configuration information might include VAP profiles corresponding to different VAPs running within the AP. The network administrator can enter this configuration information when deploying the AP to the network. Furthermore, the controller can identify a number of VAPs configured to operate in each of the 2.4 GHz, 5 GHz, and 6 GHz frequency bands. Additionally, the controller can identify VAPs belonging to a multi-BSSID set and associated with a multi-device localization (MLD) based on the configuration information.
[0032] In block 204, the controller is configured to assign a set of numbers for AID assignment to client devices connecting to VAPs in the multi-BSSID set. For example, depending on the AP's configuration information, the controller can identify multiple BSSID sets configured in the AP. The controller can then assign a set of numbers for AID assignment for each multi-BSSID set. Thus, each multi-BSSID set configured to operate in the 6 GHz frequency band has its own set of numbers for AID assignment. When a client device is paired with a VAP in a multi-BSSID set, the controller-managed AP can assign a number from the corresponding number set to the client device as its AID.
[0033] Furthermore, the controller in block 206 is configured to assign a different set of numbers for AID assignment to client devices connecting to a different VAP that is also located in the AP and is not included in the multiple BSSID set. For example, the other VAP might operate in one of the 2.4 GHz, 5 GHz, or 6 GHz frequency bands. Therefore, the controller can also assign a set of numbers per VAP for AID assignment to client devices connecting to that VAP.
[0034] In Block 208, the set of numbers assigned to a multiple BSSID set or a VAP is divided into a first subset, a second subset, and a third subset. For example, the second subset has a limit that follows a limit in the first subset. The limit refers to a maximum or minimum value within a subset. Additionally, the third subset might contain numbers close to a limit in the number set. For example, the third subset might contain the first twenty numbers or the last twenty numbers in the number set. The ranges of each subset can be predefined based on the deployment type. For example, in a facility with a large number of MLD and ML clients, the range of the second subset might be larger than the range of the first subset.In another example, when deploying with a large number of legacy clients that may lack MLO capabilities, the scope of the first subset might be larger than that of the second subset. The scope of the third subset depends on the number of non-Power Save (PS) clients on the network. In one example, non-PS clients refer to client devices for which power saving mode is generally disabled, such as mesh points, uplink clients, etc.
[0035] In block 210, the controller can configure the AP to assign AIDs from the first subset of the number set to non-ML client devices based on an initial monotonic sequence. For example, the initial monotonic sequence is a descending order of consecutive numbers in the first subset, starting with the highest number in the first subset. The controller can configure the AP so that when a non-ML client device attempts to connect to a VAP in a multi-BSSID set, the non-ML client is assigned an AID from the first subset of the set of numbers associated with the multi-BSSID set. If the non-ML client is the first client for the multi-BSSID set, then the assigned AID is the highest number in the first subset.As the number of non-ML customers joining VAPs in the multiple BSSID set increases, the AIDs are assigned from the first subset of the number set assigned to the multiple BSSID set, starting with the highest value in gradually decreasing order.
[0036] In block 212, the control unit can be configured to assign a partition of the second subset of the number set for AID assignment to client devices connected to VAPs belonging to a Multi-Link Device (MLD), based on a second monotonic sequence. For example, the second subset of the number set can be divided into multiple partitions, namely a first partition, a second partition, and so on. Each partition of the second subset of the number set can correspond to an MLD. For instance, a first partition of the second subset of the number set can be assigned for AID assignment to clients connected to VAPs belonging to a first MLD, a second partition of the second subset of the number set can be assigned for AID assignment to clients connected to VAPs belonging to a second MLD, and so forth.The partition of the second subset can encompass a range of numbers within the second subset. Furthermore, each partition of the second subset can be shared by client devices connected to one of the VAPs belonging to the corresponding MLD, thus serving as a common number range for AID assignment to clients connected to VAPs belonging to the corresponding MLD. For example, the second monotonic sequence is an ascending order of consecutive numbers in a partition of the second subset of the number set, starting with the lowest number in the partition. The control unit can configure the AP so that when an ML client device connects to one of the VAPs belonging to the MLD, the client device is assigned an AID from the partition of the second subset of the number set.For example, if the ML client is the first to join the MLD, then the assigned AID is the lowest numeric value in the partition of the second subset of the number set. In another example, as the number of ML clients joining VAPs connected to the MLD increases, the AIDs from the partition of the second subset of the number set are assigned, starting with the lowest value in a gradually increasing order.
[0037] In block 214, the controller is configured to assign the third subset of the number set for AID assignment to non-PS client devices. This third subset comprises numbers close to a limit of the number set. The third subset must not share a common limit with the first or second subset.
[0038] As in Fig. As shown, the access point (AP) in block 216 can receive a mapping request from a client device to connect to a virtual access point (VAP). In this example, the VAP is one of several VAPs included in a multi-BSSID set operating in a 6 GHz frequency band. The mapping request might contain information about QoS capability, performance, SSID, BSSID, supported rates, and so on. The mapping request could also include an information element specifying the client device's machine learning (ML) capabilities.
[0039] In response to receiving the allocation request, the access point (AP) can check in block 218 whether the client is a Power Saver (PS) client. A Power Saver client is, for example, a client device that can enter sleep or low-power mode after a certain operating interval. This allows the client device to conserve power while performing its functions. However, some devices, such as mesh point devices and uplink clients, may disable power saving mode due to operational constraints. Such clients with power saving mode disabled are referred to as non-PS clients. In one example, the AP can analyze the client device's power capacity based on the information in the allocation request and determine whether the client device is a PS or non-PS client.
[0040] In response to the determination that the client device is a non-PS client (the "no" branch of block 218), the AP can, in block 220, assign the non-PS client device an AID from the third subset of numbers assigned for AID assignment to non-PS clients. In response to the determination that the client device is a PS client (the "yes" branch of block 218), the AP can, in block 222, check whether MLO is enabled for the client device. For example, the AP can examine an ML capability information element in the association request framework received from the client device to determine whether MLO is enabled for the client.
[0041] In response to the detection that MLO is disabled for the client device (the "no" branch of block 222), the AP can assign an AID from the first subset of the number set, based on the first monotonic sequence, to the client device in block 224. In response to the detection that MLO is enabled for the client device (the "yes" branch of block 222), the AP can assign an AID from the partition of the second subset of the number set, based on the second monotonic sequence, to the client device in block 226. Because MLO is enabled for the client device, the AP knows that the client device's association request is for association with a VAP connected to an MLD. Therefore, the access provider assigns the AID from the partition of the second subset of the number set, which is designated for AID assignment to clients of the MLD.
[0042] Fig. Figure 3 shows an example of the distribution of 300 groups and subgroups of numbers assigned for AID allocation according to an embodiment of the present invention. In the example of Fig. It is assumed that four VAPs, namely VAP0, VAP1, VAP10, and VAP11, belong to a common AP set, of which VAP0 and VAP1 are part of a multi-BSSID set, with MBSSIDO operating in the 6 GHz band, VAP10 in the 5 GHz band, and VAP11 in the 2.4 GHz band. Furthermore, VAP0 and VAP10 are connected to the multi-link device MLDO, and VAP1 and VAP11 are connected to the multi-link device MLD1. A "co-located AP set" refers to a collection of two or more VAPs within the same physical AP. The physical AP can be configured as described above based on configuration information entered by a network administrator.
[0043] As in Fig. As shown, the control unit can assign a set of numbers 302A, also called Set 302A, for AID assignment to clients connecting to VAPs included in MBSSIDO. 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, each VAP10 and each VAP11 operating in the 5 GHz band and the 2.4 GHz band, respectively, is assigned a set of numbers 302B, also called Set 302B, and another set of numbers 302C, also called Set 302C. Both sets 302B-C have the minimum and maximum values 1 and 1024 and include all consecutive natural numbers in between. Although in the example of Fig. While the same number ranges are assigned to groups 302A-C, in another example the number range in groups 302A-C may be different.
[0044] Furthermore, the controller can subdivide the quantity 302A assigned to MBSSIDO into a first subset 304A, a second subset 306A, and a third subset 308A. As in Fig. As shown, the first subset 304A lies in the range from 30 to 511, the second subset 306A in the range from 512 to 1024, and the third subset in the range from 1 to 20. As can be seen from... Fig. As can be seen, the minimum value of the second subset 306A is 512, which follows 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; that is, the first and second subsets 304A and 306A have no limit that follows a limit of the third subset 308A. The third subset 308A ranges from 1 to 20. The numbers from 21 to 29 remain unused and must not be used as AIDs for clients connecting to MBSSIDO VAPs. Thus, an unused subset 310A is retained to ensure that the third subset 308A, used for non-PS clients, is isolated from the AIDs used for PS clients.
[0045] Furthermore, the controller subdivides the set 302B assigned to VAP10 into a first subset 304B in the range of 30 to 511, a second subset 306B in the range of 512 to 1024, and a third subset 308B in the range of 1 to 20. The controller also subdivides the set 302C assigned to VAP11 into a first subset 304C, a second subset 306C, and a third subset 308C, with similar ranges to 304B, 306B, and 308C. The ranges of the subsets of sets 302A-C may be similar to those in Fig. as shown or vary for each sentence.
[0046] Furthermore, each of the third subsets 308B-C is isolated from its respective first subsets 304B-C and second subsets 306B-C. Each of the third subsets 308B-C has a similar range, i.e., 1 to 20, as the third subset 308A. Thus, the numbers from 21 to 29 remain unused and cannot be used as AIDs for clients connecting to VAP10 or VAP11. Consequently, the unused subsets 310B and 310C are retained to ensure that the third subsets 308B and 308C, used for non-PS clients of VAP10 and VAP11, are isolated from the AIDs used for PS clients. This also helps in creating a compact TIM, as will be explained later.
[0047] The controller can configure the AP to assign AIDs to non-ML clients of MBSSIDO, VAP10, and VAP11 from the first subsets 304A, 304B, and 304C, respectively, based on the first monotonic sequence. The first monotonic sequence is identified by the arrow 312. The controller configures the AP so that when a non-ML client device attempts to connect to VAP0 or VAP1 of MBSSIDO, a number from the first subset 304A is assigned to the non-ML client as its AID. If the non-ML client is the first client for MBSSIDO, the assigned AID is 511. As the number of non-ML clients joining VAPs in MBSSIDO increases, the AIDs are assigned from the first subset 304A, starting with the highest value, 511, in gradually decreasing order.Similarly, the controller configures the AP so that when a non-ML client device connects to VAP10 or VAP11, the non-ML client is assigned an AID from the first subset 304B of set 302B or the first subset 304C of set 302C, respectively. If the non-ML client is the first client for VAP10 or VAP11, the assigned AID is 511 from the respective first subset. As other non-ML clients connect to VAP10 or VAP11, the AIDs are assigned from the first subset 304B of set 302B or the first subset 304C of set 302C, starting with the highest value, 511, in descending order. Although the first monotone sequence is represented as a descending order of the numbers in the first subsets 304A-C, in some examples the first monotone sequence can also be an ascending order of the numbers in the first subsets.
[0048] The control device can further subdivide the second subset 306A of the number set into a first partition 314 and a second partition 318. The first partition 314 corresponds to MLDO, and the second partition 318 corresponds to MLD1. The control device can assign the first partition 314 of the second subset 306A for AID assignment to ML client devices connected to VAP0 or VAP10, which are connected to MLDO. The first partition 314 can contain a number range from, for example, 512 to 700. The first partition 314 is shared by ML client devices connected to either VAP0 or VAP10, which are connected to MLDO, and serves as a common number pool for AID assignment to ML clients connected to both VAP0 and VAP10. Consequently, the range of consecutive numbers from 512 to 700 is marked as the first partition 314 for the two second subsets 306A and 306B of the number group 302A and 302B respectively.
[0049] The controller can configure the AP so that when an ML client device attempts to connect to VAP0 or VAP10 for MLO, the client device is assigned an AID from the first partition, 314. If the ML client is the first to join MLDO, the assigned AID is 512. In an example, as the number of ML clients joining VAP0 or VAP10 for MLO increases, the AIDs are assigned from the first partition, 314, starting with the lowest value, 512, in a gradually increasing order. Thus, the AIDs assigned from the first partition, 314, to the second subset, 306A or 306B, are based on a second monotonic sequence, indicated by arrow 316 in the diagram. Fig. is shown.
[0050] As in Fig. As shown, the second partition 318 of the second subset 306A is assigned for AID assignment to client devices connected to VAPs connected to MLD1. The second partition 318 can contain a number range from, for example, 710 to 900. The second partition 318 is shared by ML client devices connected to VAP1 or VAP11, which are connected to MLD1, and serves as a common number pool for AID assignment to ML clients connected to VAP1 and VAP11. Consequently, the range of consecutive numbers from 710 to 900 is designated as the second partition 318 for the two second subsets 306A and 306C of the number set 302A and 302C, respectively.
[0051] The controller can configure the AP so that when an ML client device attempts to join VAP1 or VAP11 for MLO, the client device is assigned an AID from the second partition 318. If the ML client is the first to join MLD1, then the assigned AID is 710. In an example, as the number of ML clients joining VAP1 or VAP11 for MLO increases, the AIDs are assigned from the second partition 318, starting with the lowest value, 710, in a gradually increasing order. Thus, the AIDs assigned from the second partition 318 to the second subset, 306A or 306C, are based on the second monotonic sequence indicated by arrow 316 in the Fig. is shown.
[0052] As in Fig. As shown, the third subset 308A for MBSSIDO ranges from 1 to 20. Thus, a non-PS client connected to VAP0 or VAP1 of MBSSIDO can be assigned an AID from the third subset 308A. Similarly, a non-PS client connected to VAP10 can be assigned an AID from the third subset 308B of the set 302B, and a non-PS client connected to VAP11 can be assigned an AID from the third subset 308C of the set 302C.
[0053] The AID assignment based on the above configuration can be illustrated using the examples described here. Let's consider an example of an AID assignment by an AP configured according to procedure 200. As already mentioned in connection with Fig. As explained, the AP can have adjacent VAPs, VAP0 and VAP1, which are contained in multiple BSSID sets: MBSSIDO operates in the 6 GHz band, VAP10 in the 5 GHz band, and VAP11 in the 2.4 GHz band. Suppose 10 clients, D1, D2, ..., D10, connect to the AP, which has the VAPs at the same location. The number assigned to each client can indicate the order in which they connect to the AP; that is, D1 is the first client to connect, D2 is the second, and so on. Let's assume that all clients D1 through D10 are non-ML clients, of which D3 and D7 are non-PS clients, and the rest are PS clients. D1, D2, D3 and D7 connect to VAP0 of MBSSID0, D10 connects to VAP1 of MBSSIDO and D4, D5, D6, D8 and D9 connect to VAP10.
[0054] After the AP has been configured according to Method 200, the AIDs assigned to the clients are shown in Table 1. Table 1 shows the VAPs to which each client connects and the corresponding AIDs assigned to each client according to an exemplary embodiment of the present invention. In one example, the AIDs listed in the table below can be based on the information in Fig. The example distribution shown is 300 of sets and subsets of numbers assigned for AID assignment. Table 1: Client VirtuellerZugangspunkt (VAP) Assoziationskennzeichen(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
[0055] Since D3 and D7 are non-PS clients associated with MBSSIDO, the AP assigns AIDs 1 and 2 from the third subset 308A of Fig. D1, D2, and D10, which are associated with either VAP0 or VAP1 of MBSSIDO, receive AIDs from the first subset 304A of set 302A based on the first monotonic sequence (in this case, a descending order) starting from 511 to 509. D4, D5, D6, D8, and D9 are assigned AIDs from the first subset 304B of set 302B based on the first monotonic sequence, which is a descending order from 511 to 507. It should be noted that two clients joining two different VAPs can have an identical AID. However, since a client's AID is unique among the clients of a set of multiple BSSIDs or among the clients of a single VAP, there must be no confusion regarding client identity.
[0056] In contrast to the example of AID assignment described in Table 1 within the scope of the present invention, the AIDs assigned to clients D1 to D10 could be consecutive serial numbers from 1 to 10 if the AP had implemented a conventional AID assignment method. Thus, the AIDs for D1, D2, ..., D9, and D10 could be 1, 2, ..., 9, and 10, respectively. Table 2 shows the VAPs to which each client connects and the corresponding AIDs assigned to each client according to the conventional AID assignment method. Table 2: Client VirtuellerZugangspunkt (VAP) Assoziationskennzeichen(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
[0057] Let's assume the AP has buffered data for D2 and D10. An AP implementing the conventional AID assignment method can generate a PVB with bits Bit2, Bit3, ..., Bit10 in a TIM of an MBSSIDO beacon. Bit2 represents the AID "2" of client D2, and Bit10 represents the AID "10" of client D10. The bitmap control offset can point to Bit2, from which the PVB starts, since Bit1 can be set to "0" because no data is buffered for D1. An example PVB generated by the AP in the MBSSIDO beacon's TIM using the conventional AID assignment method is shown below as "Bitmap 1". Bitmap 1: Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8 Bit9 Bit10 1 0 0 0 0 0 0 0 1
[0058] In an AID assignment according to one embodiment of the present invention, the AP can generate a PVB with the bits "Bit510 Bit509", where Bit510 represents the AID "510" of D2 and Bit509 represents the AID "509" of D10. The bitmap control offset can point to Bit510 in this case, since Bit511 can be set to "0" because no data is buffered for D1. An example PVB generated by the AP in the TIM of the MBSSIDO beacon based on the AID assignment according to one embodiment of the present invention is shown below as "Bitmap 2". Bitmap 2: Bit510 Bit509 1 1
[0059] Bitmap 2 contains 2 bits, while Bitmap 1 contains 9 bits, as a comparison of the bitmaps shows. It is clear that Bitmap 2 is more compact than Bitmap 1. Since the zeros in bits 3 to 9 of Bitmap 1 are not included in Bitmap 2 and are not transmitted in the PVB or TIM of the beacon of the multi-BSSID set, the TIM generated by the AP of the present invention is compact. Consequently, a beacon frame of the multi-BSSID set MBSSIDO containing the compact TIM can also be compact, thereby reducing beacon transmission failures. This improves link efficiency. Although in the example above a PVB is generated for a beacon from a multi-BSSID set, similar compact PVBs can also be generated for VAPs, such as VAP10 and VAP11, and MLDs, such as MLDO and MLD1. Fig. , are generated.
[0060] Fig. Figure 400 shows an example of a method for producing a compact TIM according to an embodiment of the present invention. The steps in Fig. can be accessed from an AP, such as the AP 104A in Fig. , can be executed. In block 402, the AP can check the length of a beacon from a multiple BSSID set configured in the AP. The multiple BSSID set can operate in a 6 GHz band of the AP. For example, the AP can compare the beacon length to a threshold at a fixed interval, such as 90 milliseconds. In another example, the fixed interval is shorter than a target beacon transmission time (TBTT) for the multiple BSSID set. In another example, the threshold can be between 300 bytes and 400 bytes. In response to the finding that the length of the multiple BSSID set's beacon is less than the threshold (the "no" branch of block 402), the AP can generate the beacon in block 403.
[0061] In response to the finding that the length of the beacon in the multiple BSSID set is equal to the threshold (the "yes" branch of block 402), the AP can check in block 404 whether a bitmap of an MLD is present in a TIM of the beacon. The bitmap can be a PVB within the TIM. For example, parts of the TIM can be marked to carry PVBs for different MLDs. The PVB of an MLD can be very long, and if such a PVB of an MLD is contained in the beacon, the beacon can become unwieldy.
[0062] In response to the finding that the PVB of an MLD is included in the TIM (the "yes" branch of block 404), the AP can check in block 406 whether the MLD's traffic is mapped on all of the MLD's operating frequency bands. MLD traffic refers to the data traffic exchanged between clients connected to the VAPs attached to the MLD. If the data traffic between the clients and the MLD's VAPs is transmitted on multiple frequency bands on which the MLD's VAPs operate, the AP can determine that the MLD's traffic is mapped on all of the MLD's operating frequency bands.
[0063] In response to the finding that traffic is mapped across all operating frequency bands of the MLD (the "yes" branch of block 406), the AP can migrate the MLD bitmap in block 408 to operating frequency bands other than the 6 GHz band. In one example, migrating the MLD bitmap to other operating frequency bands involves removing the MLD's PVB from the multi-BSSID set beacon and adding the PVB to a beacon on a VAP operating in a 5 GHz or 2.4 GHz band that is connected to the MLD. As a result of the migration, the AP can create a compact TIM within the multi-BSSID set beacon. Because the MLD bitmap is migrated to beacons on VAPs operating in other frequency bands, the multi-BSSID set beacon is significantly shorter and therefore more compact.
[0064] In response to the finding that traffic is not mapped on all operating frequency bands of the MLD (the "no" branch of block 406), the AP can remove the MLD bitmap from the beacon's TIM. In block 410, the AP can insert the MLD bitmap into a TIM of a subsequent beacon in the multiple BSSID set. In one example, the subsequent beacon is a beacon that follows the current beacon sent by the multiple BSSID set after a beacon interval.
[0065] In response to the finding that the PVB of an MLD is not contained in the TIM (the "no" branch of block 404), the AP can remove a portion of the TIM from the beacon in block 412. In one example, this portion of the beacon might contain TIMs corresponding to some of the VAPs of the multiple BSSID set. In some examples, the AP might fragment the TIM into multiple parts and transfer each part of the TIM to successive beacons of the multiple BSSID set. In block 414, the AP can insert the removed portion of the TIM into a TIM of a subsequent beacon from the multiple BSSID set. This way, the length of the TIM is shared between two beacons, and both beacons remain compact.
[0066] Fig. Figure 500 shows another example of a method 500 for AID allocation according to an embodiment of the present invention. The steps in Fig. can be accessed from an AP, such as AP 104 in Fig. , will be carried out.
[0067] Consider an access point (AP) configured with a multiple BSSID set and multiple virtual access points (VAPs). In block 502, the AP can receive an association request from a client device attempting to connect to one of the multiple VAPs in the multiple BSSID set. For example, a set of numbers, such as set 302A, in Fig. , assigned for AID assignment to client devices connecting to VAPs in the multi-BSSID set. For example, the set might contain a first subset of numbers for AID assignment to non-multi-link (non-ML) client devices based on a first monotonic sequence, and a second subset of numbers for AID assignment to ML client devices based on a second monotonic sequence.
[0068] In block 504, the AP can determine whether MLO is enabled for the client device based on the association request. For example, before determining whether MLO is enabled, the AP can use the association request to check whether the client device is a PS client or a non-PS client. Based on the finding that the client device is a PS client, the AP can assign the client an AID from a third subset of the number set, such as the third subset 308A of the number set in the file. Fig. The sentence 302A shown. In response to the determination that the client device is a PS client, the AP can execute block 504.
[0069] In block 506, in response to the detection that MLO is disabled for the client device, the AP assigns a first AID from the first subset to the client device, based on the first monotonic sequence. In another example, in response to the detection that MLO is enabled for the client device, the AP can assign a second AID to the client device from the partition of the second subset of the number set, based on the second monotonic sequence. Furthermore, one or more steps of the process described in the Fig. The illustrated procedure 400 from AP in combination with the procedure 500 of the Fig. be carried out.
[0070] Fig. An example method 600 for managing AIDs in an AP according to an embodiment of the present invention is illustrated. The steps of method 600 can be executed by a controller, e.g., the controller 102 from Fig. .
[0071] As in Fig. As shown, in block 602, the controller can assign a set of numbers for AID assignment to client devices connected to a VAP configured in an AP. For example, there might be multiple VAPs in the AP, and a separate set of numbers can be assigned for AID assignment to client devices connected to each of the multiple VAPs. Thus, a set of numbers is maintained for AID assignment per VAP.
[0072] In block 604, the controller can configure the AP to assign AIDs to non-ML client devices from an initial subset of the number set based on an initial monotonic sequence. For example, the controller can configure the AP to assign AIDs to non-ML client devices connected to a VAP from an initial subset of the number set assigned to the VAP. The initial monotonic sequence can be an ascending or descending order of numbers in which AIDs are assigned to non-ML clients from the first subset of the number set.
[0073] In block 606, the control unit can configure the AP to assign AIDs to ML client devices from a second subset of the number set based on a second monotonic sequence. For example, the control unit can configure the AP to assign AIDs from the second subset of the number set assigned to the VAP to ML client devices connected to that VAP. The second monotonic sequence can be an ascending or descending order of numbers in which AIDs are assigned to ML clients from the second subset of the number set.
[0074] Furthermore, in one example, the controller can allocate a partition of the second subset of the number set for AID assignment to client devices connected to VAPs belonging to a Multi-Link Device (MLD), where the MLD comprises the VAP and another VAP operating in a different frequency band. The controller can configure the AP to share the partition of the second subset of the number set for AID assignment with client devices connected to VAPs linked to the MLD. Thus, the partition of the second subset of the number set acts as a shared number range from which AIDs can be assigned to ML clients connected to VAPs linked to a single MLD.
[0075] Fig.Figure 7 shows a block diagram of an example computer system 700 in which the embodiments described here can be implemented. The computer system 700 comprises a bus 702 or other communication mechanism for transmitting information, and one or more hardware processors 704 connected to the bus 702 for processing information. The hardware processor(s) 704 could, for example, be one or more general-purpose microprocessors.
[0076] The Computer System 700 also includes a main memory 706, such as random access memory (RAM), a cache, and / or other dynamic memory devices connected to the 702 bus to store information and instructions to be executed by the 704 processor. The main memory 706 can also be used to store temporary variables or other intermediate information during the execution of instructions to be carried out by the 704 processor. When such instructions are stored in memory media accessible to the 704 processor, the Computer System 700 becomes a specialized machine adapted to perform the operations specified in the instructions.
[0077] The Computer System 700 also includes a read-only memory (ROM) 708 or other static storage device connected to bus 702 to store static information and instructions for the processor 704. A storage device 710, such as a magnetic disk, an optical disk, or a USB flash drive, etc., is provided and connected to bus 702 to store information and instructions.
[0078] The computer system 700 can be connected via bus 702 to a display 712, such as a liquid crystal display (LCD) (or a touchscreen), to show information to a computer user. An input device 714, including alphanumeric and other keys, is coupled to bus 702 to transmit information and command selections to the processor 704. Another type of user input device is the cursor control 716, such as a mouse, trackball, or cursor direction keys, for transmitting directional information and command selections to the processor 704 and for controlling cursor movement on the display 712. In some embodiments, the same directional information and command selections as with cursor control can be implemented by receiving touch inputs on a touchscreen without a cursor.
[0079] The Computer System 700 can include a user interface module for implementing a graphical user interface, which can be stored on a mass storage device as executable software code that is executed by the computer device(s). This and other modules can include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0080] In general, the words "component," "system," "database," and the like, as used here, can refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language such as Java, C, or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software components may be invoked by other components or by themselves, and / or may be invoked in response to detected events or interruptions. Software components configured to run on computer devices may be stored on a computer-readable medium, such as...Software may be provided on a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may initially be stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code may be stored partially or entirely in memory on the executing computer device for execution by the computer device. Software instructions may be embedded in firmware, such as an EPROM. Furthermore, the hardware components may consist of interconnected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors.
[0081] The Computer System 700 can implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the Computer System, make the Computer System 700 a specialized machine or program it. According to one embodiment, the techniques described herein are executed by the Computer System 700 in response to the Processor(s) 704 executing one or more sequences of 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. The execution of the instruction sequences contained in the main memory 706 causes the Processor(s) 704 to perform the process steps described herein.In alternative embodiments, hard-wired circuits can be used instead of, or in combination with, software instructions.
[0082] The term "non-volatile media" and similar terms as used here refer to all media that store data and / or instructions that make a machine operate in a particular way. Such non-volatile media can include both non-volatile and volatile media. Non-volatile media include, for example, optical or magnetic disks, such as the Storage Device 710. Volatile media include dynamic memory, such as the Main Memory 706. Common forms of non-volatile media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or other magnetic data storage media, CD-ROMs, other optical data storage media, physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, other memory chips or cartridges, and their networked versions.
[0083] Non-transitory media differ from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-transitory media. Examples of transmission media include coaxial cable, copper wire, and fiber optic cable, including the wires that make up the 602 bus. Transmission media can also take the form of sound or light waves, such as those generated in radio and infrared data communication.
[0084] The Computer System 700 also includes a Communications Interface 718, which is connected to the 702 bus. The Communications Interface 718 provides a bidirectional data communication connection to one or more network connections, which are connected to one or more local area networks (LANs). For example, the Communications Interface 718 can be an ISDN (Integrated Services Digital Network) card, a cable modem, a satellite modem, or a modem to establish a data communication connection to a corresponding type of telephone line. Alternatively, the Communications Interface 718 can be a LAN card to establish a data communication connection to a compatible LAN (or a WAN component to communicate with a WAN). Wireless connections can also be implemented.In each of these implementations, the 718 communication interface sends and receives electrical, electromagnetic, or optical signals that transmit digital data streams representing various types of information.
[0085] A network connection typically enables data communication over one or more networks to other data devices. For example, a network connection might establish a connection over a local area network to a host computer or to data devices operated by an Internet service provider (ISP). The ISP, in turn, provides data communication services over the worldwide packet data communication network, commonly known today as the "Internet." Both the local area network and the Internet use electrical, electromagnetic, or optical signals to transmit digital data streams. The signals across the various networks, the signals on the network connection, and the 718 communication interface that transmits digital data to and from the 700 computer system are examples of transmission media.
[0086] The Computer System 700 can send messages and receive data, including program code, via the network(s), network connection, and communication interface 718. In the Internet example, a server could transmit requested code for an application program via the Internet, the ISP, the local network, and communication interface 718. The received code can be executed by the Processor 704 upon receipt and / or stored in the Memory Device 710 or other non-volatile memory for later execution.
[0087] Each of the processes, methods, and algorithms described in the preceding sections can be embodied in code components and fully or partially automated by them, which are executed by one or more computer systems or computer processors with computer hardware. The one or more computer systems or computer processors can also be operated in such a way as to support the execution of the corresponding operations in a cloud computing environment or as Software as a Service (SaaS). The processes and algorithms can be partially or fully implemented in application-specific circuits. The various features and procedures described above can be used independently or combined in various ways.Various combinations and subcombinations are said to fall within the scope of this disclosure, and certain procedural or process steps may be omitted in some implementations. The procedures and processes described herein are also not restricted to a particular order, and the associated steps or states may be performed in other suitable sequences, in parallel, or otherwise. Steps or states may be added to or removed from the disclosed examples. The execution of certain operations or processes may be distributed across computer systems or computer processors, not just within a single computer, but distributed across a number of computers.
[0088] As used herein, a circuit can be implemented in any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to form a circuit. In implementation, the various circuits described herein can be implemented as discrete circuits, or the described functions and features can be partially or completely distributed across one or more circuits.Even if various features or functional elements are individually described or claimed as separate circuits, these features and functions may be shared by one or more common circuits, and such a description is not intended to require or imply that separate circuits are necessary to implement these features or functions. If a circuit is implemented wholly or partly in software, such software may be implemented to operate with a computer or processing system capable of performing the functionality described with respect to it, such as the Computer System 600.
[0089] As used herein, the term "or" can be understood in both an inclusive and an exclusive sense. Furthermore, the singular description of resources, processes, or structures is not to be understood as excluding the plural. Conditional expressions such as "may," "could," "might," or "can," unless expressly stated otherwise or understood differently in context, are generally to be understood as meaning that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.
[0090] Unless explicitly stated otherwise, the terms and expressions used in this document, as well as their variations, are to be understood as non-restrictive and open-ended. For example, the term "including" is to be understood as "including, without limitation" or the like. The term "example" is used to provide illustrative examples of the subject under discussion, not to create an exhaustive or limiting list. The terms "a" or "an" are to be understood as "at least one," "one or more," or similar. The presence of expansive words and expressions such as "one or more," "at least," "but not limited to," or similar expressions in some cases is not to be understood as implying that the narrower case is intended or required when such expansive expressions are absent.
[0091] Although implementations of the present invention have been described in a 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. Rather, the specific features and methods are disclosed and explained in connection with some embodiments of the present invention.
Claims
[1] A system that includes the following: an access point (AP) (104A-104C) comprising a plurality of virtual access points (VAPs) (118A-188C) in a multiple Basic Service Set Identifier (BSSID) set (120); and a controller (102) that manages the AP, the controller being configured to: to assign a set of numbers (302A-302C) for an Association Identifier (AID) assignment to client devices (114A-114H) that connect to VAPs in the multiple BSSID set; and to configure the AP to: to assign AIDs to non-multi-link (non-ML) client devices from a first subset (304A-304C) of the set of numbers based on a first monotonic sequence (312); and to assign AIDs to ML client devices from a second subset (306A-306C) of the set of numbers based on a second monotonic sequence (316); and where the AP is configured to: to receive an assignment request from a client device in order to assign itself to a VAP from the multitude of VAPs; to determine, based on the mapping request, whether Multi-Link Operation (MLO) is enabled for the client device; and In response to the finding that the MLO is disabled for the client device, assign the client device an initial AID from the first subset based on the first monotonic sequence. [2] The system according to claim 1, wherein the multiple BSSID set is operated in a 6 GHz frequency band. [3] The system according to claim 1, wherein the controller is further configured to assign a different set of numbers for AID assignment to client devices that connect to a different VAP that is also located in the AP and is not included in the multiple BSSID set. [4] The system according to claim 3, wherein the controller is further configured to assign a partition of the second subset of the set of numbers for AID assignment to client devices that are associated with VAPs belonging to a Multi-Link Device (MLD) (MLDO, MLD1), wherein the MLD comprises the VAP of the plurality of VAPs and the other VAP. [5] The system according to claim 4, wherein the AP is configured to assign to the client device a second AID from the partition of the second subset of the set of numbers based on the second monotonic sequence in response to the determination that the MLO is enabled for the client device. [6] The system according to claim 1, wherein the second subset has a limit that follows a limit of the first subset. [7] The system according to claim 1, wherein the AP is configured to, In response to a determination that the length of a beacon of the multiple BSSID set is equal to a threshold, to check whether a bitmap of an MLD is present in a Traffic Indication Map (TIM) of the beacon; In response to a finding that the MLD's bitmap is present in the TIM, to check whether MLD traffic is mapped on all operating frequency bands of the MLD; in response to a determination that traffic is mapped on all operating frequency bands of the MLD, to migrate the MLD bitmap to operating frequency bands other than the 6 GHz frequency band; and as a result of the migration, a compact TIM is generated in the beacon of the multiple BSSID set. [8] The system according to claim 7, wherein the AP is configured to, In response to the finding that traffic is not mapped on all operating frequency bands, the MLD bitmap is removed from the beacon's TIM; and to add the remote bitmap of the MLD to a TIM of a subsequent beacon. [9] The system according to claim 1, wherein the controller is further configured to assign a third subset of the set of numbers for AID assignment to non-power saver (non-PS) client devices, wherein the third subset contains numbers close to a limit of the set. [10] The system according to 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 configuration. [11] The system according to claim 9, wherein the compact TIM has a length of 64 bits or less. [12] The system according to claim 1, wherein the set of numbers ranges from 1 to 1024. [13] The system according to claim 1, wherein the AP is configured to transmit data traffic at a rate of 10 gigabits per second (Gbps) to 40 Gbps. [14] A method (500) for assigning an association identifier (AID), comprising: Received (502), by an AP (104A-104C) comprising a plurality of virtual access points (VAPs) (118A-118C) in a multiple Basic Service Set Identifier (BSSID) set (120), an association request from a client device attempting to associate with a VAP of the plurality of VAPs, assigning a set of numbers (302A-302C) for AID assignment to client devices (114A-114C) connecting to VAPs in the multiple BSSID set, wherein the set of numbers comprises a first subset (304A-304C) of numbers for AID assignment to non-multi-link (non-ML) client devices based on a first monotonic sequence (312) and a second subset (306A-306C) of numbers for the AID assignment to ML client devices based on a second monotonic sequence (316) includes; and Determine (504), by the AP based on the mapping request, whether Multi-Link Operation (MLO) is enabled for the client device; and In response to the determination that the MLO is disabled for the client device, the AP assigns (506) a first AID from the first subset to the client device based on the first monotonic sequence. [15] The method of claim 14, further comprising: In response to the determination that the MLO is enabled for the client device, assign the client device a second AID from a partition of the second subset of the set of numbers based on the second monotonic sequence. [16] The method of claim 14, further comprising: In response to a determination that the length of a beacon in the multi-BSSID set is equal to a threshold, check if a bitmap of a multi-link device (MLD) is present in a traffic indication map (TIM) of the beacon; In response to determining that the MLD bitmap is present in the TIM, check whether MLD traffic is mapped on all operating frequency bands of the MLD; In response to the determination that traffic is mapped on all operating frequency bands of the MLD, migrating the MLD bitmap to operating frequency bands other than the 6 GHz frequency band; and as a result of migration, generating a compact TIM in the beacon of the multiple BSSID set. [17] The method of claim 14, further comprising: In response to the finding that traffic is not mapped on all operating frequency bands, the MLD bitmap is removed from the beacon's TIM; and Adding the remote bitmap of the MLD into a TIM of a subsequent beacon. [18] A method (600) for managing association identifiers (AIDs) in an access point (AP) (104A-104C), comprising: Assigning (602) a set (302A-302C) of numbers for Association Identifier (AID) assignment to client devices (114A-114C) connecting to a VAP configured in the AP; and Configuring the AP to: Assigning (604) AIDs to non-multi-link (non-ML) client devices from a first subset (304A-304C) of the set of numbers based on a first monotonic sequence (312); and Assigning (606) AIDs to ML client devices from a second subset (306A-306C) of the set of numbers based on a second monotonic sequence (316). [19] The method of claim 18, further comprising: Assigning a partition of the second subset of the set of numbers for AID assignment to client devices that are associated with VAPs belonging to a Multi-Link Device (MLD), where the MLD includes the VAP and another VAP operating in a different frequency band. [20] The method according to claim 19 further comprises: Configure the AP to share the partition of the second subset of the set of numbers for AID assignment to client devices that are associated with the other VAP belonging to the MLD.
Citation Information
Patent Citations
Multi-link group addressed traffic transmission method and apparatus
US20230071851A1