Performing distributed dynamic frequency selection using a shared cache

By sharing radar caches among AP groups, the problem of selecting new channel delay in the prior art is solved, faster and more reliable channel switching is achieved, and the impact of radar events on the network is reduced.

CN114731517BActive Publication Date: 2025-08-22CISCO TECHNOLOGY INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080080131.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-27
Filing Date
2020-11-20
Publication Date
2025-08-22
Estimated Expiration
2040-11-20

AI Technical Summary

Technical Problem

After a radar event is detected, the delay of selecting a new channel in the prior art results in an increase in downtime, especially when relying on a remote WLAN controller.

Method used

The shared radar cache mechanism is adopted to share radar event information among multiple APs, and the channel status is distributedly stored and updated, thereby reducing latency and improving the efficiency of selecting new channels.

Benefits of technology

Through the shared radar cache mechanism, the delay in selecting a new channel is reduced, the possibility that AP can free up channels again due to radar events, and the system's response speed and reliability are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114731517B_ABST
    Figure CN114731517B_ABST
Patent Text Reader

Abstract

Embodiments herein describe a group of APs (115A-115D) that, when performing dynamic frequency selection (DFS), use a shared radar cache (120A) to select a new channel after vacating a current channel. The group of APs (115A-115D) can set aside memory to store state information about DFS channels in a frequency band. For example, when an AP detects a radar event (and must vacate a DFS channel), the AP updates the entry for that channel in the shared radar cache (120A). The APs can also query the cache to determine a new channel after vacating their current channel. That is, the shared radar cache can store the most recent radar events that occurred on a channel. In this way, an AP can select a new channel that has had few or no recent radar events, which reduces the likelihood that the AP will have to vacate a new channel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001]

[0014] Embodiments presented in this disclosure generally relate to selecting a new channel after detecting a dynamic frequency selection (DFS) event. Background Art

[0002] In many countries, regulatory requirements may limit the number of available 5 GHz channels or impose additional restrictions on their use because the spectrum is shared with other technologies and services. For example, in the United States and other countries, radar systems use some of the Unlicensed National Information Infrastructure (U-NII) bands. Wi-Fi networks operating in these bands are required to implement radar detection and avoidance capabilities. The IEEE 802.11h standard addresses this requirement by adding support for DFS and transmit power control (TPC) on each DFS channel.

[0003] After a radar event is detected on a DFS channel, the access point (AP) is required to vacate that channel. This means the AP must select a new channel to use when communicating with its associated client devices. In some systems, a remote wireless local area network (WLAN) controller is used to select a new channel for the AP. However, waiting for the remote WLAN controller to select a new channel adds latency, thereby increasing downtime after a radar event is detected. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] In order to understand the above-mentioned features of the present disclosure in detail, the present disclosure, briefly summarized above, may be more particularly described with reference to embodiments, some of which are illustrated in the accompanying drawings. However, it should be noted that the drawings illustrate typical embodiments and are not to be considered limiting; other equally effective embodiments are also contemplated.

[0005] Figure 1 A wireless network is shown in which a group of APs uses a shared radar buffer according to one embodiment.

[0006] Figure 2 A group of APs implementing a shared radar buffer is shown according to one embodiment.

[0007] Figure 3 is a flow chart for selecting a new channel in response to a radar event using a shared radar buffer, according to one embodiment.

[0008] Figure 4 Updating a shared radar cache according to one embodiment is shown.

[0009] Figure 5 is a flow chart for selecting a new channel using data retrieved from a shared radar buffer, according to one embodiment.

[0010] Figure 6Querying a shared radar cache according to one embodiment is shown.

[0011] Figure 7 Shown are line-of-sight (LOS) and non-LOS APs in the same group, according to one embodiment.

[0012] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements in the drawings. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION

[0013] Overview

[0014] Various aspects of the invention are set out in the independent claims, with preferred features set out in the dependent claims. Features of one aspect may be applied to any aspect alone or in combination with other aspects.

[0015] One embodiment presented in the present disclosure is a method comprising: detecting, at a first access point (AP), a first event that causes the first AP to vacate a dynamic frequency selection (DFS) channel while operating on the DFS channel; updating, in response to the first event, an entry corresponding to the DFS channel in a shared cache, wherein the shared cache is shared by a plurality of APs and is hosted in a memory of at least one of the plurality of APs; and selecting a new DFS channel at the first AP.

[0016] Another embodiment presented herein is a computing device that includes a processor and a memory storing a program executable by the processor to perform operations. While operating on a DFS channel, the device detects a first event that causes the computing device to vacate the DFS channel; in response to the first event, updates an entry corresponding to the DFS channel in a shared cache, wherein the shared cache is shared by a plurality of wireless computing devices and is hosted in a memory of at least one of the plurality of wireless computing devices; and selects a new DFS channel.

[0017] Example Embodiments

[0018] Embodiments herein describe a group of APs (e.g., a radio frequency (RF) neighborhood) that, when performing DFS, uses a shared radar cache to select a new channel after vacating the current channel. The AP group can set aside memory to store state information about DFS channels in the frequency band. For example, when an AP detects a radar event (and must vacate a DFS channel), the AP updates the entry for that channel in the shared radar cache. These APs can also query the cache to determine a new channel after vacating their current channel. In other words, the shared radar cache stores the most recent radar events that occurred on the channel. In this way, the AP can select a new channel with few or no recent radar events recorded in the cache, reducing the likelihood that the AP will have to vacate a new channel (relative to selecting a channel that experienced more recent radar events). Thus, the shared radar cache can steer the AP to a DFS channel with less radar activity, rather than selecting a random channel that may have experienced a recent radar event. Furthermore, using a shared radar cache can provide lower latency compared to relying on a WLAN controller (e.g., a cloud-based WLAN controller) to select a new channel. Furthermore, the shared radar cache helps distinguish between false alarms and real radar events.

[0019] Figure 1 A wireless network 100 is shown according to one embodiment, wherein a group of APs uses a shared radar cache. The wireless network 100 is deployed in an environment including multiple buildings 105A and 105B, where the buildings can be divided into different areas 110. For example, the building 105A has areas 110A and 110B, which can be different rooms, different floors in a multi-story building, etc.

[0020] Buildings 105A and 105B have APs 115A-L that establish wireless network 100. In one embodiment, AP 115 performs DFS by monitoring radar (or other designated frequencies) and vacating the DFS channel when a radar event is detected. In one embodiment, APs are assigned to different groups referred to herein as RF neighborhoods. Figure 1 , APs 115A-D in area 110A are assigned to a first RF neighborhood, APs 115E-G in area 110B are assigned to a second RF neighborhood, and APs 115H-L in building 105B are assigned to a third RF neighborhood.

[0021] Each RF neighborhood has its own shared radar cache 120 (or, more generally, shared cache). That is, APs 110A-D in a first RF neighborhood share radar cache 120A, APs 115E-G in a second RF neighborhood share radar cache 120B, and APs 115H-L in a third RF neighborhood share radar cache 120C. As described in more detail below, shared radar caches 120A-C provide data storage whereby APs in corresponding RF neighborhoods can share radar events on various DFS channels. That is, if AP 115A detects a radar event on its current operating channel (e.g., a DFS channel), AP 115A can update the entry corresponding to the DFS channel in shared radar cache 120A to indicate when the event occurred (and when the event expired). Thus, when AP 115 selects a new channel, AP 115 can query the shared radar cache 120 for its neighborhood to identify the channel with the fewest recent radar events. Moving to one of these channels can reduce the likelihood that the AP will experience a future radar event and therefore will have to vacate a new channel again.

[0022] In one embodiment, the shared radar cache 120A-C is a distributed cache located in the memory of some or all APs in the RF neighborhood. That is, the shared radar cache 120A may have entries in the memory of APs 115A-D (or a subset thereof). Thus, using AP-to-AP messaging, APs 115A-D may transmit updates to the shared radar cache 120A and query the cache 120A to identify recent radar activity on different DFS channels.

[0023] Figure 1 Also shown is a cloud environment 125 hosting a wireless controller 130. In this example, wireless controller 130 (e.g., a physical computing system) is not located in the same physical environment as AP 115 (e.g., in one of buildings 105A and 105B). Instead, wireless controller 130 is hosted in cloud environment 125 by hardware resources in a cloud computing environment. Traditionally, wireless controller 130 has the best overall view of wireless network 100 and decides which channel AP 115 should move to when it detects radar. While this approach significantly reduces co-channel interference in dense deployments compared to alternatives like random channel selection, extending it to a centralized, cloud-based solution (i.e., with wireless controller 130 located in cloud environment 125) not only results in significantly increased latency between radar detection and channel switching at AP 115 (due to the remoteness of the cloud's data center), but also creates spikes in traffic between the cloud and the AP for each detected radar.

[0024] exist Figure 1In this embodiment, wireless controller 130 is hosted in cloud environment 125, but the decision to select a new channel is performed locally by AP 115 using shared radar cache 120. Consequently, latency and spikes in traffic to cloud environment 125 can be reduced or eliminated. However, the use of shared radar cache 120 is not limited to deployments where wireless controller 130 is located in cloud environment 125. When controller 130 is located in or near the same physical environment as AP 115, the use of shared radar cache 120 can still provide latency advantages. Furthermore, embodiments herein can be used with wireless networks 100 that do not include any wireless (or WLAN) controller 130.

[0025] Figure 2 FIG2 shows an AP group implementing a shared radar buffer 120A according to one embodiment. Figure 2 In FIG. 2 , AP groups 115A-D form an RF neighborhood 200 that includes a shared radar buffer 120A. In this example, shared radar buffer 120A is allocated a portion of memory within each of APs 115A-D. That is, memory 210A within AP 115A includes channel information 230A, memory 210B within AP 115B includes channel information 230B, memory 215C within AP 115C includes channel information 230C, and memory 215D within AP 115D includes channel information 230D. Channel information 230A-D form shared radar buffer 120A and stores information about DFS channels. While shared radar buffer 120A is allocated a portion of each of memories 210A-D, in other embodiments, shared radar buffer 120A may be allocated a portion of a subset of memories 210A-D. For example, AP 115A may have a greater workload than other APs 115B-D, and therefore, shared radar cache 120A may use space in memories 210B-D instead of memory 210A. Furthermore, while shared radar cache 120A is shown as a distributed cache across multiple APs 115, this is not required. In one embodiment, shared radar cache 120A may be hosted by a single AP 115 in RF neighborhood 200.

[0026] In one embodiment, the shared radar cache 120A has a backup in case the AP 115 goes offline (or becomes unavailable). In this way, the portion of the cache 120A previously allocated to the offline AP can then be served by the backup AP. This increases the redundancy of the cache 120A.

[0027] AP 115A includes a processor 205, which represents any number of processing elements, each of which may include any number of processing cores. Memory 210A may include volatile memory elements, non-volatile memory elements, and combinations thereof. In this example, memory 210A includes radar detector 215, channel selector 220, hash function 225, and channel information 230A.

[0028] Radar detector 215 may be a software application, but in other embodiments may include firmware or hardware components. Radar detector 215 performs DFS to determine when a radar event exists that requires AP 115A to vacate its current channel. Radar detector 215 may use a variety of different techniques to perform DFS, which will not be described in detail herein. Regardless of the technique used, radar detector 215 monitors the channel to identify radar signals that require AP 115A to vacate its current DFS channel. Notably, radar detector 215 may experience false positives, where radar detector 215 determines that a radar event exists that requires it to vacate a channel when, in fact, no radar signal exists (e.g., a client device outputs a signal that behaves like a radar source). Recognizing that radar detector 215 may detect false positive radar events, the following embodiments may help the AP determine whether a radar event stored in shared radar buffer 120A is a real event or a false positive when selecting a new channel.

[0029] The channel selector 220 may be a software application, but may include firmware or hardware elements in other embodiments. Upon detecting a radar event on the current DFS channel, the channel selector 220 uses the channel information 230A-D in the shared radar buffer 120A to identify a new channel for the AP 115A.

[0030] In one embodiment, radar detector 215 is responsible for updating shared radar cache 120A when a radar event occurs, while channel selector 220 is responsible for querying shared radar cache 120A when AP 115A selects a new channel. In one embodiment, radar detector 215 and channel selector 220 use a hash function 225 to identify a predetermined location or entry in shared radar cache 120A corresponding to an update regarding a DFS channel. In one embodiment, hash function 225 uses the DFS channel as a key to identify a unique storage location in shared radar cache 120A. For example, hash function 225 may indicate that data regarding DFS channel 44 should be stored in the storage location of channel information 230A in AP 115A, while data regarding DFS channel 100 should be stored in the storage location of channel information 230C in AP 115C. In this way, assuming that APs 115A-D use the same hash function 225, each AP can identify where information regarding a particular DFS channel is stored in shared radar cache 120A. Of course, if the hash function 225 indicates that the memory location of the particular DFS channel is in the channel information 230A (i.e., the memory 210A of the AP 115A), the radar detector 215 and the channel selector 220 can update or query the memory location without using wireless packets or wired packets. However, if the hash function 225 indicates that the memory location is in one of the memories 210B-D of the other APs 115B-D, the AP 115A can update or query the memory location using an AP-to-AP message (a wireless message or a wired message using a wired backend).

[0031] For simplicity, only the various software and hardware elements of AP 115A are shown. APs 115B-D may have the same hardware and software elements as AP 115A. That is, APs 115B-D may have their own processors, radar detectors, channel selectors, etc.

[0032] Figure 3 is a flow chart of a method 300 for selecting a new channel in response to a radar event using a shared radar buffer, according to one embodiment.

[0033] At block 305, the wireless controller groups multiple APs into RF neighborhoods. In one embodiment, a wireless deployment may distribute APs across different buildings, office spaces, floors, and rooms on a campus. The wireless controller may use the physical location of the APs to group them into different RF neighborhoods. For example, APs on the same floor, building, or office space are assigned to the same RF neighborhood. In one embodiment, because APs can rely on AP-to-AP messaging to update and query a shared memory cache, the wireless controller can check whether APs in the same RF neighborhood are within wireless communication range of each other. The wireless controller may use automated techniques to assign each AP to an RF neighborhood (e.g., based on a received signal strength indicator (RSSI)). In another example, the wireless controller may receive input from a system administrator who provides guidance or instructions when assigning APs to RF neighborhoods.

[0034] In one embodiment, the wireless controller can use Neighbor Discovery Packets (NDPs) to identify APs that can be grouped into the same RF neighborhood. APs can transmit NDPs (and receive NDPs transmitted by neighboring APs), and the wireless controller can use these NDPs to determine which APs are in wireless communication. While it may be preferable for APs in the same RF neighborhood to communicate directly with other APs in the same RF neighborhood (either LOS or non-LOS communication), this is not required. For example, some APs may not be able to communicate directly with other APs, but this may be sufficient as long as each AP can communicate with the AP hosting the shared radar buffer. For example, assume that APs 1-3 store channel information for a shared radar buffer. As long as AP4 and AP5 can communicate with APs 1-3, then AP4 and AP5 can be in the same RF neighborhood, even if AP4 and AP5 cannot communicate directly with each other using AP-to-AP messaging. In another example, some APs may not be able to communicate directly with other APs wirelessly, but this may be sufficient as long as each AP can communicate with the AP hosting the shared radar buffer.

[0035] At block 310, a radar detector in the AP detects radar in its current DFS channel. As mentioned above, the embodiments herein are not limited to any particular technique for implementing DFS. The radar detector may implement any suitable technique compatible with the use of a shared radar cache. Furthermore, DFS detection is not limited to radar signals but may encompass any DFS event.

[0036] At block 315, the radar detector instructs the AP to vacate the DFS channel. For example, the protocol may dictate how quickly the AP must stop using the DFS channel once a radar event is detected. The AP may vacate the channel before selecting a new channel.

[0037] At block 320, the radar detector determines a timeout value for the channel. The timeout value indicates the length of time the AP waits before using the vacated channel again. For example, a timeout period of 30 minutes indicates that the AP is prohibited from using the vacated DFS channel for 30 minutes. The manner in which the radar detector generates the timeout value may vary depending on the DFS technology used and may depend on parameters imposed by the administrator.

[0038] At block 325, the radar detector identifies the location in the shared radar cache corresponding to the channel. In one embodiment, the radar detector uses a hash function to determine the location or address in the shared radar cache dedicated to the channel. However, a hash function is only one example. In another example, the wireless controller may provide an address table to APs in the same RF neighborhood, indicating the location for storing data for each DFS channel. For example, the address table may indicate a specific AP and the address range in its memory for storing information about DFS channels.

[0039] At block 330, the radar detector stores the timeout value and AP ID at the identified location. If the location is on the same AP that detected the radar, the AP simply updates its own memory (without having to transmit any wireless or wired messages to other APs in the RF neighborhood). However, if the identified location is on a different AP, the radar detector can transmit information about the radar event wirelessly or using a wired backend.

[0040] Figure 4 Figure 1 illustrates updating shared radar cache 120A according to one embodiment. As shown, radar detectors in both AP 115A and AP 115B detect radar events on their respective channels, DFS_100 and DFS_144. Furthermore, the radar detector in AP 115A has assigned a 30-minute timeout value for its events, while the radar detector in AP 115B has assigned a 60-minute timeout value for its events. That is, AP 115A will not use DFS_100 for 30 minutes, while AP 115B will not use DFS_144 for 60 minutes. These timeout values ​​can be based on radar avoidance policies or administrator-imposed restrictions.

[0041] AP 115A and AP 115B use hash function 225 to identify specific memory locations 210 in shared radar cache 120A that store information related to DFS_100 and DFS_144. In this case, hash function 225 indicates that memory 210B has an entry storing information related to DFS_100, while memory 210D has an entry storing information related to DFS_144. Since these memories 210B and 210D happen to be on different APs, AP 115A and AP 115B will use wireless or wired messaging to transfer the information to the identified memory locations. In this way, memories 210A-210D can be allocated to store information related to multiple DFS channels. Using hash function 225, AP 115 can identify corresponding storage locations in shared radar cache 120A and transmit the information to the appropriate destination AP.

[0042] In one embodiment, shared radar cache 120A stores the most recently occurred radar events. For example, if radar events are already stored for DFS_100 and DFS_144 in memories 210B and 210D, the information submitted by AP 115A and AP 115B may overwrite that information. For example, suppose AP 115C previously detected a radar event on DFS_100 that was stored in memory 210B. Later, when AP 115A detects Figure 4 After the radar event for DFS_100 shown, this information (e.g., timestamp and 30-minute timeout period) overwrites the information provided by AP 115C. In this embodiment, shared radar cache 120A stores information about the most recent radar event for each channel. If the timeout value expires before another radar event is detected on that channel, shared radar cache 120A may delete the information for that channel (e.g., clear the entry corresponding to the DFS channel from the corresponding memory 210).

[0043] Shared radar cache 120A can store information about multiple radar events for each DFS channel, rather than just the most recently reported radar event. For example, if two APs report radar events on the same DFS channel, shared radar cache 120A can store information about both events. In one embodiment, cache 120A can delete the radar event information from the corresponding DFS channel upon expiration of the radar event's timeout value.

[0044] Although Figure 4

[0046] Although not shown, AP 115A and AP 115B may also (explicitly or inherently) send an AP ID, which may be stored in an entry corresponding to a DFS channel. That is, memory 210B may include an entry with a timestamp indicating when AP 115A detected a radar event on DFS_100, with a timeout set to expire after 30 minutes. As described below, knowing which APs detected radar events on a particular channel may be useful information to another AP when it must select a new channel, for example, when the other AP is evaluating whether DFS_100 is a good candidate.

[0045] Returning to method 300, at block 335, a channel selector in the AP selects a new channel. Figure 5 This block is discussed in more detail in

[0044] Furthermore, although blocks 310-335 are described above as being performed by an AP, these blocks may be performed by other wireless computing devices rather than an AP, such as a client device or wireless router.

[0046] Figure 5 is a flow chart of a method 500 for selecting a new channel using data retrieved from a shared radar cache, according to one embodiment. The method 500 illustrates various techniques by which a channel selector in an AP can use data stored in a shared radar cache to select a new channel.

[0047] At block 505, the channel selector identifies candidate DFS channels. In one embodiment, the channel selector may select DFS candidate channels from a complete list of DFS channels in a frequency band (e.g., a 5 GHz band) using predefined criteria. In one embodiment, the channel selector may have locally stored data about one or more channels. For example, the channel selector may already know that one or more possible channels are overloaded and have contention issues. The channel selector may then exclude these channels as potential candidate DFS channels. This supplemental channel information may be learned by (or provided to) the AP using any number of different techniques. However, in another embodiment, the channel selector may select all possible channels in the frequency band as candidate channels.

[0048] At block 510, the channel selector queries the shared radar cache to identify radar events corresponding to candidate channels. Similar to storing channel updates in the shared radar cache, the channel selector may use a hash function or an address table to identify a location in the shared radar cache dedicated to the candidate channel. Figure 6 An example of querying a shared radar cache is shown.

[0049] exist Figure 6, AP 115C uses a MULTI-GET query to retrieve channel information about DFS channels DFS_52, DFS_56, and DFS_144. Using hash function 225, the channel selector in AP 115C can determine that memory 210A in AP 115A and memory 210D in AP 115D store entries 605A-C specific to these DFS channels. AP 115C can then transmit an AP-to-AP message to APs 115A and 115D to query for entries 605A-C.

[0050] In response to a MULTI-GET query, AP 115A may return radar events corresponding to DFS_52 and DFS_56. For example, in one embodiment, shared radar cache 120A may store information about only the most recently reported radar events for a DFS channel. However, in another example, shared radar cache 120A may store information for multiple radar events (assuming the timeout values ​​for those events have not expired). In one embodiment, if there are no current radar events (e.g., the timeout values ​​for all reported events have expired), cache 120A may delete the entry for the DFS channel. This indicates to the querying AP that no recent radar activity has been detected by any AP in the RF neighborhood. In other words, some entries may be empty, indicating to the querying AP that there are no recent radar events for that channel.

[0051] Returning to method 500, at block 515, the channel selector selects one of the candidate channels for further evaluation using the remaining blocks in method 500. That is, the channel selector may use the remaining blocks to evaluate each candidate channel individually.

[0052] At block 520, the channel selector determines whether a radar event has been detected on the selected candidate channel. That is, when executing the query (or queries) described at block 510, the channel selector evaluates the data returned from the shared radar cache. If the entry for the candidate channel does not have any history (or the entry is empty or has been deleted), the method proceeds to block 545 to assign a score to the selected candidate channel, indicating that there is no radar activity on that channel. Generally, a channel for which the cache does not store any radar events will have a positive score, indicating that the channel is a good candidate for a new channel.

[0053] However, assuming that at least one radar event is stored in the shared radar cache for the selected candidate channel, method 500 proceeds to block 525 where the channel selector determines whether an AP on the same channel or an overlapping channel detected the event. When the shared radar cache is queried, the returned data may indicate that multiple APs reported radar events on the selected candidate channel at approximately the same time. Additionally, APs in the RF neighborhood may receive status information about other APs from, for example, a wireless controller. For example, each AP may know the current channel on which other APs are operating, which may be discovered by the AP using a network discovery technique or protocol. If no other APs are operating on the selected candidate channel or an overlapping channel, this may indicate that all APs have left the channel due to the radar event, even though records of these radar events may not be stored in the shared radar cache (e.g., if the shared radar cache only stores recently received radar events).

[0054] In another example, an AP can use a network discovery technique or protocol to track the channel status of other APs over time. Thus, if the AP determines that other APs were previously operating in the selected candidate channel (or partially overlapping channels), but then switched to a different channel at approximately the same time as the timestamp in the shared radar cache, the AP can infer that these APs also detected the radar event. Determining that other APs detected the radar event indicates that the radar event stored in the shared radar cache was actually caused by a radar source and was not a false alarm.

[0055] At block 530, the channel selector increases the weight of the radar event to indicate that it is a credible or verified radar event. Thus, when calculating the score for the selected candidate channel at block 545, the weight of the radar event can be used to reduce the score assigned to the channel, indicating that recent radar activity was detected on the channel within the RF neighborhood.

[0056] However, returning to block 525, the channel selector can use the network discovery protocol to determine that no other APs on the same or overlapping channels have detected a radar event. For example, using state information provided by the wireless controller, the channel selector can know that another AP in the RF neighborhood is currently operating on the same channel as the selected candidate channel. From this, the channel selector can infer that this AP did not receive the same radar event as the one recorded in the shared radar cache (because the AP did not move to a different channel). For example, using state information, the channel selector on AP1 can know that AP2 is currently operating on the selected candidate channel (or a partially overlapping channel), which is the same channel on which AP3 reported the radar event stored in the shared radar cache. In other words, because the AP ID can be stored in the shared radar cache, AP1 can know, after querying the shared radar cache, that AP3 reported a radar event on the selected candidate channel, which caused AP3 to move to a different channel. However, AP1 can also know that AP2 is currently operating on the selected candidate channel, and therefore, AP2 did not detect the same radar event as AP3. This can indicate that the radar event reported by AP3 was a false alarm and not caused by an actual radar source.

[0057] In this case, the method proceeds to block 535 where the channel selector determines whether the other APs are non-LOS from the AP that detected the radar event. For APs that are within LOS of each other, it is expected that a radar source detected by one of the APs should be detected by the other AP. That is, if two APs are within LOS, there may be no environmental objects or RF conditions that would prevent one AP from detecting a radar source detected by another AP operating on the same channel (or partially overlapping channels). However, if the APs operating on the same or partially overlapping channels are not within LOS of each other, then a situation may arise where one AP detects an actual radar event while the other AP does not. This situation is as Figure 7 shown.

[0058] Figure 7 shows LOS and non-LOS APs in the same group according to one embodiment. That is, Figure 7RF neighborhood 700 is shown, including APs 705A-F. In this example, APs 705A-C operate on the same channel or partially overlapping channels, while APs 705D-F do not. Furthermore, APs 705B and 705C are within LOS 715 of each other, while AP 705A is not within LOS of either AP 705B or 705C, as shown by non-LOS paths 710A and 710B. This may be due to the physical environment within RF neighborhood 700. In one embodiment, frames transmitted by AP 705 may be heard in LOS, where APs 705 on the ceiling may hear each other, or via reflections / multipath (non-LOS). For example, AP 705A may be in a different room than APs 705B and 705C, or there may be objects positioned between AP 705A and APs 705B and 705C.

[0059] At a specific time, a nearby radar source (e.g., a weather station) transmits radar signal 720, and AP 705A, located in its propagation path, detects its radar signature. As is well known, radar pulses are short in duration, narrow in channel width, high in energy, and can be directional. Therefore, only a subset of APs 705 within neighborhood 700 within the propagation path and operating on the same frequency as signal 720 can detect the radar event. In this case, only AP 705A detects radar signal 720. For example, objects or RF conditions between AP 705A and APs 705B and 705C may place these APs in a non-LOS relationship, preventing APs 705B and 705C from detecting radar signal 720. Therefore, even though APs 705A-C operate on the same channel, the fact that AP 705A detects a radar event while APs 705B and 705C do not does not indicate that the radar event was a false alarm.

[0060] In one embodiment, current or future IEEE 802.11 protocols may provide techniques for the AP 705 to determine whether it is within or outside the LOS of a neighboring AP. The channel selector may then use this information to determine whether to increase or decrease the weight of a detected radar event stored in the shared radar buffer.

[0061] Returning to block 525 of method 500, if the other APs are not LOS with the AP that detected the radar event, the method proceeds to block 530 to increase the weight of the radar event. Doing so indicates that the channel selector has determined that the radar event is likely an actual radar event. Conversely, if one of the other APs is LOS with the AP that detected the radar event, the method proceeds to block 540, where the channel selector decreases the weight of the radar event. That is, because the AP is LOS (and operating on the same channel or a partially overlapping channel), it is more likely that the other APs should have detected the radar event but did not, indicating that the radar event is more likely a false alarm. The channel selector can decrease the weight associated with the radar event.

[0062] At block 545, the channel selector assigns a score to the selected candidate channel using the weight determined at block 530 or block 540 (assuming the selected candidate channel has a radar event stored in the shared radar cache). For example, if the weight of the radar event increases at block 530, the channel selector may lower the score of the candidate channel to indicate that the AP is more likely to detect radar on that channel. In other words, a lower score means that the channel selector is less likely to select that channel because the AP is more likely to experience a radar event (and must repeat method 300 to select a new channel again). Conversely, if the weight of the radar event decreases at block 540, the channel selector may increase the score of the candidate channel to indicate that the AP is less likely to detect radar on that channel. In this way, the weight of the radar event can affect the scores of channels and whether they are more (or less) attractive options.

[0063] The weight of the radar event (and the score of the channel) can also be set based on factors other than those discussed in blocks 525 and 535. For example, the weight can be adjusted based on the time when the last radar event was detected. In this example, the channel selector can evaluate the timestamp or remaining time of the timeout value stored in the shared radar cache to adjust the weight of the radar event. In addition, the AP can store a history of radar events for each channel, which can be used to adjust the weight. Although a channel may not currently have any radar events stored in the shared radar cache, the history of the channel (which can be stored in the local AP or in a separate location in the shared radar cache) can indicate a large number of radars on the channel, which can reduce its score.

[0064] If there are more candidate channels that have not yet been scored, the method 500 then repeats at block 550. However, assuming that the candidate channels identified at block 505 have all been scored, the method proceeds to block 555 where the channel selector uses the scores to select a new channel. For example, the channel selector may select the candidate channel with the highest score. If there is a tie, the channel selector may use any number of suitable tie-breaking criteria, such as the radar history of the channel, the utilization of the channel (e.g., the number of other APs already using the channel), the bandwidth of the channel, etc.

[0065] In summary, embodiments herein describe a group of APs that, when performing dynamic frequency selection (DFS), use a shared radar cache to select a new channel after vacating the current channel. The group of APs can set aside memory to store state information about DFS channels in a frequency band. For example, when an AP detects a radar event (and must vacate a DFS channel), the AP updates the entry for that channel in the shared radar cache. The APs can also query the cache to determine a new channel after vacating their current channel. That is, the shared radar cache can store the most recent radar events that occurred on the channel. In this way, the APs can select a new channel that has had few or no recent radar events, which reduces the likelihood that the AP will have to vacate a new channel.

[0066] In the present disclosure, reference is made to various embodiments. However, the scope of the present disclosure is not limited to the specifically described embodiments. On the contrary, any combination of the described features and elements, whether or not relating to different embodiments, is contemplated as implementing and practicing the contemplated embodiments. In addition, when the elements of an embodiment are described in the form of "at least one of A and B", it will be understood that embodiments comprising only element A, only element B, and both elements A and B are contemplated. In addition, although some embodiments disclosed herein may achieve advantages over other possible solutions or prior art, whether a given embodiment achieves a particular advantage does not limit the scope of the present disclosure. Therefore, the aspects, features, embodiments, and advantages disclosed herein are merely illustrative and are not considered to be elements of the claims or limitations on the claims unless expressly stated in the claims. Similarly, reference to "the present invention" should not be interpreted as a summary of any inventive subject matter disclosed herein and is not considered to be an element of the claims or limitations on the claims unless expressly stated in the claims.

[0067] As will be appreciated by those skilled in the art, the embodiments disclosed herein may be implemented as systems, methods, or computer program products. Thus, the embodiments may take the form of complete hardware embodiments, complete software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, which may all be collectively referred to herein as "circuits," "modules," or "systems." Furthermore, the embodiments may take the form of computer program products implemented in one or more computer-readable media having computer-readable program code implemented thereon.

[0068] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0069] The computer program code for implementing the operations of the disclosed embodiments can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, Smalltalk, C++ and conventional procedural programming languages ​​such as the "C" programming language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, partially on the user's computer as a separate software package and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0070] Various aspects of the present disclosure are described herein with reference to the flow charts and / or block diagrams of the methods, devices (systems) and computer program products of the embodiments presented in the present disclosure. It will be understood that each frame of the flow charts and / or block diagrams and the combination of frames in the flow charts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that the instructions executed by the processor of the computer or other programmable data processing device create a tool for implementing the function / action specified in the frame of the flow charts and / or block diagrams.

[0071] These computer program instructions may also be stored in a computer-readable medium that can direct a computer, other programmable data processing apparatus, or other device to operate in a specific manner so that the instructions stored in the computer-readable medium produce an article of manufacture including instructions for executing the functions / actions specified in the blocks of the flowchart and / or block diagram.

[0072] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other devices to produce a computer-implemented process, such that the instructions executed on the computer, other programmable data processing apparatus, or other devices provide a process for implementing the functions / actions specified in the blocks of the flowchart and / or block diagram.

[0073] The flow charts and block diagrams in the figure illustrate the architecture, functions and operations of possible implementations of the system, method and computer program product according to various embodiments. In this regard, each box in the flow chart or block diagram can represent a module, a code segment or a code portion, and each box includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative embodiments, the functions marked in the box may not appear in the order marked in the figure. For example, the two boxes shown in succession can actually be performed substantially simultaneously, or these boxes can sometimes be performed in the opposite order, depending on the functions involved. It will also be noted that each box in the block diagram and / or flow chart and the combination of the boxes in the block diagram and / or flow chart can be implemented by a system based on dedicated hardware that performs a specified function or action or a combination of dedicated hardware and computer instructions.

[0074] In view of the foregoing, the scope of the present disclosure is determined by the following claims.

Claims

1. A method for communication, comprising: detecting, at a first access point (AP), a first event that causes the first AP to vacate a dynamic frequency selection (DFS) channel while operating on the DFS channel; updating an entry corresponding to the DFS channel in a shared cache in response to the first event, wherein the shared cache is shared by a plurality of APs and hosted in a memory of at least one of the plurality of APs, wherein the shared cache is distributed across memories in a plurality of the plurality of APs, and wherein the memories store entries of the shared cache corresponding to different DFS channels; and Selecting, at the first AP, the new DFS channel based on information associated with the new DFS channel stored in the shared cache, wherein selecting, at the first AP, the new DFS channel comprises: Identify candidate DFS channels; querying a memory storing the shared buffer using a plurality of messages to identify radar events corresponding to the candidate DFS channel; when it is determined in response to querying the shared cache that a second AP of the plurality of APs has detected a radar event on a first candidate channel, determining whether another one of the plurality of APs operating on at least one of the first candidate channel or an overlapping channel has also detected the radar event; When it is determined that other APs operating on at least one of the first candidate channel or the overlapping channel have not detected the radar event, determining whether the second AP is non-line-of-sight (non-LOS) from the other APs operating on at least one of the first candidate channel or the overlapping channel; and When it is determined that the second AP is non-LOS with the other APs operating on at least one of the first candidate channel or the overlapping channel, indicating in the score corresponding to the first candidate channel that the radar event is likely not a false alarm.

2. The method according to claim 1, wherein Updating the entry corresponding to the DFS channel includes: determining which of the memories contains an entry corresponding to the DFS channel; and A message is transmitted to a second AP of the plurality of APs, the second AP including a memory having an entry corresponding to the DFS channel.

3. The method according to claim 2, wherein: Determining which of the memories contains the entry corresponding to the DFS channel is performed using a hash function.

4. The method according to claim 2 or 3, wherein: The message includes an ID of the first AP and a timeout value corresponding to the first event, both of which are stored at an entry corresponding to the DFS channel, wherein the timeout value indicates how long the first AP is prohibited from using the DFS channel.

5. The method according to claim 1, wherein Querying and storing the shared cache memory includes: A hash function is used to identify a location in the memory corresponding to the candidate DFS channel.

6. A non-transitory computer-readable medium having program instructions embodied thereon, the program instructions being executable by a processor to perform operations comprising: detecting, at a first AP, a first event that causes the first AP to vacate a DFS channel while operating on the DFS channel; updating an entry corresponding to the DFS channel in a shared cache in response to the first event, wherein the shared cache is shared by a plurality of APs and hosted in a memory of at least one of the plurality of APs, wherein the shared cache is distributed across memories in a plurality of the plurality of APs, and wherein the memories store entries of the shared cache corresponding to different DFS channels; and Selecting, at the first AP, the new DFS channel based on information associated with the new DFS channel stored in the shared cache, wherein selecting, at the first AP, the new DFS channel comprises: Identify candidate DFS channels; querying a memory storing the shared buffer using a plurality of messages to identify radar events corresponding to the candidate DFS channel; when it is determined in response to querying the shared cache that a second AP of the plurality of APs has detected a radar event on a first candidate channel, determining whether another one of the plurality of APs operating on at least one of the first candidate channel or an overlapping channel has also detected the radar event; When it is determined that other APs operating on at least one of the first candidate channel or the overlapping channel have not detected the radar event, determining whether the second AP is non-line-of-sight (non-LOS) from the other APs operating on at least one of the first candidate channel or the overlapping channel; and When it is determined that the second AP is non-LOS with the other APs operating on at least one of the first candidate channel or the overlapping channel, indicating in the score corresponding to the first candidate channel that the radar event is likely not a false alarm.

7. The computer-readable medium of claim 6, wherein: Updating the entry corresponding to the DFS channel includes: determining which of the memories contains an entry corresponding to the DFS channel; and A message is transmitted to a second AP of the plurality of APs, the second AP including a memory having an entry corresponding to the DFS channel.

8. The computer-readable medium of claim 7, wherein: The message includes an ID of the first AP and a timeout value corresponding to the first event, both of which are stored at an entry corresponding to the DFS channel, wherein the timeout value indicates how long the first AP is prohibited from using the DFS channel.

9. The computer-readable medium of claim 6, wherein: Querying and storing the shared cache memory includes: A hash function is used to identify a location in the memory corresponding to the candidate DFS channel.

10. A computing device comprising: processor; as well as a memory storing a program executable by the processor to perform operations comprising: while operating on a DFS channel, detecting a first event that causes the computing device to vacate the DFS channel; updating an entry corresponding to the DFS channel in a shared cache in response to the first event, wherein the shared cache is shared by a plurality of wireless computing devices and is hosted in a memory of at least one of the plurality of wireless computing devices, wherein the shared cache is distributed across memories in a plurality of the plurality of wireless computing devices, and wherein the memories store entries of the shared cache corresponding to different DFS channels; and Selecting the new DFS channel based on information associated with the new DFS channel stored in the shared cache, wherein selecting the new DFS channel comprises: Identify candidate DFS channels; querying a memory storing the shared buffer using a plurality of messages to identify radar events corresponding to the candidate DFS channel; when it is determined, in response to querying the shared cache, that a second computing device of the plurality of wireless computing devices has detected a radar event on a first candidate channel, determining whether another one of the plurality of wireless computing devices operating on at least one of the first candidate channel or an overlapping channel has also detected the radar event; determining whether the second computing device is non-line-of-sight (non-LOS) from the other wireless computing devices operating on at least one of the first candidate channel or the overlapping channel when it is determined that the radar event is not detected by the other wireless computing devices operating on at least one of the first candidate channel or the overlapping channel; and When it is determined that the second computing device is non-LOS with the other wireless computing devices operating on at least one of the first candidate channel or the overlapping channel, indicating in the score corresponding to the first candidate channel that the radar event is likely not a false alarm.

11. The computing device of claim 10, wherein: Updating the entry corresponding to the DFS channel includes: determining which of the memories contains an entry corresponding to the DFS channel; and A message is transmitted to a second computing device of the plurality of wireless computing devices, the second computing device comprising a memory having an entry corresponding to the DFS channel.

12. The computing device of claim 11, wherein: The message includes an ID of the computing device and a timeout value corresponding to the first event, both of which are stored at an entry corresponding to the DFS channel, wherein the timeout value indicates how long the computing device is prohibited from using the DFS channel.

13. An apparatus for communication, comprising: a detection module for detecting, at a first access point (AP), a first event that causes the first AP to vacate a dynamic frequency selection (DFS) channel while operating on the DFS channel; an updating module for updating, in response to the first event, an entry in a shared cache corresponding to the DFS channel, wherein the shared cache is shared by a plurality of APs and is hosted in a memory of at least one of the plurality of APs, wherein the shared cache is distributed across memories in a plurality of the plurality of APs, and wherein the memories store entries of the shared cache corresponding to different DFS channels; and a selection module, configured to select, at the first AP, the new DFS channel based on information associated with the new DFS channel stored in the shared cache, wherein the selection module configured to select the new DFS channel comprises: A module for identifying candidate DFS channels; means for querying a memory storing the shared buffer using a plurality of messages to identify a radar event corresponding to the candidate DFS channel; means for determining whether another one of the plurality of APs operating on at least one of the first candidate channel or an overlapping channel also detected the radar event when a second one of the plurality of APs detected the radar event on the first candidate channel in response to querying the shared cache; means for determining whether the second AP is non-line-of-sight (non-LOS) with the other APs operating on at least one of the first candidate channel or the overlapping channel when it is determined that the other APs operating on at least one of the first candidate channel or the overlapping channel have not detected the radar event; and Means for indicating in a score corresponding to the first candidate channel that the radar event is likely not a false alarm when it is determined that the second AP is non-LOS with the other APs operating on at least one of the first candidate channel or the overlapping channel.

14. The apparatus according to claim 13, further comprising means for implementing the method according to any one of claims 2 to 5.

15. A computer program product comprising instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Cloud DFS super master detector location systems and methods

    US20170150368A1