Iterative automatic frequency coordination

Through the iterative AFC process of the access point controller, the error tolerance is adjusted to solve the problem of inaccurate access point geographic coordinates and height, and achieve effective network interference management and coverage optimization.

CN116438742BActive Publication Date: 2025-09-30CISCO TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280007130.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-07-26
Filing Date
2022-07-22
Publication Date
2025-09-30
Estimated Expiration
2042-07-22

AI Technical Summary

Technical Problem

When multiple access points are deployed in an environment, it is difficult to determine the geospatial coordinates and altitude of each access point, resulting in inaccurate execution of the Automatic Frequency Coordination (AFC) process, affecting network coverage and interference management.

Method used

The error tolerance is adjusted by using an iterative AFC process through the access point controller, which uses the geospatial coordinates and altitude of an access point to perform iterative calculations, determine the appropriate error tolerance, and coordinate the AFC process of other access points in the network.

Benefits of technology

Even if the geospatial coordinates and heights of access points are not accurate, the AFC process can still be effectively coordinated to reduce network interference and improve network coverage quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116438742B_ABST
    Figure CN116438742B_ABST
Patent Text Reader

Abstract

A method includes performing a first iteration of automatic frequency coordination (AFC) using a first error tolerance and geospatial coordinates of a first access point at a venue to determine a first number of channels allowed for the first access point, and performing a second iteration of AFC using a second error tolerance and the geospatial coordinates of the first access point to determine a second number of channels allowed for the first access point. The first error tolerance is lower than the second error tolerance. The method further includes instructing the second access point at the venue to perform AFC using the second error tolerance instead of the first error tolerance in response to determining that a difference between the first number and the second number satisfies a threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments presented in this disclosure generally relate to automated frequency coordination (AFC). More specifically, the embodiments disclosed herein relate to an iterative AFC process for distributed access points that provide network coverage for an environment. Background Art

[0002] Some network implementations deploy multiple access points in an environment so that the access points provide network coverage for different parts of the environment. For example, access points may be deployed on different floors of a building or in different parts of a large auditorium or conference space. The access points may be required to perform AFC using the geospatial coordinates and altitude of the access point to determine the number of channels and power budget that the access point can use without causing too much interference to other nearby access points (e.g., other existing network deployments). However, it may be difficult to determine the geospatial coordinates and altitude of every access point in the network (e.g., access points mounted on high ceilings or out of sight). BRIEF DESCRIPTION OF THE DRAWINGS

[0003] In order that the above-recited features of the present disclosure may be understood in detail, the present disclosure, briefly summarized above, may be more particularly described by reference to embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the accompanying drawings illustrate typical embodiments and are therefore not to be considered limiting; other equally effective embodiments are also contemplated.

[0004] Figure 1A An example system is shown.

[0005] Figure 1B Shown in Figure 1A An example access point controller in a system.

[0006] Figure 2 is Figure 1A A flowchart of an example method performed in a system.

[0007] Figure 3 is Figure 1A A flowchart of an example method performed in a system.

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

[0009] Overview

[0010] According to an embodiment, a method includes performing a first iteration of automatic frequency coordination (AFC) using a first error tolerance and geospatial coordinates of a first access point at a venue to determine a first number of channels allowed for the first access point; and performing a second iteration of AFC using a second error tolerance and the geospatial coordinates of the first access point to determine a second number of channels allowed for the first access point. The first error tolerance is lower than the second error tolerance. The method further includes instructing the second access point at the venue to perform AFC using the second error tolerance instead of the first error tolerance in response to determining that a difference between the first number and the second number satisfies a threshold. Other embodiments include an apparatus for performing the method.

[0011] According to another embodiment, a method includes performing a first iteration of AFC using a first error tolerance to determine a first number of channels allowed for a first access point; and performing a second iteration of AFC using a second error tolerance to determine a second number of channels allowed for the first access point. The method also includes instructing the second access point to perform AFC using the second error tolerance instead of the first error tolerance in response to determining that a difference between the first number and the second number satisfies a threshold. Other embodiments include apparatus for performing the method.

[0012] Example Embodiments

[0013] This disclosure describes an access point controller that coordinates an AFC process for multiple access points deployed in an environment. The access point controller performs an iterative AFC process using the geospatial coordinates and altitude of one of the access points in the network (e.g., an access point near the boundary of the environment). The access point controller adjusts an error tolerance for the geospatial coordinates and / or altitude during each iteration. The access point controller analyzes the results of each iteration to determine an acceptable error tolerance. For example, the access point controller may determine how the AFC results change as the error tolerance is adjusted. If the difference between the AFC results does not exceed a threshold when the error tolerance is adjusted, the access point controller may use a larger or maximum error tolerance to perform AFC for other access points in the network. The increased error tolerance allows AFC to be performed even when the geospatial coordinates and / or altitudes of the other access points are approximate or not precisely known. In other words, the access point controller determines an error tolerance that can be used for AFC without changing the AFC results beyond the threshold.

[0014] Figure 1A An example system 100 is shown. Figure 1AAs shown, system 100 includes a device 104, one or more access points 106, an access point controller 108, and an AFC server 110. Device 104 connects to one or more access points 106 to gain access to a network. Access point controller 108 manages access points 106. Specifically, access point controller 108 coordinates an AFC process for access points 106 with AFC server 110. In certain embodiments, access point controller 108 determines an appropriate error tolerance for the AFC process so that the AFC process can be performed for access points 106 even if the geospatial coordinates and / or altitude of access points 106 are not precisely known.

[0015] User 102 uses device 104 to connect to one or more access points 106. Device 104 is any suitable device for communicating with the components of system 100. By way of example and not limitation, device 104 can be a computer, laptop, wireless or cellular phone, electronic notebook, personal digital assistant, tablet computer, or any other device capable of receiving, processing, storing information, or transmitting information with other components of system 100. Device 104 can be a wearable device such as a virtual reality or augmented reality headset, smart watch, or smart glasses. Device 104 can also include a user interface such as a display, microphone, keyboard, or other appropriate terminal device that can be used by user 102. Device 104 can include a hardware processor, memory, or circuitry configured to perform any of the functions or actions of device 104 described herein. For example, a software application designed using software code can be stored in memory and executed by a processor to perform the functions of device 104.

[0016] The access points 106 are deployed at different locations in a space or area to provide network coverage for the space or area. Each access point 106 provides network coverage for a portion of the space or area. For example, the access points 106 may be distributed on different floors of a building, where each access point 106 provides network coverage for a portion of a floor of the building. As another example, the access points 106 may be distributed in a large theater or conference space, where each access point 106 provides network coverage for a portion of the theater or conference space. The system 100 may include any suitable number of access points 106. Figure 1A As shown, system 100 includes access point 106A, access point 106B, and access point 106C. Each of access points 106 includes a processor 112 and a memory 114 configured to perform any of the functions or actions of access point 106 described herein.

[0017] The processor 112 is any electronic circuit that is communicatively coupled to the memory 114 and controls the operation of the access point 106, including, but not limited to, one or a combination of a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), and / or a state machine. The processor 112 may be 8-bit, 16-bit, 32-bit, 64-bit, or any other suitable architecture. The processor 112 may include an arithmetic logic unit (ALU) for performing arithmetic and logical operations, processor registers that provide operands to the ALU and store ALU results, and a control unit. The control unit fetches instructions from the memory and executes these instructions by directing the ALU, registers, and other components to coordinate operations. The processor 112 may include other hardware that operates software to control and process information. The processor 112 executes software stored on the memory 114 to perform any of the functions described herein. The processor 112 controls the operation and management of the access point 106 by processing information (e.g., information received from the device 104, the access point controller 108, and the memory 114). Processor 112 is not limited to a single processing device and may encompass multiple processing devices.

[0018] The memory 114 can store data, operating software, or other information for the processor 112 permanently or temporarily. The memory 114 can include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, the memory 114 can include a random access memory (RAM), a read-only memory (ROM), a magnetic storage device, an optical storage device, or any other suitable information storage device or a combination of these devices. Software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software can be embodied in the memory 114, a disk, a CD, or a flash drive. In particular embodiments, the software can include applications that can be executed by the processor 112 to perform one or more of the functions described herein.

[0019] Access point 106 may need to perform an AFC process with AFC server 110 to determine certain communication characteristics that minimize or reduce interference with existing networks and their devices. For example, as a result of the AFC process, access point 106 may be instructed regarding the number of channels and / or power budget it is permitted to use when communicating with other components of system 100. Access point 106 may then communicate according to these communication characteristics. To perform the AFC process, certain values ​​(e.g., the geospatial coordinates and altitude of access point 106) are provided to AFC server 110. However, when a network deployment includes multiple access points 106 distributed across a large space or area, it may not be possible to accurately determine the geospatial coordinates and altitude of each access point 106. Consequently, the AFC process for access point 106 may not be performed or may not be performed using accurate information, which may negatively impact the communication characteristics provided to access point 106. In some instances, an error tolerance for the geospatial coordinates or altitude is also provided to AFC server 110 to indicate the degree of uncertainty in the provided geospatial coordinates or altitude. The AFC server 110 is responsible for this error margin when determining the communication characteristics.

[0020] The access point controller 108 performs an iterative AFC process to determine a suitable error tolerance. The access point controller 108 then applies the error tolerance to the AFC process for the access point 106 in the system 100. As a result of using the error tolerance, the AFC process can be performed for the access point 106 in the system 100 even if the geospatial coordinates and / or altitude of the access point 106 are not precisely known. Figure 1A As shown, the access point controller 108 includes a processor 116 and a memory 118 that are configured to perform any of the actions or functions of the access point controller 108 described herein.

[0021] The processor 116 is any electronic circuit that is communicatively coupled to the memory 118 and controls the operation of the access point controller 108, including, but not limited to, one or a combination of a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), and / or a state machine. The processor 116 can be 8-bit, 16-bit, 32-bit, 64-bit, or any other suitable architecture. The processor 116 can include an arithmetic logic unit (ALU) for performing arithmetic and logical operations, processor registers that provide operands to the ALU and store ALU operation results, and a control unit. The control unit fetches instructions from the memory and executes these instructions by directing the ALU, registers, and other components to coordinate operations. The processor 116 can include other hardware that operates software to control and process information. The processor 116 executes software stored on the memory 118 to perform any of the functions described herein. The processor 116 controls the operation and management of the access point controller 108 by processing information (e.g., information received from the device 104, the access point 106, and the memory 118). Processor 116 is not limited to a single processing device and may encompass multiple processing devices.

[0022] The memory 118 can store data, operating software, or other information for the processor 116 permanently or temporarily. The memory 118 can include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, the memory 118 can include a random access memory (RAM), a read-only memory (ROM), a magnetic storage device, an optical storage device, or any other suitable information storage device or a combination of these devices. Software represents any appropriate set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software can be embodied in the memory 118, a disk, a CD, or a flash drive. In a particular embodiment, the software can include an application that can be executed by the processor 116 to perform one or more of the functions described herein.

[0023] The AFC server 110 performs an AFC process for the access point 106 in the system 100. The access point controller 108 provides the geospatial coordinates and / or altitude of the access point 106 to the AFC server 110. The access point controller 108 also provides an error tolerance to the AFC server 110. The AFC server 110 uses this information to determine existing networks and their devices that may be affected by the transmissions of the access point 106. The AFC server 110 then determines certain communication characteristics (e.g., number of channels and power budget) for the access point 106 that will reduce or minimize the interference caused by the access point 106 to the existing networks or their devices. The AFC server 110 transmits these communication characteristics to the access point controller 108 and / or the access point 106. In some embodiments, the access point 106 may then communicate based on these characteristics to reduce or minimize interference to the existing networks and their devices. Figure 1A As shown, the AFC server 110 includes a processor 120 and a memory 122 that are configured to perform any of the actions or functions of the AFC server 110 described herein.

[0024] The processor 120 is any electronic circuit that is communicatively coupled to the memory 122 and controls the operation of the AFC server 110. The electronic circuit includes, but is not limited to, one or a combination of a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), and / or a state machine. The processor 120 can be 8-bit, 16-bit, 32-bit, 64-bit, or any other suitable architecture. The processor 120 may include an arithmetic logic unit (ALU) for performing arithmetic and logical operations, processor registers that provide operands to the ALU and store ALU operation results, and a control unit. The control unit fetches instructions from the memory and executes these instructions by directing the ALU, registers, and other components to coordinate operations. The processor 120 may include other hardware that operates software to control and process information. The processor 120 executes software stored in the memory 122 to perform any of the functions described herein. The processor 120 controls the operation and management of the AFC server 110 by processing information (e.g., information received from the access point controller 108, the access point 106, and the memory 122). Processor 120 is not limited to a single processing device and may encompass multiple processing devices.

[0025] The memory 122 can store data, operating software, or other information for the processor 120 permanently or temporarily. The memory 122 may include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, the memory 122 may include a random access memory (RAM), a read-only memory (ROM), a magnetic storage device, an optical storage device, or any other suitable information storage device or a combination of these devices. Software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software may be embodied in the memory 122, a disk, a CD, or a flash drive. In particular embodiments, the software may include an application that can be executed by the processor 120 to perform one or more of the functions described herein.

[0026] Figure 1B 1 shows an example access point controller 108 in the system 100. Generally speaking, the access point controller 108 performs an iterative AFC process to determine a suitable error tolerance. In certain embodiments, the access point controller 108 uses the error tolerance to perform the AFC process for the access points 106 in the system 100 even when the geospatial coordinates and / or altitude of the access points 106 are not precisely known.

[0027] The access point controller 108 performs a first iteration of the AFC process for a base access point in the system 100. In some embodiments, a base access point is an access point 106 near the boundary of the network deployment in the system 100. For example, a base access point may be installed near the boundary of a building, auditorium, or conference space. Because access points 106 near the boundary of the deployment are likely to be closest to the existing network and its devices, transmissions from access points 106 near the boundary are likely to have the greatest impact on the existing network and its devices relative to other access points 106 in the system 100. Therefore, performing AFC on access points 106 near the boundary is likely to produce the most restrictive results and see the greatest change in AFC results relative to changes in error tolerance. Therefore, if a suitable error tolerance is discovered by performing AFC on access points 106 near the boundary, that error tolerance is likely to be safely used by other access points 106 in the system 100. Figure 1AIn the example of FIG. 1 , access point 106A may be a base access point. Access point controller 108 uses geospatial coordinates 124 and altitude 126 for base access point 106A to perform an AFC process. Geospatial coordinates 124 and / or altitude 126 for base access point 106A may be measured by user 102. For example, user 102 may place device 104 near base access point 106A and use an application on device 104 to determine the geospatial coordinates of device 104. User 102 may then use these geospatial coordinates as geospatial coordinates 124 for base access point 106A. As another example, user 102 may use a measuring tape to determine altitude 126 for base access point 106A. Access point controller 108 also provides an error tolerance 128A, which indicates a degree of uncertainty in geospatial coordinates 124 and / or altitude 126. User 102 may preset an initial error tolerance 128A in access point controller 108. Additionally or alternatively, the initial error margin 128A may be determined based on a previous iteration of AFC for the base access point 106A.

[0028] By performing the first iteration of the AFC process, the access point controller 108 receives a channel number 130A and a power budget 132A, which the base access point 106A can use to reduce or minimize interference with existing networks and devices in the vicinity of the base access point 106A. The channel number 130A indicates the number of communication channels that the base access point 106A is permitted to use to communicate with the device 104 and / or other access points 106. The power budget 132A indicates the maximum transmission power that the base access point 106A is permitted to use when communicating with the device 104 and / or other access points 106.

[0029] The access point controller 108 performs a second iteration of the AFC process for base access point 106A using the adjusted error tolerance 128B. The access point controller 108 again uses the geospatial coordinates 124 and altitude 126 of base access point 106A. Error tolerance 128B can be greater or less than error tolerance 128A. By performing the second iteration of the AFC process, the access point controller 108 determines whether the results of the AFC process change significantly when error tolerance 128 is adjusted higher or lower. The access point controller 108 receives the results of the second iteration of the AFC process, which include a channel number 130B and a power budget 132B. Similar to channel number 130A, channel number 130B indicates the number of communication channels that base access point 106A is permitted to use to communicate with device 104 and / or other access points 106. Similar to power budget 132A, power budget 132B indicates the maximum transmit power that base access point 106A is permitted to use to communicate with device 104 and / or other access points 106.

[0030] The access point 108 then calculates the difference 134 between the number of channels 130 and / or the power budget 132 between different iterations of the AFC process. For example, the difference 134 may be the difference in the number of channels 130 that the base access point 106A is allowed to use (e.g., the difference between the number of channels 130A and the number of channels 130B). As another example, the difference 134 may be the difference in the transmit power that the base access point 106A is allowed to use (e.g., the difference between the power budget 132A and the power budget 132B).

[0031] The access point controller 108 compares the difference 134 to a threshold 136 to determine whether the difference 134 is significant. For example, if the difference 134 exceeds the threshold 136, the access point 108 may determine that the results of the AFC process have changed significantly and that the smaller error tolerance 128 between the error tolerance 128A and the error tolerance 128B should be used for the AFC process of other access points 106 in the system 100. If the difference 134 meets or falls below the threshold 136, the access point controller 108 determines that the difference 134 is not too large and that the larger error tolerance 128 between the error tolerance 128A and the error tolerance 128B should be used for the AFC process of other access points 106 in the system 100. When performing AFC for the other access points 106, the larger error tolerance 128 will allow for a higher degree of inaccuracy in the geospatial coordinates and / or altitudes of the other access points 106, which may even allow the geospatial coordinates and / or altitudes of the other access points 106 to be approximated rather than precisely measured.

[0032] exist Figure 1B In the example shown, the access point controller 108 determines that error tolerance 128A should be used for AFC processes for other access points 106 in the system 100. For example, error tolerance 128B may already be greater than error tolerance 128A, but difference 134 may already exceed threshold 136. In response, the access point controller 108 selects a smaller error tolerance 128A. As another example, error tolerance 128B may already be less than error tolerance 128A, and difference 134 may meet or be below threshold 136. In response, the access point controller 108 selects a larger error tolerance 128A. The access point controller 108 then initiates AFC processes for other access points 106 in the system 100 using error tolerance 128A to initiate these AFC processes. Thus, when the geospatial coordinates 124 and / or altitude 126 of these access points 106 are not precisely known, the access point controller 108 determines an appropriate error tolerance 128 for the AFC processes for the other access points 106.

[0033] The access point controller 108 may perform any suitable number of iterations of the AFC process for the base access point 106A to determine a suitable error margin 128 for the system 100. Figure 1B For example, if the access point controller 108 determines that the difference 134 exceeds the threshold 136, the access point controller 108 may determine that the difference 134 is too large. In response, the access point controller 108 performs a third iteration of the AFC process using the geospatial coordinates 124 and altitude 126 of the base access point 106A and another error tolerance 128 that is less than the error tolerance 128B and greater than the error tolerance 128A. The access point controller 108 then determines another difference based on comparing the results of the first or second iteration of the AFC process with the results of the third iteration of the AFC process. The access point controller 108 then compares the new difference with the threshold 136 to determine whether the reduced error tolerance reduces the new difference below the threshold 136. For example, the new iteration of the AFC process may return a new number of channels within a new power budget. The access point controller 108 compares the new number of channels and the new power budget with the number of channels 130A and the power budget 132A to determine a new difference. The access point controller 108 then compares the new difference value to the threshold 136 to determine whether the reduced error margin reduces the new difference value below the threshold 136. If the new difference value is below the threshold 136, the access point controller 108 determines that the new error margin should be used for the AFC process of the other access points 106.

[0034] In some embodiments, the access point controller 108 determines the threshold 136 based on information about the access points 106 in the system 100. For example, the access point controller 108 may determine the threshold 136 based on an area map indicating the locations of the access points 106 in the network deployment. Based on the distance between the access points 106, the access point controller 108 determines what magnitude of change in the power budget 132 and / or the number of channels 130 will be significant for the access points 106 in the system 100. For example, if the access points 106 are deployed closer together, the access point controller 108 may determine that the threshold 136 should be larger to accommodate larger changes in the number of channels 130 and / or the power budget 132. If the area map indicates that the access points 106 are further apart, the access point controller 108 may determine a smaller threshold 136 to accommodate smaller changes in the number of channels 130 and / or the power budget 132 so as not to lose network coverage in certain areas served by the access points 106.

[0035] In some embodiments, the access point controller 108 allows the user 102 to override the decisions of the access point controller 108. For example, the access point controller 108 may allow or instruct the user 102 to manually provide an error tolerance to be used for the AFC process for a particular access point 106. If the user 102 provides an error tolerance to be used for an access point 106, the access point controller 108 uses the manually provided error tolerance when initiating the AFC process for that access point 106.

[0036] In some embodiments, the access point controller 108 also determines the transmission power to be provided in different iterations of the AFC process for the base access point 106A. The access point controller 108 first determines the standard power capability for the base access point 106A based on standard power levels approved under various regulatory domains (e.g., the United States or South Korea regulatory domain). The access point controller 108 then uses the different standard power levels specified under the different regulatory domains to determine the overlap of the transmission area of ​​the base access point 106A with the transmission areas of other access points 106 in the system 100. The access point controller 108 then determines the transmission power for the base access point 106A based on the overlap in the transmission areas. For example, the access point controller 108 can reduce the transmission power of the base access point 106A based on the number of access points 106 whose transmission areas overlap with the transmission area of ​​the base access point 106A, the bandwidth of these access points 106, and / or the power spectral density of these access points 106. The access point controller 108 may determine a lower transmit power for the base access point 106A to reduce the likelihood that the base access point 106A will interfere with other access points 106. The access point controller 108 may then increase the transmit power to initiate a different iteration of the AFC process.

[0037] In some embodiments, in addition to the error tolerance 128 determined by different iterations of the AFC process for the base access point 106, the access point controller 108 also uses the geospatial coordinates 124 and altitude 126 of the base access point 106A to initiate an AFC process for other access points 106 in the system 100. For example, the access point controller 108 may determine that another access point 106B in the system 100 is installed near the base access point 106A, such that applying the error tolerance to the geospatial coordinates 124 of the base access point 106A would encompass the location of the other access point 106B. In response, the access point controller 108 uses the error tolerance and the geospatial coordinates 124 for the base access point 106A to initiate an AFC process for the other access point 106B. In this manner, the access point controller 108 uses the geospatial coordinates 124 of the base access point 106A as a proxy for the location of the other access point 106B to initiate an AFC process for the other access point 106B.

[0038] Figure 2 is Figure 1A Flowchart of an example method 200 performed in the system 100 of FIG. In certain embodiments, the access point controller 108 performs the method 200 to determine a transmit power to use when initiating an iteration of an AFC process for the base access point 106A.

[0039] In block 202, the access point controller 108 begins by determining a standard power level 202 for the base access point 106A. The access point controller 108 may determine the standard power level based on requirements set by different governmental regulatory domains (e.g., the United States regulatory domain or the Korean regulatory domain). In block 204, the access point controller 108 uses the determined standard power level to determine transmission area overlap. For example, when using the standard power level, the access point controller 108 may determine that the transmission area of ​​the base access point 106A overlaps with the transmission area of ​​another access point 106 in the system 100. In block 206, the access point controller 108 determines the transmission power of the base access point 106A. For example, the access point controller 108 may reduce the transmission power of the base access point 106A based on the overlap of the transmission areas. If the transmission area overlap for the base access point 106A is too large, the access point controller 108 may reduce the transmission power of the base access point 106A in block 206. After determining that the transmission power of the base access point 106A does not cause too much overlap, the access point controller 108 may use the transmission power to initiate an iteration of the AFC process for the base access point 106A.

[0040] Figure 3 is Figure 1A Flowchart of an example method 300 performed in the system 100 of FIG. In certain embodiments, the access point controller 108 performs the method 300 to determine a suitable error tolerance for an AFC process of an access point 106 in the system 100.

[0041] In block 302, the access point controller 108 performs a first iteration of AFC for the base access point 106A. The access point controller 108 may initiate the first iteration of AFC using the geospatial coordinates 124 and / or altitude 126 of the base access point 106A. Additionally, the access point controller 108 may provide an initial error tolerance 128A for the first iteration of AFC. In block 304, the access point controller 108 performs a second iteration of AFC for the base access point 106A. The access point controller 108 initiates the second iteration of AFC using the geospatial coordinates 124 and / or altitude 126 of the base access point 106. The access point controller 108 also provides a second error tolerance 128B to initiate the second iteration of AFC. The second error tolerance 128B may be greater than the initial error tolerance 128A. In some embodiments, the access point controller 108 also performs two iterations of the AFC process using the transmission power of the base access point 106A, which is the transmission power of the base access point 106A. Figure 2 is determined by the method 200 described in the accompanying drawings.

[0042] The access point controller 108 receives the results of the first and second iterations of the AFC. The results of the first iteration of the AFC may indicate the number of channels 130A and the power budget 132A that the base access point 106A is permitted to use. The results of the second iteration of the AFC may indicate the number of channels 130B and the power budget 132B that the base access point 106A is permitted to use. In block 306, the access point controller 108 determines the difference 134 between the iteration results. For example, the difference 134 may be the difference in the number of channels 130 between the two sets of results (e.g., by subtracting the number of channels 130B from the number of channels 130A) and / or the difference in the power budgets 132 between the two sets of results (e.g., by subtracting the power budget 132B from the power budget 132A).

[0043] In block 308, the access point controller 108 determines whether the difference 134 exceeds the threshold 136. If the difference 134 exceeds the threshold 136, the access point controller 108 determines that the error tolerance 128B is too high. In response, the access point controller 108 reduces the error tolerance 128B, but maintains the value of the error tolerance 128A unchanged, and returns to block 304 to perform another iteration of AFC using the reduced error tolerance. Thus, the access point controller 108 may reduce the difference 134 to below the threshold 136. The access point controller 108 continues to perform iterations of the AFC process using the adjusted error tolerance until the access point controller 108 determines an appropriate error tolerance that reduces the difference 134 to below the threshold 136. If the difference 134 meets or is below the threshold 136, the access point controller 108 assigns the error tolerance 128B to the access point 106 in the system 100. When the access point controller 108 subsequently initiates an AFC process for an access point 106 in the system 100, the access point controller 108 uses the appropriate error tolerance determined in blocks 302, 304, 306, 308, and 310. Thus, the access point controller 108 initiates AFC for the other access points 106 and the system 100 even though the geospatial coordinates and / or altitudes of the other access points 106 may not be precisely known.

[0044] In summary, the access point controller 108 coordinates an AFC process for several access points 106 deployed in an environment. The access point controller 108 performs an iterative AFC process using the geospatial coordinates 124 and altitude 126 of one of the access points 106 in the network (e.g., an access point 106 near the boundary of a space or region). The access point controller 108 adjusts the error tolerance for the geospatial coordinates 124 and / or altitude 126 during each iteration. The access point controller 108 analyzes the results of each iteration to determine an acceptable error tolerance 128. For example, the access point controller 108 may determine how the AFC results change as the error tolerance 128 is adjusted. If the difference 134 between the AFC results does not exceed the threshold 128 when the error tolerance 128 is adjusted, the access point controller 108 may use a larger or maximum error tolerance 128 to perform AFC for other access points 106 in the network. The increased error tolerance 128 allows AFC to be performed even when the geospatial coordinates 124 and / or altitudes 126 of other access points 106 are approximate or not precisely known. In other words, the access point controller 108 determines an error tolerance 136 that can be used for AFC in the environment without changing the AFC results beyond the threshold 136.

[0045] In this disclosure, reference is made to various embodiments. However, the scope of this disclosure is not limited to the specific described embodiments. Rather, any combination of the described features and elements, whether or not related to different embodiments, is contemplated for 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 should be understood that embodiments comprising only element A, only element B, and both elements A and B are contemplated. In addition, although the embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether a particular advantage is achieved by a given embodiment does not limit the scope of this disclosure. Therefore, the various aspects, features, embodiments, and advantages disclosed herein are merely illustrative and, unless expressly stated in the claims, are not to be considered as elements or limitations of the appended claims. Similarly, reference to the "present invention" should not be interpreted as a summary of any inventive subject matter disclosed herein and, unless expressly stated in the claims, should not be considered as elements or limitations of the appended claims.

[0046] As will be clear to those skilled in the art, the embodiments disclosed herein may be embodied as systems, methods, or computer program products. Therefore, each embodiment may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or an embodiment in combination with software and hardware, which are collectively referred to herein as a "circuit," "module," or "system." Additionally, each embodiment may take the form of a computer program product embodied in one or more computer-readable media having a computer-readable program code embodied therein.

[0047] 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.

[0048] The computer program code for performing the operation of each embodiment of the present disclosure can be written in any combination of one or more programming languages ​​including object-oriented programming languages ​​(e.g., Java, Smalltalk, C++, etc.) and conventional procedural programming languages ​​(e.g., " C " programming language or similar programming languages). The program code can be executed completely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (e.g., by using the Internet of an Internet Service Provider).

[0049] Various aspects of the present disclosure are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products of the embodiments presented in the present disclosure. It should be understood that each box in the flowchart and / or block diagram, and the combination of the boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. It should be understood that each box in the flowchart and / or block diagram, and the combination of the boxes in the flowchart and / or block diagram, 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 device for implementing the function / action specified in the box of the flowchart and / or block diagram.

[0050] 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 implementing the functions / actions specified in the blocks of the flowchart and / or block diagram.

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

[0052] The flow charts and block diagrams in the accompanying drawings illustrate the architecture, function and operation of the possible implementation of the system, method and computer program product according to various embodiments. In this regard, each frame in the flow chart or block diagram can represent a part for a module, fragment or code, which includes one or more executable instructions for realizing (one or more) specific logical functions. It should also be noted that in some alternative implementations, the functions mentioned in the frame can appear in an order different from that mentioned in the accompanying drawings. For example, depending on the functions involved, the two frames shown in succession can actually be performed substantially simultaneously, or the frames can sometimes be performed in reverse order. It should also be noted that each frame in the block diagram and / or flow chart, and the combination of the frames in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs a specific function or action, or by a combination of dedicated hardware and computer instructions.

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

Claims

1. A method comprising: performing a first iteration of automatic frequency coordination (AFC) using a first error tolerance and geospatial coordinates of a first access point at a venue to determine a first number of channels allowed for the first access point; performing a second iteration of AFC using a second error tolerance and the geospatial coordinates of the first access point to determine a second number of channels allowed for the first access point, wherein the first error tolerance is lower than the second error tolerance; as well as In response to determining that the difference between the first number and the second number satisfies a threshold, instructing a second access point at the location to perform AFC using the second error tolerance instead of the first error tolerance.

2. The method according to claim 1, further comprising: A transmission power for the first access point is determined based on an overlap of a transmission area of ​​the first access point and a transmission area of ​​the second access point, wherein first and second iterations of the AFC are performed using the transmission power.

3. The method according to claim 1 or 2, further comprising: The second access point is instructed to perform AFC using the geospatial coordinates of the first access point.

4. The method according to any one of the preceding claims, wherein The threshold is based on one of a map of the venue or a distance between the first access point and the second access point.

5. The method according to any one of the preceding claims, wherein The first access point is closer to a boundary of the venue than the second access point.

6. The method according to any one of the preceding claims, further comprising: A third iteration of AFC is performed using a third error tolerance and the geospatial coordinates of the first access point to determine a third number of channels allowed for the first access point, wherein the third error tolerance is higher than the second error tolerance, and wherein the second iteration of AFC is performed in response to determining that a difference between the third number and the first number does not satisfy the threshold.

7. The method according to any one of the preceding claims, further comprising: The user is instructed to set an error margin when performing AFC for a third access point at the location.

8. A device comprising: Memory; as well as a hardware processor communicatively coupled to the memory, the hardware processor configured to: performing a first iteration of AFC using a first error tolerance and geospatial coordinates of a first access point at a venue to determine a first number of channels allowed for the first access point; performing a second iteration of AFC using a second error tolerance and the geospatial coordinates of the first access point to determine a second number of channels allowed for the first access point, wherein the first error tolerance is lower than the second error tolerance; as well as In response to determining that the difference between the first number and the second number satisfies a threshold, instructing a second access point at the location to perform AFC using the second error tolerance instead of the first error tolerance.

9. The device according to claim 8, wherein The hardware processor is further configured to determine a transmission power for the first access point based on an overlap of a transmission area of ​​the first access point and a transmission area of ​​the second access point, wherein the first and second iterations of the AFC are performed using the transmission power.

10. The device according to claim 8 or 9, wherein The hardware processor is further configured to instruct the second access point to perform AFC using the geospatial coordinates of the first access point.

11. The device according to any one of claims 8 to 10, wherein The threshold is based on one of a map of the venue or a distance between the first access point and the second access point.

12. The device according to any one of claims 8 to 11, wherein The first access point is closer to a boundary of the venue than the second access point.

13. The device according to any one of claims 8 to 12, wherein The hardware processor is further configured to perform a third iteration of AFC using a third error tolerance and the geospatial coordinates of the first access point to determine a third number of channels allowed for the first access point, wherein the third error tolerance is higher than the second error tolerance, and wherein the second iteration of AFC is performed in response to determining that a difference between the third number and the first number does not satisfy the threshold.

14. The device according to claim 8, wherein The hardware processor is further configured to instruct a user to set an error margin when performing AFC for a third access point at the location.

15. A method comprising: performing a first iteration of AFC using a first error margin to determine a first number of channels allowed for the first access point; performing a second iteration of AFC using a second error margin to determine a second number of channels allowed for the first access point; as well as In response to determining that the difference between the first number and the second number satisfies a threshold, instructing a second access point to perform AFC using the second error tolerance instead of the first error tolerance.

16. The method according to claim 15, wherein The first error tolerance is lower than the second error tolerance.

17. The method according to claim 15 or 16, wherein The first and second iterations of the AFC use the geospatial coordinates of the first access point.

18. The method according to claim 17, further comprising: The second access point is instructed to perform AFC using the geospatial coordinates of the first access point.

19. The method according to any one of claims 15 to 18, wherein The threshold is based on one of a map or a distance between the first access point and the second access point.

20. The method according to any one of claims 15 to 19, wherein The first access point is closer to a boundary of a venue than the second access point.

Citation Information

Patent Citations

  • Electronic devices having automatic frequency control systems and methods and computer program products for operating the same

    CN1695299A

  • Automated frequency coordination for shared spectrum wireless systems

    US20200260289A1