Management of client devices at access points
A client management module at access points redirects client devices to optimal channels or neighboring access points, addressing connectivity disruptions during state changes, ensuring uninterrupted network access.
Patent Information
- Application Number
- DE102021126871
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-02-09
- Filing Date
- 2021-10-15
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2041-10-15
AI Technical Summary
Client devices experience network connectivity interruptions when access points change their operating state due to interference or scheduled operations, leading to disturbances in tasks like video conferencing or VOIP calls.
Implement a client management module at the access point to manage client devices by determining channel quality, type, and protocol, and systematically redirecting them to alternative channels or neighboring access points before a state change occurs, using channel change advertisements and disassociation mechanisms.
Minimizes network disruptions by ensuring seamless transitions of client devices to alternative channels or access points during scheduled or unscheduled access point state changes, maintaining continuous network connectivity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
background
[0001] Access points enable client devices to connect wirelessly to a network. The access points provide a variety of wireless channels over which the client devices can transmit and / or receive network data to the network. The access points can instruct the client devices to transmit and / or receive network data on specific wireless channels of the variety of wireless channels.
[0002] US 2015 / 0 350 974 A1 describes a method, an apparatus, and a computer program product for wireless communication. In one embodiment of US 2015 / 0 350 974 A1, the apparatus may be a station. The apparatus receives a request including at least one information identifier from a first access point (AP) associated with the station. The apparatus collects the information specified by at least one information identifier from each of the plurality of APs to create a report including the AP information of the plurality of APs. The apparatus sends the report including the AP information of the plurality of APs to the first AP, which creates a neighbor report including the AP information of the plurality of APs. Short description
[0003] A computer-implemented method according to claims 1 to 8, an access point according to claims 9 to 13 and a non-transitory storage medium according to claims 14 to 18 are disclosed. Brief description of the drawings
[0004] The present disclosure will be described in detail in accordance with one or more various embodiments with reference to the following figures. The figures are for illustrative purposes only and represent merely typical or exemplary embodiments. Fig. 1 shows an example of a network architecture according to various embodiments of the present disclosure. Fig. 2 shows an example of a client management module according to various embodiments of the present disclosure. Fig. 3A illustrates an example computer component that may be configured to perform an operation to disconnect client devices from an access point in accordance with various embodiments of the present disclosure. Fig. 3B illustrates an example computing component that may be configured to perform an operation to disconnect client devices supporting a particular wireless protocol from an access point, in accordance with various embodiments of the present disclosure. Fig. 4 shows a set of machine-readable / machine-executable instructions that, when executed, cause one or more hardware processors to perform an illustrative method for managing client devices at access points in accordance with various embodiments of the present disclosure. Fig. Figure 5 shows a block diagram of an exemplary computer system in which various embodiments of the present disclosure may be implemented. The figures are not exhaustive and do not limit the present disclosure to the precise form disclosed. Detailed description
[0005] Client devices can access a network wirelessly through access points. An access point can change its operating state. For example, an access point may detect radio frequency interference on its operating wireless channel. In this case, the access point can instruct client devices connected to that particular wireless channel to connect to a different wireless channel provided by the access point or its neighbor that is not affected by the RF interference. Another example: An access point can be instructed to disable (e.g., turn off) wireless channels to conserve power or, in some cases, to reduce a network's wireless coverage (e.g., a wireless footprint). In this example, the access point can instruct client devices currently connected to the access point to connect to other neighboring access points.When an access point changes its operational state, it can generally cause interruptions or disruptions to client devices connected to the access point. Often, client devices lose network connectivity when the access point changes its operational state, disrupting network-related computing tasks currently running on the client devices. For example, a user operating a client device may be conducting a video conference, a Voice over Internet Protocol (VOIP) call, or video streaming when an access point to which the client device is connected changes its operational state. In this example, the client device may experience interrupted video images or dropped voice fragments. In more severe cases, the video conference, VOIP call, or video streaming may be interrupted entirely.When client devices attempt to reconnect to an access point after the access point has interrupted the connection, the client device may add a service set identifier provided by the access point to a "deny list," preventing the client devices from reconnecting to the access point. When an access point changes its operational state, this can cause various interruptions or disruptions to client devices connected to the access point.
[0006] A solution is described here that addresses the problems described above. Various embodiments described herein provide a systematic method for managing client devices at access points. An access point may be connected to a network. In some embodiments, the network may be the Internet. In some cases, the network may be an enterprise network. In some embodiments, the access point may provide a plurality of wireless channels over which client devices can connect and access the network. The access point may change an operational state. This operational change may be planned or unplanned. A planned operational change occurs when the access point is instructed by a network management entity to change an operational state. This may, for example,This could be the case when the network management entity determines that the access point no longer needs to be in operation and instructs it to be deactivated or turned off. An unplanned change in operation occurs when the access point itself changes an operational state. For example, this could happen if the access point detects RF interference on certain wireless channels and instructs client devices currently connected to those specific wireless channels to connect to other wireless channels provided by the access point or to connect to wireless channels of other access points. Depending on whether an operational change is planned or unplanned, the access point can be configured to execute a set of instructions that ensure that client devices connected to the access point do not experience interruption or interference when the access point changes an operational state.For example, if an access point's operational change is unplanned, the access point can send a channel change announcement to client devices connected to the access point, allowing the client devices to take action before the operational change occurs. Conversely, if an access point's operational change is planned, the access point can systematically disconnect client devices connected to the access point before the operational change takes effect. This way, client devices are not impacted when the access point implements the operational change. These and other features of the embodiments are discussed herein.
[0007] It should be noted that the terms "optimize," "optimal," and the like, as used herein, may be used to make or achieve performance as effective or perfect as possible. However, as one skilled in the art reading this document will recognize, perfection cannot always be achieved. Accordingly, these terms may also mean making or achieving performance as good or effective as possible or practical under the circumstances, or making or achieving performance better than that achievable with other settings or parameters.
[0008] Fig. 1 shows an exemplary network architecture 100 in accordance with various embodiments of the present disclosure. As in Fig. 1, in some embodiments, the network architecture 100 may include an access point 102 communicatively coupled to a network 110. The access point 102 may be coupled to the network 110 via various physically connected layers. In some embodiments, for example, the access point 102 may be connected to the network 110 via an Ethernet connection (e.g., IEEE 802.3). In other embodiments, the access point 102 may be connected to the network 110 via Wi-Fi (e.g., IEEE 802.11), Bluetooth (e.g., IEEE 802.15.1), or via a cellular connection (e.g., Long Term Evolution, 5 thGeneration cellular networks, etc.) may be connected to the network 110. Many variations are possible. In some embodiments, the network architecture 100 may further include client devices 120-124 (stations or "STAs") that can be configured to wirelessly access the network 110 via the access point 102. For example, in some embodiments, the network 110 may be the Internet, and the client devices 120-124 may be computing devices such as computers, mobile phones, tablet devices, etc. In this example, the client devices 120-124 may wirelessly access the Internet via the access point 102. In some embodiments, the network 110 may be a corporate intranet (e.g., a private network), and the client devices 120-124 may wirelessly access data files or other corporate data via the access point 102.In general, access point 102 can be considered a node of network 110, and access point 102 can be configured in a variety of operating states or modes to perform various functions for network 110. As previously mentioned, access point 102 can be configured, for example, as an access point (e.g., an access point mode) to allow client devices 120-124 to wirelessly access network 110. In some cases, access point 102 can be configured as a bridge (e.g., a bridge mode), which allows access point 102 to communicate with other access points of network 110. In some cases, access point 102 can be configured as a repeater (e.g., repeater mode) to extend the wireless range of network 110. In some cases, access point 102 can be configured as an air monitor (e.g.,Air monitoring mode) to analyze all available wireless channels, detect all unauthorized client connections to the wireless channels, and exclude the unauthorized client connections from accessing network 110. Many variations are possible.
[0009] In some embodiments, the access point 102 may include a client management module 104. The client management module 104 may be configured to perform various functions associated with the access point 102 when the access point 102 is configured as an access point. In some embodiments, the client management module 104 may be configured to manage network connections between the access point 102 and the client devices 120-124 when the access point 102 changes an operational state. The client management module 104 may ensure that the client devices 120-124 remain connected to the network 110 while the access point performs the operational change. In some embodiments, the client management module 104 may instruct the client devices 120-124 to connect to specific wireless channels provided by the access point 102.In some cases, the client management module 104 may provide instructions to the client devices 120-124 to connect to wireless channels from neighboring access points. In some embodiments, the client management module 102 may be configured to provide instructions to disconnect the client devices 120-124 based on wireless protocols associated with the client devices 120-124. For example, the client device 120 may support a particular wireless protocol (e.g., IEEE 802.11v), while the client devices 122 and 124 do not. In this example, the client management module 104 may disconnect the client device 120 differently than the client devices 122 and 124. These and other features of the client management module 104 are described with reference to FIG. Fig. 2 explained in more detail herein.
[0010] Fig. 2 shows an example of a client management module 200 in accordance with various embodiments of the present disclosure. In some embodiments, the client management module 104 may be Fig. 1 as the client management module 200. As described above with respect to Fig. 1, the client management module 200 can perform various functions in connection with an access point (e.g., the access point 102 of Fig. 1). As in Fig. 2, in some embodiments, the client management module 200 may include a channel utilization module 202, a client determination module 204, and a radio assignment module 206. Each of these modules is explained in more detail below.
[0011] In some embodiments, the channel usage module 202 may be configured to determine the usage of the wireless channels provided by an access point. The usage of a wireless channel may relate, in part, to a number of client devices connected to the wireless channel. For example, the channel usage module 202 may determine that two client devices are connected to a first wireless channel and four client devices are connected to a second wireless channel provided by an access point. In some embodiments, the channel usage module 202 may determine the usage of the wireless channels upon initial startup (e.g., upon starting or powering on) of the access point. In some cases, the channel usage module 202 may determine the usage of the wireless channels periodically or at a predetermined time frame.For example, the channel usage module 202 may determine wireless channel utilization every 10 minutes, 30 minutes, 60 minutes, etc. In some cases, the frequency at which the channel usage module 202 determines wireless channel utilization may be user-configurable. For example, the channel usage module 202 may be configured by a network management entity to determine wireless channel utilization every 5 minutes, 10 minutes, 30 minutes, etc. In some cases, the frequency at which the channel usage module 202 determines wireless channel utilization may be set to a default frequency. For example, the channel usage module 202 may be preset to determine wireless channel utilization every hour. Generally, wireless channels provided by an access point refer to operating frequencies at which client devices can communicate with the access point.For example, in some embodiments, an access point operating in the 2.4 GHz frequency range may provide 11 wireless channels. In this example, wireless channel 1 corresponds to an operating frequency range between 2413 and 2423 MHz with a center frequency of 2412 MHz. Another example is wireless channel 10, which corresponds to an operating frequency range of 2446 to 2468 MHz with a center frequency of 2457 MHz.
[0012] In some embodiments, the channel usage module 202 may determine interference associated with the wireless channels provided by the access point. Generally, the wireless channels provided by the access point may operate in the 2.4 GHz and 5 GHz radio frequency (RF) ranges. Since a number of devices, such as microwave ovens, cordless landline telephones, etc., may emit RF waves (or signals) in the 2.4 GHz range, the wireless channels provided by the access point that operate in the 2.4 GHz range may be subject to interference from these devices. For example, a client device (e.g., one of the client devices 120-124) may be connected to a wireless channel that operates in the 2.4 GHz range. In this example, if a microwave oven emits RF waves that overlap with the wireless channel, the RF waves can cause interference and disrupt the client device's connection to the access point.Similarly, wireless channels operating in the 5 GHz range may also be subject to interference from devices. For example, the operation of a radar device may cause interference on wireless channels operating in the 5 GHz range. Interference from 802.11-enabled devices operating in the 2.4 GHz and 5 GHz ranges also contributes to the overall interference. Therefore, the channel utilization module 202 may determine the channel qualities of the wireless channels based on the interference associated with the wireless channels. In some embodiments, the channel utilization module 202 may quantify interference on a wireless channel based on a noise floor associated with the wireless channel. For example, the higher the noise floor, the greater the interference.In some embodiments, the channel usage module 202 may identify wireless channels that are free or relatively free of interference based on their respective noise floors and provide this information to other modules of the client management module 200 for further evaluation.
[0013] In some embodiments, the client determination module 204 may determine types of client devices connected to wireless channels provided by an access point. The client determination module 204 may determine the type of a client device connected to a wireless channel based on a wireless protocol associated with the client device. For example, a first client device having a radio chipset supporting the IEEE 802.11ac wireless protocol is connected to a first wireless channel, and a second client device having a radio chipset supporting the IEEE 802.11n wireless protocol is connected to a second wireless channel. In this example, the client determination module 204 may identify a type of the first client device and a type of the second client device as IEEE 802.11ac and IEEE 802.11n, respectively.In some embodiments, the client determination module 204 may determine the type of a client device connected to a wireless channel based on a media access control (MAC) address of the client device. For example, a first client device has the MAC address aa:bb:cc:dd:ee:ff and a second client device has the MAC address 11:22:33:44:55:66. In this example, the client determination module 204 may identify a type of the first client device and a type of the second client device as aa:bb:cc:dd:ee:ff and 11:22:33:44:55:66, respectively. Many variations are possible.
[0014] In some embodiments, the radio assignment module 206 may be configured to assign client devices to wireless channels provided by an access point radio based on the channel qualities of the wireless channels. The radio assignment module 206 may assign a client device to a particular wireless channel provided by a radio based on interference. For example, the channel usage module 202 may provide the radio assignment module 206 with interference information associated with each wireless channel provided by the access point radios. In this example, the radio assignment module 206 may assign client devices to wireless channels that have interference below a particular interference level (e.g., a threshold) or noise floor.In some embodiments, the radio assignment module 206 may assign client devices from one access point to wireless channels provided by radios of other access points. For example, if all or some of the wireless channels provided by the radios of one access point have interference above a certain threshold or noise floor, the radio assignment module 206 may assign client devices to wireless channels provided by radios of other access points that are not affected by the interference or whose interference is below the threshold.
[0015] In some embodiments, the radio assignment module 206 may assign client devices to wireless channels based on the types of client devices. For example, the client determination module 204 may provide the radio assignment module 206 with information about the types of client devices associated with the radio channels provided by an access point. In this example, the radio assignment module 206 may assign client devices to specific wireless channels based on the types of client devices. For example, the radio assignment module 206 may assign client devices supporting the IEEE 802.11ac radio protocol to one radio channel and client devices supporting the IEEE 802.11n radio protocol to another radio channel.
[0016] When the radio assignment module 206 assigns a wireless channel to a client device, in some embodiments, the radio assignment module 206 may generate and send a channel change announcement (CSA) to the client device. The CSA includes information about a newly assigned wireless channel provided by a radio of a neighboring access point to which the client device should connect, as well as a time period within which the client device must connect to the newly assigned wireless channel. If the client device does not connect to the newly assigned wireless channel within this time period, the client device can no longer access the network through the access point, and the client device is disconnected from the access point. In some embodiments, the radio assignment module 206 may be configured to authenticate or deauthenticate client devices connected to an access point.For example, the radio assignment module 206 can be configured to allow only authenticated client devices to connect to the access point. In this example, only authenticated client devices can access the network.
[0017] In some embodiments, the radio assignment module 206 may use CSAs to encourage client devices associated with one access point to connect to another neighboring access point. For example, a CSA may be broadcast generally by an access point (e.g., beaconed) when the access point wants to redirect client devices from noisy wireless channels to other, non-noisy wireless channels to improve network performance. In this example, rather than using CSAs for this specific purpose, the radio assignment module 206 may generate and broadcast a CSA to prompt or encourage the client devices to connect to other neighboring access points so that an operational change for the access point can take effect.
[0018] Fig. 3A shows an example computer component 300 that can be configured to perform an operation for disconnecting client devices from an access point in accordance with various embodiments of the present disclosure. In some embodiments, computer component 300 can include at least one hardware processor 302 and a machine-readable storage medium 304 storing a set of machine-readable / machine-executable instructions that, when executed by hardware processor 302, cause computer component 300 to perform the operation for disconnecting client devices from an access point. The set of machine-readable / machine-executable instructions in block 306. In block 306, the access point can initiate an operational change. The operational change can be planned or unplanned.For example, if a network management entity instructs an access point to change an operational state, the operational change is a planned change. If the access point changes an operational state itself, the change is an unplanned change. A planned operational change can occur when a network management entity wants to move client devices that are on a particular wireless channel of an access point to a different wireless channel of the access point or to a wireless channel of another access point. In some cases, a planned operational change of an access point can occur when a network management entity wants to turn off the access point to conserve power (e.g., "green" access points) or to reduce a network's wireless coverage. Such a planned operational change can occur, for example, during off-hours when some access points need to be off.Another example: Access points belonging to an event venue (e.g., a stadium) can be turned off during the absence of activities (e.g., live sports) to conserve power and increase network security by restricting access. In some cases, a planned change in the operation of an access point may occur when a network management entity wants to configure the access point from an access point mode (e.g., AP mode) to an air monitoring mode (e.g., AM mode). When an access point is configured in AM mode, the access point can analyze all available wireless channels, detect any unauthorized client connections to the wireless channels, and block the unauthorized client connections from accessing the network. Many variations are possible.
[0019] An unplanned change in operation of an access point can occur when the access point changes its operating state without instructions from a network management center or on its own initiative. Such an unplanned change in operation can occur if the access point is configured for dynamic frequency selection (DFS). With DFS, an access point can move or switch client devices connected to the access point from one wireless channel to another wireless channel to improve network performance. For example, an access point's first wireless channel may be subject to interference from neighboring devices such as a microwave oven or radar. In this case, the access point can instruct the client devices on the first wireless channel to connect to another wireless channel that is not affected by the RF interference.In some cases, an access point may move or redirect client devices from one wireless channel to another that is less congested. For example, an area (such as a high-rise building or apartment building) may have multiple access points for different networks. In this example, client devices connected to the multiple access points may send and receive network data on the same wireless channel (such as the same wireless frequency), causing various interference. In this example, some of the multiple access points may instruct their client devices to move to different wireless channels to improve network performance. In some cases, an unplanned change in operation of an access point may occur in response to an event. For example, an access point may detect an unauthorized client connection to the access point.In this case, the access point can deactivate itself (e.g., turn itself off) to prevent unauthorized client connections. Many variations are possible.
[0020] Back to Fig. 3A: In block 306, the access point may determine whether a change in operation is planned or unplanned. As previously mentioned, a planned change in operation may occur when a network management entity orders a change in operation, and an unplanned change in operation may occur when the access point itself decides to make a change in operation. If the change in operation is determined to be unplanned (e.g., "NO" branch), in block 310, the access point may generate and transmit a management frame (e.g., a beacon frame) containing a Channel Change Announcement (CSA) to inform all client devices connected to the access point of the access point's intention to change its operational state (e.g., that the access point is deregistering itself from the service).The CSA contains information about a new channel number field populated with the operating channel number of a neighboring access point to which the client devices can connect, as well as a time period within which the client devices must roam to the neighboring access point. In some embodiments, the time period within which the client devices must roam to the neighboring access point can be specified by a number of consecutive management frames. In response to receiving the management frames containing the CSA, the client devices can roam, whenever appropriate, within a certain number of subsequent management frames to the neighboring access point specified in the CSA. In some embodiments, the number of subsequent management frames after which the client devices must roam to the neighboring access point is user-configurable.For example, an access point can be configured so that client devices connected to the access point must roam to a neighboring access point specified in a CSA within four consecutive management frames after receiving a management frame containing the CSA. Another example: An access point can be configured so that client devices connected to the access point must roam to a neighboring access point specified in a CSA within eight consecutive management frames after receiving a management frame containing the CSA. Many variations are possible.
[0021] At block 312, after the time period for client devices to migrate to the neighboring access point has expired, the access point may proceed with the operational change. At this point, any remaining client devices still connected to the access point that have not migrated to the neighboring access point are deauthenticated by the access point from accessing the network.
[0022] If the access point determines in block 308 that the operational change is planned (e.g., a planned shutdown of the access point to reduce power consumption), the access point may determine in block 314 whether any client devices (e.g., stations or "STAs") are connected or associated with the access point. If no client devices are connected to the access point (e.g., "NO" branch), the access point may perform the operational change in block 308 as described above. However, if the access point determines that client devices are connected to the access point (e.g., "YES" branch), the access point prevents additional client devices from connecting to the access point (e.g., "Further STA Association Disallowed") in block 316. This allows the additional client devices to seek network connections through other access points instead of scheduling the access point for the operational change.
[0023]
[0021] In block 318, after the access point has determined that client devices are connected to it, the access point identifies client devices that support a particular communication protocol (e.g., IEEE 802.11v or "802.11v") among the client devices currently connected to the access point. If some client devices are identified that support the particular communication protocol, the access point then configures these client devices separately and differently from client devices that do not support the particular communication protocol in block 320. Block 320 is described herein with reference to Fig. 3B is explained in more detail.
[0024] In block 322, the access point determines, from a list of neighboring access points stored in data storage associated with the access point (e.g., electrically erasable programmable read-only memory or EEPROM), one or more neighboring access points to which the client devices currently connected to the access point can connect. Information related to the one or more neighboring access points may be included in a CSA sent by the access point in management frames (block 324). As described above, the access point may send the CSA to the client devices as part of a management frame or a beacon frame.As mentioned above, the CSA also includes a new channel number field that is populated with an operating channel number of a neighboring access point to which the client devices can connect, as well as a time period within which the client devices must roam to the one or more neighboring access points.
[0025] In block 326, the access point waits to see if the client devices connected to the access point have connected to the one or more neighboring access points specified in the CSA within the time period. After the time period within which the client devices must change has expired, the access point determines whether the client devices are still connected to the access point. If any client devices are still connected or associated with the access point (e.g., "YES" branch), the access point can deauthenticate these client devices and prevent these client devices from accessing the network through the access point (block 328). The access point then proceeds with the operational change in block 312 as described above. If the client devices are no longer connected or associated with the access point after the time period has expired (e.g.,branch "NO"), this means that the client devices have moved to one or more neighboring access points within the time period, and the access point proceeds with the change of operation in block 312.
[0026] Fig. 3B illustrates example computing component 300 that may be configured to perform an operation to disconnect client devices supporting a particular wireless protocol from an access point, in accordance with various embodiments of the present disclosure. Fig. 3B is a sequel to Fig. 3A. In particular, Fig. 3B which is connected to Block 320 of Fig. 3A. As in Fig. 3B, in block 318, after determining that the client devices currently connected to the access point support a particular wireless protocol (e.g., IEEE 802.11v or "802.11v"), the access point generates a Basic Service Set (BSS) transition request, which is sent to those client devices in block 342. In general, a BSS transition request is a request from an access point requesting or suggesting that the client devices connected to the access point transition to a particular access point or group of preferred access points. This BSS transition request may be generated by the access point when the access point attempts to perform load balancing or, in some cases, terminate a virtual network (e.g., a BSSID) provided by the access point.In this case, in block 342, the access point generates an unsolicited BSS transition request and sends it to the client devices that support the respective wireless protocol. The unsolicited BSS transition request includes a disassociation flag indicating the access point's intention to disassociate the client devices after a certain period of time. This period of time may, in some embodiments, be measured or indicated by a number of subsequent beacon frames sent from the access point to the client devices. For example, after setting the disassociation flag in the unsolicited BSS transition request, the access point may forcibly disassociate the client devices after 10 consecutive beacon frames. In some embodiments, the time period within which the client devices must disassociate from the access point is user-configurable.For example, a network management entity can configure an access point to generate an unsolicited BSS transition request, setting a disassociation flag after 20 consecutive beacon frames. Many variations are possible.
[0027] In block 344, after the access point generates the unsolicited BSS transition requesting or suggesting that client devices transition to other access points, the access point waits for a period of time indicated by the disassociation flag (e.g., after 10 consecutive beacon frames). After this period of time, in block 346, the access point initializes a counter to execute a loop (e.g., blocks 348-354) to identify and disassociate each of the client devices still associated with the access point. In block 348, the access point determines whether any of the client devices remain associated or associated with the access point. If no client devices are connected to the access point (e.g., "NO" branch), this means that the client devices have transitioned to other access points and the access point can proceed with the operation change in block 312.If the client devices remain connected to the access point (e.g., branch "YES"), the access point generates another unsolicited BSS transition at block 350, prompting or suggesting the client devices to transition. This time, the unsolicited BSS transition request includes a list of neighboring access points to which the client devices can transition. The list of neighboring access points may, in some embodiments, be obtained from the data store associated with the access point. The access point then increments the counter at block 352 until all client devices supporting the particular wireless protocol have transitioned to other neighboring access points. This loop continues until the counter is greater than a threshold, at which point the loop terminates and the access point transitions to block 322.In some embodiments, the threshold may be a number of initial client devices that support the respective wireless protocol. In some embodiments, the threshold may be a different number.
[0028] In general, the operations performed by an access point describe the Fig. 3A and Fig. 3B, an approach in which the client devices connected to the access point are gradually encouraged to migrate to other access points before an operational change takes effect. For example, the access point first sends an unsolicited BSS transition request to the client devices, suggesting that they migrate to other access points. After the access point has waited for some time (e.g., block 344 of Fig. 3B), if the client devices are still connected to the access point, the access point sends another BSS transition request. This time, the BSS transition request contains a list of neighboring access points to which the client devices can transition. The access point then checks whether each client device has transitioned to a neighboring access point or not (e.g., blocks 346-354 of Fig. 3B). After the access point has verified whether each client device has transitioned to a neighboring access point or not, if some client devices are still connected to the access point, the access point will eventually disconnect and deauthenticate these client devices and proceed with the change of operation (e.g., blocks 322-328 of Fig. 3A). Therefore, the Fig. 3A and Fig. 3B, a systematic approach to disconnecting client devices from an access point is provided by first "gently nudging" the client devices to disconnect from the access point. If there is no response, the client devices are then "moderately nudged" to disconnect from the access point. If there is no response, the client devices are finally disconnected from the access point. This minimizes any network disruptions or disturbances that the client devices may experience during an operation change of the access point.
[0029] Fig. 4 shows a computer component 400 including one or more hardware processors 402 and machine-readable storage media 404 storing a set of machine-readable / machine-executable instructions that, when executed, cause the hardware processor(s) 402 to perform an illustrative method for managing client devices at access points in accordance with various embodiments of the present disclosure. For example, the computer component 400 may be the computer system 500 of Fig. 5. The hardware processors 402 may, for example, be the processor(s) 504 of Fig. 5 or any other processing unit described herein. The machine-readable storage media 404 may include the main memory 506, the read-only memory (ROM) 508, the memory 510 of Fig. 5 and / or any other suitable machine-readable storage medium described herein.
[0030] At block 406, the hardware processor(s) 402 may execute machine-readable / machine-executable instructions stored in the machine-readable storage media 404 to initiate an operational change of an access point. In some embodiments, the operational change may be scheduled. In other embodiments, the operational change may be unscheduled.
[0031] At block 408, the hardware processor(s) 402 may execute machine-readable / machine-executable instructions stored in the machine-readable storage media 404 to generate an announcement to be included in a network frame based on the operational change. In some embodiments, the announcement may include at least a list of neighboring access points to which client devices connected to the access point may connect, as well as a first time period within which the client devices must connect to at least one neighboring access point included in the list of neighboring access points.
[0032] At block 410, the hardware processor(s) 402 may execute machine-readable / machine-executable instructions stored in the machine-readable storage media 404 to send the network frame to the client device. In some embodiments, the network frame may be at least one of a management frame and a beacon frame.
[0033] In block 412, the hardware processor(s) 402 may execute machine-readable / machine-executable instructions stored in the machine-readable storage media 404 to disconnect client devices that remain connected to the access point after the first time period has elapsed.
[0034] Fig.5 shows a block diagram of an exemplary computer system 500 in which various embodiments of the present disclosure may be implemented. The computer system 500 may include a bus 502 or other communication mechanism for conveying information, and one or more hardware processors 504 coupled to the bus 502 for processing information. The hardware processor(s) 504 may be, for example, one or more general-purpose microprocessors. The computer system 500 may be an embodiment of an access point control module, an access point, or a similar device.
[0035] Computer system 500 may also include main memory 506, such as random access memory (RAM), a cache, and / or other dynamic storage devices connected to bus 502, for storing information and instructions to be executed by hardware processor(s) 504. Main memory 506 may also be used to store temporary variables or other intermediate information during the execution of instructions by hardware processor(s) 504. Such instructions, stored in a storage medium accessible to hardware processor(s) 504, make computer system 500 a special-purpose machine that can be customized to perform the operations specified in the instructions.
[0036] Computer system 500 may also include a read-only memory (ROM) 508 or other static storage device connected to bus 502 to store static information and instructions for hardware processor(s) 504. A storage device 510, such as a magnetic disk, an optical disk, a USB flash drive, etc., may be provided and connected to bus 502 to store information and instructions.
[0037] The computer system 500 may also include at least one network interface 512, such as a network interface controller module (NIC), a network adapter, or the like, or a combination thereof, connected to the bus 502 to connect the computer system 500 to at least one network.
[0038] In general, the terms "component," "module," "engine," "system," "database," and the like, as used herein, may refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and may be written in a programming language such as Java, C, or C++. A software component or module 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 callable by other components or by themselves, and / or may be invoked in response to detected events or interrupts.Software components configured for execution on computing devices, such as computer system 500, may be provided on a computer-readable medium, such as a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code may be stored partially or entirely in a memory of an executing computing device for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. Hardware components may consist of connected logic units, such as gates and flip-flops, and / or programmable units, such as programmable gate arrays or processors.
[0039] Computer system 500 may implement the techniques or technologies described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with computer system 500, makes or programs computer system 500 into a special-purpose machine. According to one or more embodiments, the techniques described herein are performed by computer system 500 in response to hardware processor(s) 504 executing one or more sequences of one or more instructions contained in main memory 506. Such instructions may be read into main memory 506 from another storage medium, such as storage device 510. Execution of the instruction sequences contained in main memory 506 may cause hardware processor(s) 504 to perform the process steps described herein.In alternative embodiments, hard-wired circuits may be used instead of or in combination with software instructions.
[0040] The term "non-volatile media" and similar terms as used herein refer to any media that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-volatile media may include non-volatile media and / or volatile media. Non-volatile media may include, for example, optical or magnetic hard disks, such as storage device 510. Volatile media may include dynamic memory, such as main memory 506.Common forms of non-volatile media include, for example, a floppy disk, a flexible disk, a hard disk, a solid-state drive, a magnetic tape or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with hole patterns, a RAM, a PROM and EPROM, a FLASHEPROM, NVRAM, any other memory chip or memory cartridge, and networked versions of these.
[0041] Non-transmissible media are distinct from transmission media but can be used in conjunction with them. Transmission media can participate 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 comprise bus 402. Transmission media can also take the form of acoustic or light waves, such as those generated in data communications via radio waves and infrared.
[0042] As used herein, the term "or" can be interpreted both inclusively and exclusively. Furthermore, descriptions of resources, acts, or structures in the singular should not be construed as excluding the plural. Conditional expressions such as "may," "could," "might," or "may," unless expressly stated otherwise or understood by context, are generally understood to imply that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.
[0043] Unless expressly stated otherwise, the terms and expressions used in this document, as well as their variations, are not to be interpreted as limiting but as open-ended. Adjectives such as "conventional," "traditional," "normal," "standard," "known," and terms of similar import are not to be construed as limiting the subject matter described to a particular period of time or to a subject matter available at a particular time, but should be understood to include conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future.The presence of broader words and expressions such as “one or more,” “at least,” “but not limited to,” or similar expressions in some cases should not be construed as meaning that the narrower case is intended or required in the absence of such broader expressions.
Claims
[1] A computer-implemented method for managing client devices at access points, the method comprising: initiating an operational change by an access point (102); Generating, by the access point (102), an announcement to be included in a network frame based on the operational change, the announcement including at least a list of neighboring access points to which client devices (120-124) connected to the access point (102) can connect, and a first time period within which the client devices (120-124) must connect to at least one neighboring access point included in the list of neighboring access points; Sending the network frame by the access point (102) to the client devices (120 - 124); and Disconnecting, by the access point (102), client devices (120 - 124) that remain connected to the access point (102) after the first time period has elapsed, wherein the network frame is at least one of a management frame and a beacon frame, and the first time period is based on a number of management frames sent to the client devices (120 - 124) after the network frame. [2] The computer-implemented method of claim 1, wherein the operational change is unplanned. [3] The computer-implemented method of claim 1, wherein the operational change is scheduled. [4] The computer-implemented method of claim 3 further comprising: Preventing, by the access point (102), additional client devices from connecting to the access point; and Determining, by the access point (102), wireless protocols supported by the client devices (120 - 124) connected to the access point (102). [5] The computer-implemented method of claim 4 further comprising: Determining, by the access point (102), that a subset of the client devices (120 - 124) supports a particular wireless protocol; generating, by the access point (102), a request to be sent to the subset of client devices (120-124), the request including at least one disassociation flag indicating an intention of the access point (102) to disconnect the subset of client devices (120-124) after a second period of time; Sending the request by the access point (102) to the subset of client devices (120 - 124); and Verifying, by the access point (102), that each client device of the subset of client devices (120 - 124) has disconnected from the access point (102). [6] The computer-implemented method of claim 5, wherein the particular wireless protocol is an IEEE 802.11v wireless protocol. [7] The computer-implemented method of claim 5, wherein the request is a base service set transition request. [8] The computer-implemented method of claim 1, wherein the announcement is a channel change announcement, the channel change announcement including a transmission of a new channel number field, and the new channel number field is populated with an operating channel number of a neighboring access point (102). [9] An access point (102) comprising: at least one processor (402; 504); and a memory (404) storing instructions that, when executed by the at least one processor (402; 504), cause the access point (102) to perform a method for managing client devices at access points, the method comprising: Initiating a change in operations; Generating an announcement to be included in a network frame based on the operational change, the announcement including at least a list of neighboring access points to which client devices (120-124) connected to the access point (102) may connect, and a first time period within which the client devices (120-124) must connect to at least one neighboring access point included in the list of neighboring access points; Sending the network frame to the client devices (120 - 124); and Disconnecting client devices (120-124) that remain connected to the access point (102) after the first time period, wherein the network frame is at least one of a management frame and a beacon frame, and the first time period is based on a number of management frames sent to the client devices (120-124) after the network frame. [10] The access point (102) of claim 9, wherein the change in operation is scheduled. [11] The access point (102) of claim 10, wherein the instructions, when executed, further cause the access point (102) to perform the following: Preventing additional client devices from connecting to the access point (102); and Determining wireless protocols supported by the client devices (120-124) connected to the access point (102). [12] The access point (102) of claim 11, wherein the instructions, when executed, further cause the access point (102) to perform the following: determining that a subset of the client devices (120-124) supports a particular wireless protocol; generating a request to be sent to the subset of client devices (120-124), the request including at least one disassociation flag indicating the intention of the access point (102) to disconnect the subset of client devices (120-124) after a second period of time; Sending the request to the subset of client devices; and Verify that each client device in the subset of client devices (120 - 124) has disconnected from the access point (102). [13] The access point (102) of claim 12, wherein the particular wireless protocol is an IEEE 802.11v wireless protocol. [14] A non-transitory storage medium storing instructions that, when executed by at least one processor (402; 504) of an access point (102), cause the access point (102) to perform a method for managing client devices at access points, the method comprising: Initiating a change in operations; Generating an announcement to be included in a network frame based on the operational change, the announcement including at least a list of neighboring access points to which client devices (120-124) connected to the access point (102) may connect, and a first time period within which the client devices (120-124) must connect to at least one neighboring access point included in the list of neighboring access points; Sending the network frame to the client devices (120-124); and disconnecting client devices (120-124) that remain connected to the access point (102) after the first time period has elapsed, wherein the network frame is at least one of a management frame and a beacon frame, and the first time period is based on a number of management frames sent to the client devices after the network frame. [15] The non-transitory medium of claim 14, wherein the change in operation is scheduled. [16] The non-transitory medium of claim 15, wherein the instructions, when executed, further cause the access point (102) to perform the following: Preventing additional client devices from connecting to the access point (102); and Determining wireless protocols supported by the client devices (120-124) connected to the access point (102). [17] The non-transitory medium of claim 16, wherein the instructions, when executed, further cause the access point (102) to perform the following: determining that a subset of the client devices (120-124) supports a particular wireless protocol; generating a request to be sent to the subset of client devices (120-124), the request including at least one disassociation flag indicating the intention of the access point (102) to disconnect the subset of client devices (120-124) after a second period of time; Sending the request to the subset of client devices (120 - 124); and Verify that each client device in the subset of client devices has disconnected from the access point (102). [18] The non-transitory medium of claim 14, wherein the particular wireless protocol is an IEEE 802.11v wireless protocol.
Citation Information
Patent Citations
Enhancement for BSS transition, load balancing and AP selection
US20150350974A1