Network system and method for allocating radio resources to multiple access points

Through the collaborative optimization of distributed cache systems and multi-role APs, the problems of resource limitations of centralized RRM systems and suboptimal overall networks of distributed RRM systems are solved, and efficient allocation and performance improvement of wireless network resources are achieved.

CN115280823BActive Publication Date: 2025-08-05CISCO TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180019876.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-10
Filing Date
2021-03-10
Publication Date
2025-08-05
Estimated Expiration
2041-03-10

AI Technical Summary

Technical Problem

Centralized RRM systems cannot optimize the entire wireless network when processor resources are limited, resulting in suboptimal performance, while distributed RRM systems can independently optimize each AP to generate suboptimal overall wireless network.

Method used

Using a distributed cache system, telemetry data is measured through multiple APs and stored in the distributed cache. The controller AP is selected to allocate different roles based on the telemetry data to optimize the AP resource configuration, including controller AP, ranking AP, resource manager AP and calculator AP, and jointly optimize wireless network resource allocation.

Benefits of technology

The resource allocation efficiency and overall performance of wireless networks are improved, and the processor resources of each AP are optimized through load sharing and collaborative optimization, which improves the overall performance of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115280823B_ABST
    Figure CN115280823B_ABST
Patent Text Reader

Abstract

A network system includes multiple access points (APs) and a distributed cache. The distributed cache is formed using memory in the multiple APs. The multiple APs are configured to measure telemetry data and store the telemetry data in the distributed cache. One of the multiple APs is designated as a controller AP. The controller AP is configured to assign some of the multiple APs to different roles based on the telemetry data stored in the distributed cache, analyze the multiple APs, and update resource configurations of the multiple APs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments presented in this disclosure generally relate to configuring access points in a network. More specifically, the embodiments disclosed herein describe configuring operating parameters for access points using a decentralized system. Background Art

[0002] A radio resource management (RRM) system optimizes the operating parameters of access points (APs) and the corresponding wireless network. In many cases, the RRM system collects telemetry data from each AP managed by the RRM system. The RRM system uses this telemetry data to optimize the operating parameters of the APs managed by the RRM system. For example, the RRM system can change the AP's channel, channel bandwidth, and / or transmit power to reduce interference between APs.

[0003] RRM systems can be centralized or decentralized. In the case of a centralized RRM system, it optimizes the operating parameters of each AP managed by the RRM system to improve the performance of the entire corresponding wireless network. However, centralized RRM systems are processor-constrained. This means that when the processor or processors performing RRM functions have limited resources, AP optimization across the entire wireless network cannot be performed. As a result, the wireless network will operate suboptimally.

[0004] In the case where the RRM system is a distributed system, the RRM system optimizes each AP individually without considering the entire wireless network. However, optimizing each AP individually often results in a suboptimal overall wireless network. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0006] Figure 1 Multiple access points (APs) and distributed caches are shown in accordance with one or more embodiments.

[0007] Figure 2 A wireless network system is shown in accordance with one or more embodiments.

[0008] Figure 3 A distributed cache is shown in accordance with one or more embodiments.

[0009] Figure 4 Various AP roles in a decentralized system are shown in accordance with one or more embodiments.

[0010] Figure 5 is a flow chart of a method for optimizing operating parameters of an AP according to one or more embodiments.

[0011] Figure 6 is a flow chart for determining operating parameters of an AP according to one or more embodiments.

[0012] 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

[0013] Overview

[0014] One embodiment presented in the present disclosure includes a network system comprising multiple access points (APs) and a distributed cache. The distributed cache is formed using memory in the multiple APs. The multiple APs are configured to measure telemetry data and store the telemetry data in the distributed cache. One of the multiple APs is designated as a controller AP, which is configured to assign some of the multiple APs to different roles based on the telemetry data stored in the distributed cache, analyze the multiple APs, and update resource configurations of the multiple APs.

[0015] One embodiment presented in this disclosure includes a method for allocating radio resources to multiple APs. The method includes storing telemetry data measured by each of the multiple APs in a distributed cache. The distributed cache is formed using memory within each of the multiple APs. The method also includes selecting, using the multiple APs, one of the multiple APs as a controller AP. Furthermore, the method includes assigning some of the multiple APs to different roles based on the telemetry data stored in the distributed cache, thereby analyzing the multiple APs and updating resource configurations of the multiple APs.

[0016] One embodiment presented in the present disclosure includes an AP configured to measure telemetry data and store the telemetry data in a distributed cache formed using memories in a plurality of APs, and select a first AP among the plurality of APs as a controller AP. The controller AP is configured to assign some of the plurality of APs to different roles based on the telemetry data stored in the distributed cache, analyze the plurality of APs, and update resource configurations of the plurality of APs.

[0017] Example Embodiments

[0018] A distributed Radio Resource Management (RRM) system can be used to optimize the operating parameters of multiple access points (APs) within a wireless network. For example, different RRM functions can be assigned to different APs to determine the radio resource requirements of each AP and optimize the AP's operating parameters based on the radio resource requirements to optimize the performance of the entire corresponding wireless network. The AP stores telemetry data in a distributed cache formed by the AP's memory. Distributing the RRM system across the APs shares the processing load for determining the optimized operating parameters across the different processors of the APs, thereby improving the efficiency of determining and distributing the optimized operating parameters.

[0019] Figure 1 A network system 100 according to one or more embodiments is shown. The network system 100 includes a plurality of access points 110 and a distributed cache 120. In various embodiments, the APs 110 of the network system 100 provide access to a wireless local area network (WLAN). For example, each of the APs 110 is an access device that includes one or more radios and an interface between a communication medium (e.g., a WLAN controller) and a wireless client device (e.g., a station).

[0020] Each AP 110 includes a memory 111 and a processor 112. For example, AP 110a includes a memory 111a and a processor 112a, AP 110b includes a memory 111b and a processor 112b, and AP 110c includes a memory 111c and a processor 112c. Furthermore, AP 110d includes a memory 111d and a processor 112d, AP 110e includes a memory 111e and a processor 112e, and AP 110f includes a memory 111f and a processor 112f. The capabilities of each processor 112 may be identical. For example, each processor 112 may have the same processing capabilities (e.g., processor speed, number of processing cores, etc.). Alternatively, one or more processors 112 may have different processing capabilities than another one or more processors 112. For example, one or more processors 112 may have higher processing capabilities than another one or more processors 112. Furthermore, each memory 111 may be identical. Alternatively, one or more memories 111 may be different from another one or more memories 111. For example, one or more memories 111 may be larger in size than another one or more memories 111 .

[0021] Distributed cache 120 is formed by the memory 111 of AP 110. For example, a portion of each memory 111 can be used to form distributed cache 120. The portion of each memory 111 used to form distributed cache 120 can be the same or different in size. That is, 5% of the capacity of memory 111a can be dedicated to distributed cache 120, while only 2% of the capacity of memory 111b can be dedicated to distributed cache 120. Furthermore, distributed cache 120 is accessible by each AP 110. For example, AP 110 can transfer data to distributed cache 120 for storage and read data from distributed cache 120. AP 110 transfers telemetry data to distributed cache 120 and accesses telemetry data from distributed cache 120. Telemetry data may include one or more of the following: interference information, neighbor device information, load information, radio information, client statistics, radio statistics, capacity, client type, traffic volume, traffic type, platform capabilities, memory capabilities, processor capabilities, etc. AP 110 may periodically acquire and update telemetry data at a preset period. Furthermore, AP 110 may periodically transmit telemetry data to distributed cache 120 at a preset period. In one or more embodiments, one or more APs 110 may instruct other APs 110 to acquire corresponding telemetry data and transmit the telemetry data to distributed cache 120. In one embodiment, AP 110 may access distributed cache 120 in parallel or serially.

[0022] refer to Figure 2 Each AP 110 is connected to a network controller 210. The network controller 210 may include one or more processors and a memory. The memory includes instructions executable by the one or more processors to cause the one or more processors to control the AP 110. For example, the network controller 210 controls the operating parameters of the AP 110. Controlling the operating parameters of the AP 110 may include allocating one or more of a channel, channel bandwidth, and transmission power to each AP 110.

[0023] In one or more embodiments, the network controller 210 instructs the AP 110 to acquire the telemetry data. In addition, the network controller 210 instructs the AP 110 to transmit the telemetry data to the distributed cache 120.

[0024] In various embodiments, network controller 210 is connected to cloud computing system 220 . Cloud computing system 220 includes one or more controllers 222 .

[0025] The cloud computing system 220 may instruct the network controller 210 to control the APs 110. For example, the cloud computing system 220 may instruct the network controller 210 to assign operating parameters to each AP 110. In addition, the cloud computing system 220 may instruct the network controller 210 to instruct one or more APs 110 to obtain telemetry data. In one or more embodiments, the cloud computing system 220 may include an RRM component 224 configured to control the operating parameters of the APs 110. In such embodiments, the cloud computing system 220 monitors the processor load of the RRM component 224 and may instruct the APs 110 to initiate operations such as regarding Figure 5 The cloud computing system 220 may also distribute one or more RRM functions as described in method 500. For example, the cloud computing system 220 may detect that the processor load of the RRM component 224 is high, preventing the RRM component 224 from distributing operating parameters to the AP 110 to optimize the performance of the corresponding WLAN. Therefore, the cloud computing system 220 may instruct the AP 110 to distribute one or more RRM functions among multiple APs 110. Furthermore, the cloud computing system 220 may instruct the AP 110 to form a distributed cache 120 and store telemetry data in the distributed cache 120.

[0026] Figure 3 FIG1 shows a block diagram of a distributed cache 120 according to one or more embodiments. The distributed cache 120 provides a memory space accessible by each AP 110 so that telemetry data of one AP (e.g., AP 110a) can be accessed by another AP (e.g., AP 110b). Figure 4-6 In more detail, each AP 110 is able to access data stored within the distributed cache 120 and utilize the distributed cache 120 to store processed data, allowing RRM functions to be decentralized and distributed to different APs 110. The distributed cache 120 includes telemetry data 310, resource quality data 312, resource allocation data 314, AP ranking data 316, AP capacity data 318, and AP platform data 320. Telemetry data 310 includes telemetry data for each AP 110. Resource quality data 312 includes data corresponding to the quality of radio resources for each AP 110. Resource allocation data 314 includes data corresponding to resource (e.g., channel, transmit power, etc.) allocations for each AP 110. AP ranking data 316 includes data corresponding to a demand assessment for each AP 110 and an indication of the contribution of each AP 110 to the throughput and quality of the corresponding wireless network. AP capacity data 318 corresponds to the total number of client connections supported, memory capacity, processor capacity, and / or client traffic volume for each AP 110. The AP platform data 320 corresponds to the amount of available processor power and the amount of available memory power.

[0027] In various embodiments, APs 110 may be assigned different roles in the distributed system with different tasks to allocate resources of APs 110. For example, the first AP among APs 110 may be designated as controller AP 410. In one embodiment, the AP among APs 110 with the highest Media Access Control (MAC) address is selected as controller AP 410. Controller AP 410 may be automatically selected by AP 110 based on the MAC address. Alternatively, the AP among APs 110 with the highest available processor power and / or the highest available memory capacity may be selected as controller AP 410. In one embodiment, network controller 210 selects one of APs 110 to serve as controller AP 410. In another embodiment, cloud computing system 220 selects one of APs 110 to serve as controller AP 410. Controller AP 410 assigns different roles to available APs based on different factors of the AP. For example, controller AP 410 may assign different roles to available APs based on each available AP's available processing and memory capacity. Available APs include APs that are not assigned another role. The additional available processing capacity and available memory capacity correspond to processing capacity and memory capacity that are not used to complete other tasks.

[0028] One of the available APs 110 is selected as the ranker AP 420. The ranker AP 420 may be selected from the APs 110 based on the available processor power and / or memory capacity of the available APs 110. In one embodiment, the controller AP 410 analyzes the telemetry data 310 to determine the available processor power and / or memory capacity of the available APs and selects an AP as the ranker AP 420 based on the available processor power and / or memory capacity of the available APs 110. The available processor power and memory capacity correspond to processor and / or memory capacity that is not currently used for other tasks. In one embodiment, the network controller 210 selects the ranker AP 420 from the available APs 110 based on the available processor power and / or memory capacity of the APs 110. Alternatively, the cloud computing system 220 selects the ranker AP 420 from the available APs 110 based on the available processor power and / or memory capacity of the APs 110.

[0029] One of the available APs 110 is selected as the resource manager AP 430. The resource manager AP 430 may be selected from the available APs 110 based on the available processor power and / or memory power of the AP 110. In one or more embodiments, the controller AP 410 analyzes the telemetry data 310 and selects the resource manager AP 430 from the available APs 110 based on the available processor power and / or memory power of the AP 110. In another embodiment, the network controller 210 selects the resource manager AP 430 from the available APs 110 based on the available processor power and / or memory power of the AP 110. Alternatively, the cloud computing system 220 selects the resource manager AP 430 from the available APs 110 based on the processor power and / or memory power of the AP 110.

[0030] One or more calculator APs 440 are selected from the available APs 110. In one embodiment, a single calculator AP 440 is selected from the available APs 110. In other embodiments, two or more calculator APs 440 are selected from the available APs 110. The calculator APs 440 may be selected from the available APs 110 based on the available processor power and / or memory capacity of the APs 110. In one embodiment, the controller AP 410 analyzes the telemetry data 310 and selects the calculator 440 from the available APs 110 based on the processor power and / or memory capacity of the available APs 110. In another embodiment, the network controller 210 selects the calculator AP 440 from the available APs 110. Alternatively, the cloud computing system 220 selects the calculator AP from the available APs 110.

[0031] Controller AP 410 controls ranker AP 420, resource manager AP 430, and one or more calculator APs 440 to perform the functions assigned to each AP. In various embodiments, ranker AP 420, resource manager AP 430, and one or more calculator APs 440 communicate with distributed cache 120 to access telemetry data stored by each AP 110 and store the data in distributed cache 120.

[0032] Ranker AP 420 is configured to rank (or prioritize) each AP 110 based on its radio resource requirement assessment and each AP 110's network throughput quality contribution score.

[0033] The resource manager AP 430 is configured to determine the radio resource information by measuring the amount of radio resources to be allocated to each AP. The amount of radio resources to be allocated to each AP 110 may be determined based on the telemetry data 310 provided by each AP 110.

[0034] Calculator AP 440 performs one or more of the following: RRM functions, channel calculations, transmit power calculations, and radio role calculations. In one embodiment, a single calculator AP 440 is configured to perform RRM functions, channel calculations, transmit power calculations, and radio role calculations, among others. Alternatively, a first calculator AP 440 may be configured to perform a first one or more RRM functions, channel calculations, transmit power calculations, and radio role calculations, and a second calculator AP 440 may be configured to perform a second one or more RRM functions, channel calculations, transmit power calculations, and radio role calculations. Furthermore, in one or more embodiments, multiple calculator APs 440 may be selected and each calculator AP 440 may be assigned to perform a different RRM function, channel calculation, transmit power calculation, and radio role calculation. Furthermore, one or more calculator APs 440 allocate network resources to each AP 110 based on the ranking determined by ranker AP 420.

[0035] Figure 5 A flow chart of a method 500 for allocating resources to multiple APs (e.g., AP 110) according to one or more embodiments is shown. At operation 510, a controller AP 410 is selected from the APs 110. For example, in one embodiment, the AP with the highest MAC address among the APs 110 is selected by the AP 110 as the controller AP 410. The AP with the highest MAC address may be selected automatically. In one embodiment, AP 110a is selected as the controller AP 410. For example, AP 110a may have the highest MAC address and, therefore, be selected as the controller AP 410.

[0036] At operation 520, the controller AP 410 reads the telemetry data 310 corresponding to the AP 110 from the distributed cache 120. For example, each AP 110 may store the telemetry data 310 in the distributed cache 120 periodically or based on instructions received from the network controller 210, the cloud computing system 220, and / or the controller AP 410. Thus, the telemetry data 310 is accessed by the controller AP 410.

[0037] At operation 530, controller AP 410 designates one of APs 110 as a ranker AP 420. For example, controller AP 410 determines available processor resource capabilities and / or memory resource capabilities from telemetry data 310. Furthermore, controller AP 410 designates one of the available APs as a ranker AP 420 based on the available processor resource capabilities and / or memory resource capabilities determined from telemetry data 310. For example, controller AP 410 selects one of APs 110 that is not currently assigned another role and has the highest amount of available processor resource capabilities and / or memory resource capabilities as the ranker AP 420.

[0038] The ranker AP 420 is configured to rank the APs 110 based on the demand assessment of each AP 110 and the network throughput quality contribution score of each AP 110. For example, Figure 6 As shown in the method 600, at operation 610, each AP 110 determines a corresponding resource requirement to determine a corresponding requirement assessment. For example, each AP 110 determines the corresponding resource requirement based on supported channel bandwidth, bandwidth requirements of associated clients, radio tolerance, latency sensitivity, and data rate to signal strength ratio from one or more of the telemetry data 310, resource quality data 312, resource allocation data 314, AP capacity data 318, and AP platform data 320.

[0039] The supported channel bandwidth can be determined based on the wireless protocols supported by each AP. For example, the wireless protocols may be 802.11b, 802.11a, 802.11n, 802.11g, and 802.11ax. Each AP 110 may support one or more wireless protocols. Furthermore, each AP 110 determines the corresponding supported channel bandwidth based on the corresponding AP platform data 320 in the distributed cache 120.

[0040] Each AP 110 determines a corresponding associated client bandwidth based on the bandwidth requirements from the AP capacity data 318 for the various types of clients coupled to each AP. For example, the bandwidth of associated clients for each AP can be calculated based on the number of low-bandwidth (e.g., 20 MHz) client devices, medium-bandwidth (e.g., 40 MHz) client devices, and high-bandwidth (e.g., at least 80 MHz) client devices coupled to each AP. An AP that is connected to a greater number of high-bandwidth clients has a higher associated bandwidth than an AP that is connected to a smaller number of high-bandwidth clients. In addition, the associated bandwidth increases as the number of high-bandwidth and / or medium-bandwidth client devices increases. Reference Figure 1In one embodiment, AP 110d can be connected to more high-bandwidth client devices and fewer low-bandwidth client devices than AP 110e. Therefore, AP 110d has a higher associated client bandwidth than AP 110e.

[0041] Determining the resource requirements for each AP also includes determining whether the AP 110 has radio tolerance based on the telemetry data 310, the resource allocation data 314, and / or the AP capacity data 318. For example, in one or more embodiments, a determination is made as to whether client devices connected to the AP utilize radio signals to communicate with the AP. If none of the client devices coupled to the AP support the use of radio signals, then the corresponding AP requires a non-radio channel. Thus, the AP is indicated as not having radio tolerance. However, if one or more client devices coupled to the AP support the use of radio signals, then the AP has radio tolerance and a radio-enabled channel is allocated to the AP.

[0042] In addition, determining the resource requirements of each AP may also include determining the delay sensitivity of the AP. The delay sensitivity of the AP corresponds to the delay sensitivity of the clients coupled to the AP. In one embodiment, the delay sensitivity can be determined based on the telemetry data 310 and the AP capacity data 318 of each AP. Delay-sensitive clients include voice and / or video streaming clients. Non-delay-sensitive clients include web browsing clients and Internet of Things (IoT) clients, etc. An AP coupled to one or more delay-sensitive clients may be determined to be delay-sensitive. Alternatively, an AP coupled to more delay-sensitive devices than non-delay-sensitive devices may be determined to be delay-sensitive.

[0043] Furthermore, determining the resource requirements of each AP also includes determining a data rate versus signal strength for client devices coupled to each AP. Each AP may determine an associated data rate based on one or more of corresponding telemetry data 310, resource quality data 312, and AP capacity data 318. The AP's data rate corresponds to the speed at which data is transmitted to client devices. Furthermore, the AP's signal strength corresponds to the strength of the connection between the AP and the client devices. The transmit power and bandwidth requirements of each AP are determined based on the corresponding data rate and signal strength. A high data rate corresponds to a high bandwidth requirement, while a low data rate corresponds to a low bandwidth requirement. Furthermore, a strong signal strength corresponds to a low transmit power, while a weak signal strength corresponds to a high transmit power. Increasing the transmit power may reduce the signal strength and improve the connection between the AP and the corresponding client device. In one embodiment, for APs determined to have a low data rate and weak signal strength, the transmit power may be set high and the bandwidth requirement may be set low. Alternatively, if the AP is determined to have a high data rate and high signal strength (e.g., a strong connection to connected client devices), the AP's transmit power requirement may be set low, while the AP's bandwidth requirement may be set high. Furthermore, as the AP's data rate increases, the AP's bandwidth requirements also increase. Furthermore, as the signal strength from the client device decreases, the transmit power requirements also increase.

[0044] At operation 620, a network throughput quality contribution score is determined for each AP 110. The network throughput quality contribution score is based on the radio capability and processor capability of each AP. For example, the network throughput quality contribution score is based on the amount each AP contributes to the throughput of the corresponding network (e.g., the wireless network corresponding to the network controller 210). In one or more embodiments, the score is based on the capability of the radio device of each AP 110, the capability of the processor 112 of each AP 110, and the capability of the memory 111 of each AP 110. For example, an AP with high radio device capability, high processor capability, and / or high memory capability is assigned a high score. Accordingly, the AP is allocated more network resources to increase its corresponding contribution to the network, thereby improving network quality.

[0045] Ranker AP 420 ranks each AP based on at least one of a demand assessment of each AP 110 and a network throughput quality contribution score of each AP 110. For example, ranker AP 420 ranks APs that support 11ax and / or 11ac protocols higher than APs that do not support 11ax and / or 11ac and support 11a / b / g / n protocols. Furthermore, ranker AP 420 ranks APs with 5G cellular capabilities higher than APs without cellular capabilities. Additionally or alternatively, ranker AP 420 ranks APs based on the number of non-latency clients connected to each AP. For example, an AP connected to more non-latency clients will be ranked higher than other APs. Furthermore, ranker AP 420 ranks APs with higher capacity (e.g., more available processor and / or memory capacity) higher than APs with lower capacity (e.g., less available processor and / or memory capacity). The rankings are stored in AP ranking data 316.

[0046] Return to Figure 5 At operation 540, controller AP 410 assigns available APs as resource manager APs 430. For example, controller AP 410 assigns available APs as resource manager APs 430 based on available processor power and memory capacity. In one embodiment, controller AP 410 selects the available AP with the highest amount of available processor power and / or memory capacity as resource manager AP 430. For example, controller AP 410 assigns AP 110c as resource manager AP 430 based on the available processor power and memory capacity. Resource manager AP 430 determines the network resources to be allocated to each AP 110. For example, resource manager AP 430 accesses telemetry data 310 stored in distributed cache 120 and determines the network resources to be allocated to each AP 110 based on the telemetry data 310. In one embodiment, resource manager AP 430 generates a score for each channel of each AP 110. The score may be generated based on interference information in telemetry data 310 stored in distributed cache 120. The score corresponds to the amount of interference experienced by each channel. In one embodiment, the scores may range from 0 to 100, where a channel without interference would be given a score of 100 and a channel that is unavailable due to interference would be given a score of 0. Furthermore, scores between 0 and 100 correspond to gradually decreasing interference from channels that are unavailable due to interference (e.g., a score of 0) and channels without interference (e.g., a score of 100). Resource manager AP 430 stores the score for each channel for each AP in resource allocation data 314 of distributed cache 120.

[0047] At operation 550, the controller AP 410 assigns one or more calculator APs 440 from the available APs 110. In one embodiment, the controller AP 410 assigns one of the APs 110 as the calculator AP 440 based on the available processor and / or memory capabilities of the available APs. In another embodiment, the controller AP 410 assigns two or more APs as the calculator APs 440 based on the available processor and / or memory capabilities of the available APs.

[0048] Calculator AP 440 performs one or more of the following: RRM algorithms, channel calculations, transmit power calculations, and radio role calculations. If it is determined that AP 110 is capable of performing multiple functions (e.g., the processor power of calculator AP 440 supports the execution of multiple functions), controller AP 410 may assign multiple functions to a single calculator AP 440. Controller AP 410 assigns the roles of calculator AP 440 and the functions performed by each calculator AP 440 to one or more APs 110. Calculator AP 440 performs RRM algorithms, channel calculations, transmit power calculations, and radio role calculations based on telemetry data stored in distributed cache 120. For example, calculator AP 440 may access telemetry data 310 stored in distributed cache 120, perform corresponding calculations, and store the results in distributed cache 120. In one or more embodiments, a first one or more RRM algorithms, channel calculations, transmit power calculations, and radio role calculations may be assigned to a first calculator AP 440, and a second one or more RRM algorithms, channel calculations, transmit power calculations, and radio role calculations may be assigned to a second calculator AP. Additionally or alternatively, network controller 210 or cloud computing system 220 may perform one or more of the first one or more RRM algorithms, channel calculations, transmit power calculations, and radio role calculations that are not assigned to calculator AP 440. In one embodiment, AP 110d is assigned as calculator AP 440 and performs RRM algorithms, AP 110e is assigned as calculator AP 440 and performs channel calculations, and AP 110f is assigned as calculator AP 440 and performs transmit power calculations and / or radio role calculations. In embodiments where controller AP 410 selects multiple calculator APs 440, the calculator APs may perform corresponding functions in parallel.

[0049] At operation 560, calculator AP 440 allocates network resources to AP 110. For example, calculator AP 440 allocates network resources based on the ranking determined by ranker AP 420. In one embodiment, calculator AP 440 accesses AP ranking data 316 stored in the distributed cache, determines the highest-ranked AP, and allocates the network resources stored in resource allocation data 314 to the highest-ranked AP. In one embodiment, AP 110b is the highest-ranked AP and is allocated a corresponding channel, channel bandwidth, and transmit power to ensure that AP 110b receives more optimized network resources than the network resources allocated to lower-ranked APs 110. Calculator AP 440 then allocates network resources to each subsequently ranked AP, such that network resources are allocated last to the lowest-ranked AP and the lowest-ranked AP receives the least optimized network resources.

[0050] In one embodiment, calculator AP 440 functions as a channel calculator and measures the total amount of channel spectrum resources collected by resource manager AP 430 and allocates them to each AP based on their channel spectrum requirements. In one or more embodiments, when the total amount of channel spectrum resource requirements of AP 110 exceeds the total available allocation in the network, calculator AP 440 determines which AP is most in need and does not allocate channel spectrum to the AP determined to be most in need. The remaining channel spectrum is allocated to the remaining APs. For example, channel 36 is determined to be 40% available, and channel 40 is determined to be 100% available. In this example, AP 110a is determined to require a 100% clean 20 MHz channel. Therefore, calculator AP 440 allocates channel 40 to AP 110a. In one or more embodiments, channels 100 and 104, both 40 MHz, are determined to be 50% available, so calculator AP 440 allocates channels 100 and 104 to APs determined to have similar resource requirements.

[0051] In one or more embodiments, calculator AP 440 is used as a transmitter power calculator that is configured to measure the total density and transmitter power energy intensity of the network based on the number of APs 110 in the network (e.g., the network of network system 100), the total amount of transmitter power, and the strength of the average received signal strength indicator (RSSI). For example, when the network of network system 100 is a high-density radio frequency (RF) network, the transmitter power calculator allocates transmitter power to APs determined to have higher transmitter power requirements before transmitter power is allocated to other APs. For example, APs determined to require high power may be: APs deployed near the corner of a room, APs connected to weak signal clients, and / or APs connected to roaming clients. In an embodiment, when the transmitter power of a first AP is increased, the transmitter power of one or more surrounding APs is reduced to reduce co-channel contention between APs and / or unnecessary coverage of oversaturated transmit power to save energy.

[0052] In one or more embodiments, AP calculator 440 functions as a radio role calculator configured to detect redundant APs. When a redundant AP's coverage area overlaps with other APs, the redundant AP may transition to a monitor role. In various embodiments, the redundant AP may be determined to have no client service history or to have fewer clients than other APs. Transitioning an AP determined to be redundant to a monitor role reduces channel contention within the network by reducing the number of APs with overlapping coverage areas.

[0053] 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 is considered to implement and practice the embodiments being considered, regardless of whether they are related to different 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 element A and element B are considered. In addition, although some embodiments disclosed herein can achieve advantages over other possible solutions or over the prior art, whether a specific advantage is achieved by a given embodiment does not limit the scope of the present disclosure. Therefore, the various aspects, features, embodiments and advantages disclosed herein are merely illustrative and are not considered to be elements or limitations of the appended claims, unless expressly stated in (one or more) claims. Similarly, reference to "the present invention" should not be understood as a summary of any inventive subject matter disclosed herein, and should not be considered to be elements or limitations of the appended claims, unless expressly stated in (one or more) claims.

[0054] As will be appreciated by those skilled in the art, the embodiments disclosed herein may be embodied as a system, method, or computer program product. Thus, various embodiments may be in the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all generally referred to herein as a "circuit," a "module," or a "system." Furthermore, various embodiments may take the form of a computer program product embodied in (one or more) computer-readable medium(s) having computer-readable program code thereon.

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

[0056] The computer program code for performing the operations of the various embodiments 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 entirely on the user's computer, partially on the user's computer, as a stand-alone software package partially on the user's computer and partially on a remote computer, or entirely 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 a local area network (LAN) or a wide area network (WAN), or the remote computer can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0057] Various aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, devices (systems), and computer program products according to embodiments presented in the present disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations 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, such that instructions executed by the processor of the computer or other programmable data processing device create a module for implementing the functions / actions specified in the (one or more) blocks of the flowchart illustrations and / or block diagrams.

[0058] 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 that implement the functions / actions specified in (one or more) boxes of the flowchart illustration and / or block diagram.

[0059] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to produce a series of operational steps executed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable data processing apparatus or other device provide a process for implementing the functions / actions specified within (one or more) boxes of the flowchart illustrations and / or block diagrams.

[0060] The flowchart illustrations and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the systems, methods and computer program products according to various embodiments. In this regard, each box in the flowchart illustration or block diagram can represent a part of a module, fragment or code, which contains one or more executable instructions for implementing (one or more) specific logical functions. It should also be noted that in some alternative implementations, the functions mentioned in the box can appear in an order different from that mentioned in the accompanying drawings. For example, depending on the functions involved, two boxes shown in succession can actually be executed substantially simultaneously, or the boxes can sometimes be executed in the opposite order. It should also be noted that each box in the block diagram and / or flowchart illustration and the combination of boxes in the block diagram and / or flowchart illustration can be implemented by a hardware-based dedicated system that performs a specific function or action, or by a combination of dedicated hardware and computer instructions.

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

Claims

1. A network system comprising: Multiple access points (APs); as well as a distributed cache formed using memories in the plurality of APs, wherein the plurality of APs are configured to measure telemetry data and store the telemetry data in the distributed cache, and One of the multiple APs is assigned as a controller AP by a network controller to which the multiple APs are connected, and the controller AP is configured to assign some of the multiple APs to different roles based on telemetry data stored in the distributed cache to analyze the multiple APs and update resource configurations of the multiple APs, wherein the roles include: a ranker, a resource manager, or a calculator.

2. The network system according to claim 1, wherein: The telemetry data includes operating parameters, and each of the plurality of APs is configured to periodically store the telemetry data in the distributed cache.

3. The network system according to claim 1 or 2, wherein: Assigning some of the plurality of APs to different roles includes assigning a second AP of the plurality of APs as the ranker configured to rank the plurality of APs based on one or more factors for each of the plurality of APs.

4. The network system according to claim 3, wherein: The one or more factors include resource requirements and a network throughput quality contribution score.

5. The network system according to claim 4, wherein: Each of the plurality of APs is configured as: determining corresponding resource requirements based on channel bandwidth, bandwidth requirements of associated clients, radio margin, and delay sensitivity of the associated clients; determining a corresponding network throughput quality contribution score based on the radio capability and the processor capability; and The resource requirement and the quality contribution score are stored in the distributed cache. The network system according to claim 3 , wherein: Assigning some of the plurality of APs to different roles further includes assigning a third AP among the plurality of APs as the resource manager, wherein the resource manager is configured to: determining radio resource information for each of the plurality of APs based on the telemetry data; as well as Radio resource information of each of the plurality of APs is stored in the distributed cache.

7. The network system according to claim 6, wherein: Assigning some of the multiple APs to different roles also includes: assigning a fourth AP among the multiple APs as the calculator, which is configured to allocate network resources to each of the multiple APs based on the ranking of the multiple APs and the radio resource information of each of the multiple APs.

8. A method for allocating radio resources to a plurality of access points (APs), comprising: storing, by the plurality of APs, telemetry data measured by each of the plurality of APs in a distributed cache formed using a memory in each of the plurality of APs; Selecting, by the plurality of APs, one of the plurality of APs as a controller AP; as well as Based on the telemetry data stored in the distributed cache, the controller AP assigns some of the multiple APs to different roles to analyze the multiple APs and update resource configurations of the multiple APs, wherein the roles include: a ranker, a resource manager, or a calculator.

9. The method according to claim 8, wherein The telemetry data includes operating parameters of each of the plurality of APs.

10. The method according to claim 8 or 9, wherein: Assigning some of the plurality of APs to different roles includes assigning a second AP of the plurality of APs as the ranker configured to rank the plurality of APs based on one or more factors for each of the plurality of APs.

11. The method according to claim 10, wherein: The one or more factors include resource requirements and a network throughput quality contribution score.

12. The method according to claim 11, wherein The method further comprises: determining, by each of the plurality of APs, a corresponding resource requirement based on channel bandwidth, bandwidth requirements of associated clients, radio margins, and delay sensitivity of the associated clients; determining, by each of the plurality of APs, a corresponding network throughput quality contribution score based on radio capability and processor capability; and The resource requirement and the network throughput quality contribution score are stored in the distributed cache by each of the plurality of APs.

13. The method according to claim 10, wherein: Assigning some of the plurality of APs to different roles further includes assigning a third AP among the plurality of APs as the resource manager, and wherein the method further includes: determining, by the resource manager, radio resource information for each of the plurality of APs based on the telemetry data; and The resource manager stores radio resource information of each of the plurality of APs in the distributed cache.

14. The method according to claim 13, wherein Assigning some of the multiple APs to different roles also includes: assigning a fourth AP among the multiple APs as the calculator, which is configured to allocate network resources to each of the multiple APs based on the ranking of the multiple APs and radio resource information of each of the multiple APs.

15. An access point (AP), configured to: measuring telemetry data and storing the telemetry data in a distributed cache formed using memories in a plurality of APs; and A first AP among the plurality of APs is selected as a controller AP, wherein: The controller AP is configured to assign some of the multiple APs to different roles based on the telemetry data stored in the distributed cache to analyze the multiple APs and update resource configurations of the multiple APs, wherein the roles include: a ranker, a resource manager, or a calculator.

16. The AP according to claim 15, wherein: The controller AP is configured to designate a second AP among the plurality of APs as the ranker, the ranker being configured to rank the plurality of APs based on one or more factors of each of the plurality of APs.

17. The AP according to claim 16, wherein: The one or more factors include resource requirements and quality contribution scores.

18. The AP according to claim 17, wherein: The ranker is further configured to: determining corresponding resource requirements based on channel bandwidth, bandwidth requirements of associated clients, radio margin, and delay sensitivity of the associated clients; determining a corresponding network throughput quality contribution score based on the radio capability and the processor capability; and The resource requirements and the network throughput quality contribution score are stored in the distributed cache.

19. The AP according to claim 18, wherein: The controller AP is further configured to designate a third AP among the plurality of APs as the resource manager, wherein the resource manager is configured to: determining radio resource information for each of the plurality of APs based on the telemetry data; as well as Radio resource information of each of the plurality of APs is stored in the distributed cache.

20. The AP according to claim 19, wherein: The controller AP is further configured to designate a fourth AP among the plurality of APs as the calculator configured to allocate network resources to each of the plurality of APs based on the rankings of the plurality of APs and radio resource information of each of the plurality of APs.

21. A computer-readable medium having stored thereon instructions which, when executed by a processor, cause the processor to perform the method according to any one of claims 8 to 14.

Citation Information

Patent Citations

  • Proteins with diagnostic and therapeutic uses

    CN105765579A

  • Integrated digital home control system based on hybrid cloud and heterogeneous Internet of Things

    CN108696565A