Network management system, network management method and computer readable storage medium
The network management system enhances network redundancy by calculating redundancy scores for APs and switches, optimizing network resilience and fault tolerance by suggesting configuration changes and placements, addressing the lack of redundancy in complex wireless networks.
Patent Information
- Application Number
- CN202411955228.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-12-05
- Filing Date
- 2024-12-27
- Publication Date
- 2025-07-01
AI Technical Summary
Complex wireless network systems in business locations lack network redundancy, leading to loss of Wide Area Network (WAN) connectivity when a switch fails, as they often have a single switch connected to multiple access points (APs) without adequate redundancy.
A network management system (NMS) determines network redundancy at the AP, switch, and site levels by calculating redundancy scores based on metrics like RSSI and neighbor relationships, and suggests configurations or placements to enhance redundancy, using weighted redundancy scores to optimize network resilience.
Enables network administrators to understand and optimize network redundancy, ensuring high-traffic areas have sufficient redundancy while avoiding unnecessary costs in low-traffic areas, thereby maintaining network connectivity and improving fault tolerance.
Smart Images

Figure CN120238928A_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Patent Application No. 18 / 970,751, filed on December 5, 2024, which claims the benefit of Indian Provisional Patent Application No. 202341089657, filed on December 29, 2023. The entire content of each application is incorporated herein by reference. Technical Field
[0002] The present disclosure generally relates to computer networks, and more particularly, to monitoring and troubleshooting computer networks. Background Art
[0003] Commercial premises or sites such as offices, hospitals, airports, stadiums, or retail stores typically install complex wireless network systems throughout the premises, including a network of wireless access points (APs), to provide wireless network services to one or more wireless client devices (or simply "clients"). An AP is a physical electronic device that enables other devices to wirelessly connect to a wired network using various wireless networking protocols and technologies, such as wireless local area network protocols compliant with one or more IEEE 802.11 standards (i.e., "Wi-Fi"), Bluetooth / Bluetooth Low Energy (BLE), mesh networking protocols (such as ZigBee), or other wireless networking technologies. Many different types of wireless client devices (such as laptops, smartphones, tablets, wearable devices, appliances, and Internet of Things (IoT) devices) incorporate wireless communication technology and can be configured to connect to a wireless access point when the device is within range of a compatible wireless access point in order to access a wired network. In the case where a client device runs a cloud-based application (such as an Internet Protocol Telephony (VOIP) application, a streaming video application, a gaming application, or a video conferencing application), data is exchanged from the client device during an application session through one or more APs and one or more wired network devices (e.g., switches, routers, and / or gateway devices) to reach a cloud-based application server.
[0004] APs can be connected to switches located throughout the network site, which provide access to a wide area network (WAN). In some examples, the placement and / or configuration of APs and switches in a given area of a network site may lack network redundancy. For example, a given area of a network site may include a single switch connected to several APs and providing WAN access to the APs. In these examples, when the switch in a given area of the network site fails or experiences a reduction in functionality, the APs connected to the switch may lose access to the WAN, resulting in the loss of WAN connectivity in the given area of the network site. Summary of the Invention
[0005] Generally, the present disclosure describes one or more techniques for determining network redundancy at an access point (AP) level, a switch level, and / or a site level and performing actions based on the determined network redundancy. For example, a computing device (e.g., a network management system (NMS)) that manages a wireless network at one or more sites can calculate a score indicative of the network redundancy level of the configuration and / or placement of APs and switches within a given area of a site or facility, and / or a score indicative of the network redundancy level of the site / facility as a whole. In some examples, the NMS can weight the redundancy score based on one or more metrics regarding the APs. Based on the redundancy score, the NMS can perform actions such as generating a notification, a graphical indicator within a dashboard of a graphical user interface (GUI), and / or other output including information indicative of network redundancy and / or a recommendation to modify the configuration or placement of APs and switches at the site to improve network redundancy.
[0006] In some examples, the NMS can determine neighbor relationships between APs based on information such as received signal strength indicator (RSSI) values of beacons received by the APs and location data of the APs. The NMS uses the information indicative of neighbor relationships and network configuration information (e.g., the network topology of the APs and switches) to determine a redundancy score for the APs and the switches connected to the APs (referred to herein as the "switch redundancy score"), and / or a redundancy score for the site as a whole (referred to herein as the "site redundancy score"). In some examples, the NMS can weight the switch redundancy score and / or the site redundancy score based on information such as the usage of the APs and associated switches, the criticality of the AP / switch, the type of applications used by the clients of the APs, and other information. Based on this information, the NMS can perform actions such as generating a notification including information indicative of network redundancy and / or a recommendation to improve network redundancy, generating a user interface (UI) that can include UI elements representing a map of the site and information overlaid on the map to indicate AP locations, switches associated with the APs, redundancy scores of the APs and switches, and / or the redundancy score of the site as a whole, etc.
[0007] The techniques of the present disclosure can provide one or more technical advantages and practical applications. As an example, the techniques described herein can enable a network administrator to understand the network redundancy of a site or a given area of a site and automatically recommend the placement and / or configuration of APs and / or network switches at the site to optimize network redundancy. Additionally, the use of weighted redundancy scores can enable a network administrator to ensure network redundancy in high-traffic areas and / or areas with clients using critical applications, while avoiding unnecessary costs of maintaining redundant devices in low-traffic areas.
[0008] In one example, the present disclosure relates to a network management system that communicates with multiple access points (APs) and network switches at a network site. The network management system includes: a memory; and one or more processors in communication with the memory, the one or more processors being configured to: determine, for each of the multiple APs of the network site and based on the received signal strength indicator (RSSI) of each of the multiple APs, one or more strong neighbors of each AP; calculate an AP redundancy score for each of the multiple APs, the AP redundancy score indicating the redundancy of each AP; calculate, based on the AP redundancy score, at least one of the following: a switch redundancy score for each network switch associated with one or more of the multiple APs, wherein the switch redundancy score indicates the redundancy of each network switch; and a site redundancy score, wherein the site redundancy score indicates the overall redundancy of the network site; and invoke one or more actions based on the AP redundancy score, the switch redundancy score, or the site redundancy score.
[0009] In another example, the present disclosure relates to a method that includes: determining, by a network management system, for each of the multiple APs of a network site and based on the received signal strength indicator (RSSI) of each of the multiple APs, one or more strong neighbors of each AP, wherein the network management system communicates with the multiple APs and multiple network switches at the network site; calculating an AP redundancy score for each of the multiple APs, the AP redundancy score indicating the redundancy of each AP; calculating, based on the AP redundancy score, at least one of the following: a switch redundancy score for each network switch associated with one or more of the multiple APs, wherein the switch redundancy score indicates the redundancy of each network switch; and a site redundancy score, wherein the site redundancy score indicates the overall redundancy of the network site; and invoking, by the network management system, one or more actions based on the AP redundancy score, the switch redundancy score, or the site redundancy score.
[0010] In yet another example, a non-transitory computer-readable medium includes instructions that, when executed, are configured to cause a processing circuit of a computing system to: determine, for each of the multiple APs of a network site and based on the received signal strength indicator (RSSI) of each of the multiple APs, one or more strong neighbors of each AP; calculate an AP redundancy score for each of the multiple APs, the AP redundancy score indicating the redundancy of each AP; calculate, based on the AP redundancy score, at least one of the following: a switch redundancy score for each network switch associated with one or more of the multiple APs, wherein the switch redundancy score indicates the redundancy of each network switch; and a site redundancy score, wherein the site redundancy score indicates the overall redundancy of the network site; and invoke one or more actions based on the AP redundancy score, the switch redundancy score, or the site redundancy score.
[0011] Details of one or more examples of the technology of the present disclosure are set forth in the accompanying drawings and the following description. Other features, objects, and advantages of the technology will become apparent from the specification, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1A is a block diagram of an example network system including a network management system in accordance with one or more technologies of the present disclosure.
[0013] Figure 1B shows Figure 1A further example details of the network system.
[0014] Figure 2 is a block diagram of an example access point device in accordance with one or more technologies of the present disclosure.
[0015] Figure 3 is a block diagram of an example network management system in accordance with one or more technologies of the present disclosure.
[0016] Figure 4 is a block diagram of an example user equipment device in accordance with one or more technologies of the present disclosure.
[0017] Figure 5 is a block diagram of an example network node (such as a router or switch) in accordance with one or more technologies of the present disclosure.
[0018] Figure 6 is a block diagram of an example operation of determining network redundancy of a network switch at a site in accordance with one or more technologies of the present disclosure.
[0019] Figure 7 is a block diagram showing an example operation of determining network redundancy of a network switch at a site in accordance with one or more technologies of the present disclosure.
[0020] Figure 8 is a flowchart showing an example operation of determining network redundancy in accordance with one or more technologies of the present disclosure. DETAILED DESCRIPTION
[0021] Figure 1A is a block diagram of an example network system 100 including a network management system (NMS) 130 in accordance with one or more technologies of the present disclosure. The example network system 100 includes a plurality of sites 102A - 102N, at which a network service provider manages one or more wireless networks 106A - 106N, respectively. Although in Figure 1AIn [the figure], each site 102A - 102N is shown as including a single wireless network 106A - 106N respectively, but in some examples, each site 102A - 102N may include multiple wireless networks, and the present disclosure is not limited to this aspect.
[0022] Each site 102A - 102N includes multiple network access server (NAS) devices, such as access points (APs) 142, switches 146, or routers (not shown). For example, site 102A includes multiple APs 142A - 1 to 142A - M. Similarly, site 102N includes multiple APs 142N - 1 to 142N - M. Each AP 142 can be any type of wireless access point, including but not limited to commercial or enterprise APs, routers, or any other device connected to a wired network and capable of providing wireless network access to client devices within the site.
[0023] Each site 102A - 102N also includes multiple client devices, also known as user equipment devices (UEs), commonly referred to as UEs or client devices 148, representing various wireless - enabled devices within each site. For example, multiple UEs 148A - 1 to 148A - K are currently located at site 102A. Similarly, multiple UEs 148N - 1 to 148N - K are currently located at site 102N. Each UE 148 can be any type of wireless client device, including but not limited to mobile devices such as smart phones, tablets, or laptop computers, personal digital assistants (PDAs), wireless terminals, smart watches, smart rings, or other wearable devices. UE 148 can also include wired client devices, for example, IoT devices such as printers, security devices, environmental sensors, or any other device connected to a wired network and configured to communicate via one or more wireless networks 106.
[0024] To provide wireless network services to UE 148 and / or communicate via wireless network 106, the APs 142 and other wired client devices at site 102 are directly or indirectly connected to one or more network devices (such as switches, routers, etc.) via physical cables (e.g., Ethernet cables). In Figure 1A the example of [the figure], site 102A includes switch 146A, to which each of the APs 142A - 1 to 142A - M at site 102A is connected. Similarly, site 102N includes switch 146N, to which each of the APs 142N - 1 to 142N - M at site 102N is connected. Although in Figure 1AIt is shown that each site 102 appears to include a single switch 146, and all APs 142 of a given site 102 are connected to a single switch 146. However, in other examples, each site 102 may include more or fewer switches and / or routers. Additionally, the APs and other wired client devices of a given site may be connected to two or more switches and / or routers. Further, two or more switches of a site may be connected to each other and / or to two or more routers, for example, via a mesh or partial mesh topology in a hub-and-spoke architecture. In some examples, the interconnected switches and routers include a wired local area network (LAN) located at the site 102 hosting the wireless network 106.
[0025] Example network system 100 also includes various networking components for providing networking services within the wired network, such as an authentication, authorization, and accounting (AAA) server 110 for authenticating users and / or UEs 148, a Dynamic Host Configuration Protocol (DHCP) server 116 for dynamically allocating network addresses (e.g., IP addresses) to UEs 148 upon authentication, a Domain Name System (DNS) server 122 for resolving domain names to network addresses, multiple servers 128A - 128X (collectively referred to as "servers 128") (e.g., web servers, database servers, file servers, etc.), and a Network Management System (NMS) 130. As Figure 1A shown, the various devices and systems of network 100 are coupled together via one or more networks 134 (e.g., the Internet and / or an enterprise intranet).
[0026] In Figure 1A the example, NMS 130 is a cloud-based computing platform that manages the wireless networks 106A - 106N at one or more sites 102A - 102N. As further described herein, NMS 130 provides a set of integrated management tools and implements various techniques of the present disclosure. Generally, NMS 130 may provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analysis, network anomaly identification, and alert generation. In some examples, NMS 130 outputs notifications, such as alerts, alarms, graphical indicators on a dashboard, log messages, text / SMS messages, email messages, etc., and / or suggestions regarding wireless network issues, to a site or network administrator ("administrator") who interacts with and / or operates the administrator device 111. Additionally, in some examples, NMS 130 operates in response to configuration inputs received from an administrator who interacts with and / or operates the administrator device 111.
[0027] The administrator and the administrator device 111 may respectively include IT personnel and an administrator computing device associated with one or more sites 102. The administrator device 111 may be implemented as any suitable device for presenting output and / or accepting user input. For example, the administrator device 111 may include a display. The administrator device 111 may be a computing system, such as a mobile or non-mobile computing device operated by a user and / or an administrator. According to one or more aspects of the present disclosure, the administrator device 111 may, for example, represent a workstation, a laptop or notebook computer, a desktop computer, a tablet computer, or any other computing device that can be operated by a user and / or present a user interface. The administrator device 111 may be physically separated from and / or located at a different location from the NMS 130, such that the administrator device 111 can communicate with the NMS 130 via the network 134 or other communication means.
[0028] In some examples, one or more NAS devices (e.g., AP 142, switch 146, or router) may be connected to the edge devices 150A - 150N via a physical cable (e.g., an Ethernet cable). The edge devices 150 include a cloud-managed wireless local area network (LAN) controller. Each edge device 150 may include an internal device at the site 102 that communicates with the NMS 130 to extend certain microservices from the NMS 130 to local NAS devices, while using the NMS 130 and its distributed software architecture for scalable and resilient operation, management, troubleshooting, and analysis.
[0029] Each network device of the network system 100 (e.g., servers 110, 116, 122, and / or 128, AP 142, UE 148, switch 146, and any other server or device connected to or forming part of the network system 100) may include a system log or error log module, where each of these network devices records the status of the network device, including normal operating status and error conditions. In the present disclosure, one or more network devices of the network system 100 (e.g., servers 110, 116, 122, and / or 128, AP 142, UE 148, and switch 146) may be considered "third-party" network devices when owned and / or associated with an entity different from the NMS 130, such that the NMS 130 does not receive, collect, or otherwise access the recorded status and other data of the third-party network devices. In some examples, the edge device 150 may provide a proxy through which the recorded status and other data of the third-party network devices can be reported to the NMS 130.
[0030] In some examples, the NMS 130 monitors network data 137 (e.g., one or more service-level expectation (SLE) metrics) received from the wireless networks 106A - 106N at each of the sites 102A - 102N respectively, and manages network resources (such as the APs 142 at each site) to deliver a high-quality wireless experience to the end-users, IoT devices, and clients at that site. For example, the NMS 130 may include a Virtual Network Assistant (VNA) 133 that implements an event handling platform for providing real-time insights and simplified troubleshooting for IT operations, and automatically takes corrective actions or provides recommendations to proactively address wireless network issues. For example, the VNA 133 may include an event handling platform configured to process hundreds or thousands of concurrent network data streams 137 from sensors and / or agents associated with the APs 142 and / or nodes within the network 134. For example, according to the various examples described herein, the VNA 133 of the NMS 130 may include an underlying analysis and network error identification engine and an alert system. The underlying analysis engine of the VNA 133 may apply historical data and models to the inbound event stream to compute assertions such as identified anomalies or predicted occurrences of events that constitute a network error condition. Additionally, the VNA 133 may provide real-time alerts and reports to notify site or network administrators of any predicted events, anomalies, trends via the administrator device 111, and may perform root cause analysis and automated or assisted error resolution. In some examples, the VNA 133 of the NMS 130 may apply machine learning techniques to identify the root cause of error conditions detected or predicted from the network data stream 137. If the root cause can be automatically resolved, the VNA 133 may invoke one or more corrective actions to correct the root cause of the error condition, thereby automatically improving the underlying SLE metrics and also automatically improving the user experience.
[0031] Further example details of operations implemented by the VNA 133 of the NMS 130 are described in U.S. Patent No. 9,832,082, issued November 28, 2017, entitled "Monitoring Wireless Access Point Events", U.S. Publication No. US 2021 / 0306201, issued September 30, 2021, entitled "Network System Fault Resolution Using a Machine Learning Model", U.S. Patent No. 10,985,969, issued April 20, 2021, entitled "Systems and Methods for a Virtual Network Assistant", U.S. Patent No. 10,958,585, issued March 23, 2021, entitled "Methods and Apparatus for Facilitating Fault Detection and / or Predictive Fault Detection", U.S. Patent No. 10,958,537, issued March 23, 2021, entitled "Method for Spatio-Temporal Modeling", and U.S. Patent No. 10,862,742, issued December 8, 2020, entitled "Method for Conveying AP Error Codes Over BLE Advertisements", the entire contents of all of which are incorporated herein by reference.
[0032] In operation, the NMS 130 observes, collects, and / or receives network data 137, which may take the form of data extracted, for example, from messages, counters, and statistics. The network data 137 may include additional data received from one or more network components, such as geographic location data (e.g., global positioning system data generated by an AP 142), application traffic data, device identifiers of devices connected to the AP 142, and other data received from one or more APs 142.
[0033] The NMS 130 may include one or more computing devices. According to one specific implementation, the computing device is part of the NMS 130. According to other implementations, the NMS 130 may include one or more computing devices, dedicated servers, virtual machines, containers, services, or other forms of environments for executing the technologies described herein. Similarly, the computing resources and components implementing the VNA 133 may be part of the NMS 130, may execute on other servers or execution environments, or may be distributed to nodes within the network 134 (e.g., routers, switches, controllers, gateways, etc.).
[0034] According to one or more technologies of the present disclosure, the NMS 130 is configured to determine network redundancy at the access point (AP) level, switch level, and / or site level, and perform actions based on the determined network redundancy. For example, the NMS 130 is configured to determine neighbor relationships between APs 142 in site 102. The NMS 130 uses the determined neighbor relationships and information about the network configuration to determine redundancy scores for the APs, switches, and / or sites, which indicate the corresponding redundancy of the APs, switches, and / or sites. The NMS 130 may perform one or more actions based on the determination of the redundancy scores, such as generating recommendations regarding the network configuration at a site 102, providing a visual indication of the redundancy scores of the management device 111, and other actions.
[0035] The NMS 130 may determine neighbor relationships between one or more APs 142. As part of determining the neighbor relationships, each AP 142 may broadcast beacons for other APs to detect and process. In one example, AP 142A broadcasts a beacon that is received by one or more other APs. The next AP then broadcasts a beacon for one or more other APs to detect and determine whether the beacon can be detected. In some examples, one of the APs 142 may transmit a beacon that is not received or detected by any other AP. The NMS 130 may cause the APs 142 to broadcast beacons, such as BLUETOOTH beacons. Additionally or alternatively, the APs 142 may use one or more other communication protocols to broadcast signals for other APs to detect.
[0036] Each AP 142 that detects a beacon or other signal can determine the signal strength of the beacon. The AP 142 can use the Received Signal Strength Indicator (RSSI) value to determine the signal strength between the broadcasting AP and the receiving AP. For example, AP 142A-1 can broadcast a beacon received by AP 142A-M. AP 142A-M processes the received signal and determines that the received signal has an RSSI value. The NMS 130 can use the RSSI value determined by the AP 142 to identify the neighbor relationship between the APs 142. In the above example, the NMS 130 can determine that AP 142A-1 and AP 142A-M are adjacent APs because AP 142A-M receives a beacon from AP 142A-1. In some examples, the NMS 130 can generate a neighborhood graph based on the RSSI value, which includes nodes representing the APs 142 and connections between the nodes in the neighborhood graph representing the neighbor relationships between the APs. Although the examples described herein are described with respect to using the RSSI value to identify the neighbor relationship between the APs 142, the example can alternatively or additionally use the round-trip time (RTT) measurement measured by the AP 142 to identify the neighbor relationship between the APs 142.
[0037] The NMS 130 can use other information to replace or supplement the measurements between the APs 142. For example, the NMS 130 can use location information such as the geolocation data and mapped location data of the APs 142 to identify the neighbor relationship between the APs 142. The NMS 130 can use mapped data including information indicating the relative positions of the APs within one of the sites 102. For example, in addition to the RTT measurement, the NMS 130 can also use the mapped information provided by the network administrator regarding the relative placement of the APs 142 within the site to identify the neighbor relationship between the APs 142.
[0038] The NMS 130 can classify the identified neighbor relationship between the APs 142 as a "distant" neighbor or a "strong" neighbor. For example, if the RSSI value of the received beacon is greater than the threshold of -72 db, the NMS 130 can classify the neighbor relationship between the APs as "strong", and if the RSSI value of the received beacon is less than the threshold of -72 db, the neighbor relationship between the APs is classified as "distant". The NMS 130 can set any threshold for the RSSI to determine the strong adjacent APs that can provide redundancy for the client device.
[0039] NMS 130 can determine a subset of APs that are identified as strong neighbors of each other (referred to herein as "top neighbors"). NMS 130 can determine the number of top neighbors of an AP (e.g., the top three neighbors) based on three neighbors of the AP with the highest RSSI value (e.g., the three neighbors of the three APs with the highest RSSI values). In the case where an AP has fewer than three strong neighbors, NMS 130 can determine that all strong neighbors of the AP are the top neighbors of the AP. In some examples, NMS 130 can determine more or fewer than three top neighbors for a given AP. Network data 137 can store neighbor information, including neighbor relationship information and information identifying top neighbors..
[0040] NMS 130 can include a redundancy scorer 136 that is configured to determine a redundancy score (referred to herein as "AP redundancy score") for one or more APs 142 based on neighbor relationships. The redundancy scorer 136 can be a process, module, or other type of software component of NMS 130. The redundancy scorer 136 can determine an AP redundancy score indicating the network redundancy of each AP. In addition to information about neighbor relationships, the redundancy scorer 136 can also use one or more types of information from the network data 137, such as information indicating the connectivity between an AP and a switch associated with the AP (e.g., information about which switch each AP is connected to). For example, the redundancy scorer 136 can use the information indicating that AP 142A-1 is connected to switch 146A to determine the redundancy score of AP 142A-1.
[0041] The redundancy scorer 136 can determine the AP redundancy score of a base (or given) AP based on the number of parent switches of the strong / top neighbors of the base AP that are different from the parent switch of the base AP. In one example, if the strong / top neighbors of the base AP have the same parent switch (e.g., the strong / top neighbors do not have any different parent switches that are different from the parent switch of the base AP), the redundancy scorer 136 assigns a first AP redundancy score (e.g., one (1)) to the base AP. One point can indicate no redundancy. If the strong / top neighbors of the base AP have one parent switch that is different from the parent switch of the base AP, the redundancy scorer 136 assigns a different (e.g., second) AP redundancy score (e.g., two (2)) to the base AP. Two points can indicate dual modular redundancy. Additionally, if the strong / top neighbors of the base AP have two parent switches that are different from the parent switch of the base AP, the redundancy scorer 136 assigns a third AP redundancy score (e.g., three (3)) to the base AP. Three points can indicate triple modular redundancy. In this way, the redundancy scorer 136 can determine the redundancy score (N) based on the number of parent switches of the strong / top neighbors of the base AP (N-1) that are different from the parent switch of the base AP.
[0042] Based on the AP redundancy scores, the redundancy scorer 136 can determine the switch redundancy scores for one or more switches, such as switch 146A and switch 146N, where each switch redundancy score indicates the redundancy of a particular switch. The redundancy scorer 136 can determine the switch redundancy score for a particular switch based on the percentage of APs with redundancy (e.g., APs with a redundancy score greater than one (1)) connected to the particular switch. For example, the redundancy scorer 136 can calculate the switch redundancy score for switch 146A based on the number of redundant APs 142 connected to switch 146A (e.g., the number of APs with an AP redundancy score > 1 for switch 146A) divided by the total number of APs for switch 146A.
[0043] The redundancy scorer 136 can calculate site redundancy scores that indicate the overall redundancy of the site. The redundancy scorer 136 can calculate a redundancy score that indicates the overall redundancy of a site, such as site 102A. The redundancy score can include the number of APs within the site with redundancy (e.g., redundancy score greater than 1) divided by the total number of APs within the site.
[0044] The redundancy scorer 131 can weight the switch redundancy scores and / or the site-level redundancy scores. The redundancy scorer 136 can obtain one or more usage metrics regarding the usage of the APs and associated switches from the network data 137. The redundancy scorer 136 can obtain metrics such as information on how client devices connect to the APs (e.g., the number of client devices connected to the AP, the duration that the client device is connected to the AP, etc.), the data consumption of the client devices connected to the AP (e.g., traffic throughput), the importance of the client devices connected to the AP, other usage metrics, the location of the APs within the site (e.g., geolocation data, map data, etc.), and other metrics. The redundancy scorer 136 can utilize the usage metrics to weight the switch redundancy scores and / or the site-level redundancy scores to calculate the weighted switch redundancy scores and / or site redundancy scores. In one example, the redundancy scorer 136 uses information on the user time of the client devices connected to one or more APs associated with a given switch to determine the weighted switch redundancy score for the given switch.
[0045] The NMS 130 includes an action module 135 that is configured to invoke actions based on a redundancy score. The action module 135 can be a module, plug-in, or other type of software component or process that includes one or more other software components. The action module 135 can be configured to generate one or more recommendations for a network administrator or device (such as the management device 111). For example, the action module 135 can generate a recommendation that one or more APs of a site should be rewired to connect to a different switch. The action module 135 can generate a recommendation to increase redundancy in one or more parts of a site based on network traffic and redundancy scores in one or more parts (e.g., high network traffic and low redundancy in an area of one or more parts).
[0046] In some examples, the action module 135 can generate one or more recommendations regarding the placement of one or more APs within a site. The action module 135 can use one or more metrics to determine an optimized placement of the APs within the site. For example, the action module 135 can use information about the expected coverage of one or more APs of a site (such as the APs 142A-1 to 142A-M of site 102A) to optimize the placement of the APs within the site.
[0047] In some examples, the action module 135 can generate initial recommendations for configuring a new site such that an administrator deploying the APs and / or switches of the site can optimize the configuration and / or placement of the APs and / or switches during installation to provide network redundancy. For example, a client can provide the NMS 130 with information about a proposed configuration of site 102A. The NMS 130 can determine the redundancy of the proposed configuration of site 102A, and based on the determined redundancy of the proposed configuration, the action module 135 can generate one or more recommended changes to the proposed configuration to optimize the redundancy of site 102A.
[0048] In some examples, the action module 135 can generate recommendations based on the expected addition of one or more APs. For example, the NMS 130 can determine the redundancy of a site with one or more APs added, and based on the determined redundancy of the site with one or more APs added, the action module 135 can generate recommendations specifying the placement of one or more new APs and / or changes to the placement of currently deployed APs to maximize coverage and redundancy within the site. In another example, the action module 135 can generate a recommendation that more APs should be added and installed to meet one or more redundancy requirements or goals.
[0049] In some examples, the action module 135 can generate recommendations regarding the connections between APs and switches to provide network redundancy. The action module 135 can generate recommendations regarding which APs should be connected to which switches. For example, the action module 135 can generate a recommendation that includes a list of which APs should be connected to each switch within a site.
[0050] In some examples, the action module 135 can generate recommendations based on one or more changes to the site and / or in response to a request from a network administrator. For example, the NMS 130 can detect one or more changes in the network (e.g., changes in the environment of the site (e.g., network topology or network behavior), changes in the operation of one or more APs, changes in the location of an AP or a switch, etc.). In response, the NMS 130 can determine the redundancy of the network (e.g., calculate a redundancy score based on the current network environment). The action module 135 can generate one or more recommendations based on the redundancy score calculated in response to one or more changes in the network. The action module 135 can generate recommendations based on the type of changes that have been made or proposed to be made to the site.
[0051] In some examples, the action module 135 can generate recommendations that include recommendations for color-coding one or more cables at the site and routing APs and switches based on the color-coding. For example, during the initial setup of the site, the action module 135 can recommend marking all network cables from a first switch with a first color (e.g., blue) and all network cables from a second switch with a second color (e.g., green). In this example, the action module 135 can generate a recommendation specifying which APs should be routed to the two switches based on the color-coding, rather than having the installer connect APs and switches purely based on convenience. In another example, the action module 135 can generate a recommendation that includes a recommendation for rerouting one or more APs to a different switch using the color-coding of the wires.
[0052] In some examples, the action module 135 can generate suggestions based on the location of network cables within a site. A site, such as site 102A, can include multiple cables (alternatively referred to as "cable runs") that run throughout the site and are used to connect APs to network switches. Due to one or more factors, a network administrator may not be able to modify the location of the cables (e.g., the cables may be under the floor of an active office, there may be physical constraints on where the cables can be located, etc.). Additionally, unlike one or more centralized network cabinets, some sites may route cables to different locations. The action module 135 can generate suggestions based on the location of the cable runs. For example, the suggestion module can generate suggestions regarding the placement of one or more APs based on the location of the cable runs (e.g., the location where an AP can be connected to a network switch via a cable). The action module 135 can use information regarding the length of the cable runs to generate suggestions for the placement of APs within the site (e.g., ensuring that the cables can reach an AP at a given location), which includes generating a visualization of a map of the site overlaid with indicators of where APs can be placed based on the cable runs.
[0053] In some examples, the action module 135 can generate suggestions based on one or more APs equipped with dual uplinks. One or more of the APs, such as AP 142, can be equipped with dual uplink capabilities, which enables the AP to connect to two network switches simultaneously for WAN access. Based on the determined redundancy of the network including dual uplink APs, the action module 135 can generate suggestions that include suggestions regarding which network switches the APs with dual uplink capabilities should be connected to. The action module 135 can suggest that a particular AP (e.g., AP 142A-1) should be connected to two or more different switches (e.g., switch 146A and another switch) to maximize the redundancy of the site. The action module 135 can generate suggestions that indicate which switch the primary port of the AP should be connected to and which switch the secondary port of the AP should be connected to.
[0054] When a switch or an AP fails in a site that includes APs with dual uplinks, the action module 135 can generate suggestions regarding the configuration behavior of the APs and / or switches. The action module 135 can generate suggestions as to which switch is connected to the secondary port of one or more APs with dual uplinks and verify that this configuration maximizes the coverage provided by the APs in the event of one or more switch failures. Additionally, the action module 135 can generate suggestions that change based on whether an AP failure or a switch failure is being modeled for an AP with dual uplink capabilities.
[0055] Based on the generated recommendations, the action module 135 can provide recommendations to one or more devices, such as the management device 111. In some examples, the action module 135 can generate one or more recommendations based on weighted redundancy scores. For example, the action module 135 can be configured to generate recommendations for high-traffic areas and avoid generating recommendations for low-traffic areas (e.g., to avoid unnecessary spending and time in improving network redundancy in low-traffic areas).
[0056] Additionally or alternatively, the action module 135 of the NMS 130 can include a UI manager 139. The UI manager 139 can be a software component, module, plugin, or other type of software process. The UI manager 139 can be configured to generate a user interface (UI), such as a graphical user interface (GUI). The UI manager 139 can generate UI elements that visualize the network configuration of a site, such as site 102. The UI manager 139 can generate visual UI elements of a site that are maps of the site overlaid with visual indicators of one or more APs located within the site. Additionally, the UI manager 139 can generate visual indicators that are color-coded to indicate which switches the APs are connected to (e.g., all APs connected to the first switch are blue, all APs connected to the second switch are yellow, etc.) and / or the network redundancy of the switches (e.g., different colors represent different redundancies). In one example, the UI manager 139 generates a visualization of site 102A that includes a map of site 102A overlaid with visual indicators representing the locations of the APs within site 102A. The UI manager 139 additionally color-codes the visual indicators representing the APs to indicate which parent switch each AP is connected to.
[0057] The UI manager 139 can generate a visual representation of one or more recommendations regarding AP placement and / or configuration through the action module 135. The UI manager 139 can generate a visualization of a map of the site that includes visual indicators of the action module 135's recommendations for the placement and / or configuration of one or more APs within the site. In some examples, the UI manager 139 can generate a visualization that includes one or more visual indicators of network cables and the routing of the network cables through the site.
[0058] The UI manager 139 can generate a GUI that visualizes one or more metrics of multiple sites 102. For example, the UI manager 139 can generate a chart that includes information about the site redundancy values of multiple sites. The UI manager 139 can generate one or more charts to help network administrators visualize the redundancy and configuration of multiple locations. For example, the UI manager 139 can generate a GUI that includes visual indications of the redundancy of APs, switches, and / or the sites as a whole.
[0059] The techniques of the present disclosure provide one or more technical advantages and practical applications. For example, the techniques enable an administrator to identify areas within a site (such as site 102A) where the placement and / or configuration of one or more APs and switches results in limited or no redundancy, and automatically suggest the placement and / or configuration of APs and / or network switches for that site to optimize network redundancy. Additionally, the techniques enable the NMS 130 to identify locations where increased redundancy would be beneficial, such as increasing redundancy in high-traffic areas, by weighting the redundancy scores, and to minimize the cost and effort of increasing redundancy in low-traffic areas where such redundancy may not be necessary. For example, the NMS 130 can proactively determine that locations with a high concentration of client devices should have increased redundancy to ensure that clients are not affected in the event of a device failure. In another example, the techniques of the present disclosure can eliminate the need for a physical inspection of a site to determine its redundancy.
[0060] Although the techniques of the present disclosure are described in this example as being performed by the NMS 130, the techniques described herein can be performed by any other computing device, system, and / or server, and the present disclosure is not limited to this aspect. For example, one or more computing devices configured to perform the functions of the techniques of the present disclosure can reside in a dedicated server, or be included in any other server, in addition to or instead of the NMS 130, or can be distributed throughout the network 100 and may or may not form part of the NMS 130.
[0061] Figure 1B is a block diagram showing Figure 1A further example details of the network system. In this example, Figure 1B shows the NMS 130 configured to operate according to an artificial intelligence / machine learning-based computing platform that provides a connection from a "client" (e.g., a user device 148 connected to the wireless network 106 and the wired LAN 175 ( Figure 1B at the far left)) to the "cloud" (e.g., which can be provided by the data center 179 ( Figure 1BComprehensive automation, insight, and assurance (Wi-Fi assurance, wired assurance, and WAN assurance) of cloud-based application services 181 hosted by computing resources within the far right side).
[0062] As described herein, the NMS 130 provides a set of integrated management tools and implements various techniques of the present disclosure. Generally, the NMS 130 can provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analysis, network anomaly identification, and alert generation. For example, the network management system 130 can be configured to actively monitor and adaptively configure the network 100 to provide self-driving capabilities. In addition, the VNA 133 includes a natural language processing engine to provide AI-driven support and troubleshooting, anomaly detection, AI-driven location services, and AI-driven radio frequency (RF) optimization with reinforcement learning.
[0063] As Figure 1B shown in the example of, the AI-driven NMS 130 also provides configuration management, monitoring, and automatic supervision of the software-defined wide area network (SD-WAN) 177, which operates as an intermediate network communicatively coupling the wireless network 106 and the wired LAN 175 to the data center 179 and the application service 181. Generally, the SD-WAN 177 provides a seamless, secure, traffic engineering connection towards the cloud-based application service 181 between the "branch" router 187A of the wired network 175 hosting the wireless network 106 (such as a branch or campus network) and the "hub" router 187B (further into the cloud stack). The SD-WAN 177 typically operates and manages an overlay network over the underlying physical wide area network (WAN), which provides connections to geographically separated customer networks. In other words, the SD-WAN 177 extends software-defined network (SDN) capabilities to the WAN and allows the network to decouple the underlying physical network infrastructure from the virtualized network infrastructure and applications, such that the network can be configured and managed in a flexible and scalable manner.
[0064] In some examples, the underlying routers of the SD-WAN 177 can implement a stateful, session-based routing scheme, where the routers 187A, 187B dynamically modify the content of the original packet headers initiated by the client device 148 to direct traffic to the application service 181 along a selected path (e.g., path 189) without the need to use tunnels and / or additional labels. In this way, the routers 187A, 187B can be more efficient and scalable for large networks because the use of tunnel-less, session-based routing can enable the routers 187A, 187B to achieve considerable network resources by eliminating the need to perform encapsulation and decapsulation at the tunnel endpoints. Additionally, in some examples, each router 187A, 187B can independently perform path selection and traffic engineering to control the packet flow associated with each session without the need to use a centralized SDN controller for path selection and label distribution. In some examples, the routers 187A, 187B implement session-based routing as Secure Vector Routing (SVR) provided by Juniper Networks, Inc.
[0065] For additional information regarding session-based routing and SVR, see U.S. Patent No. 9,729,439, issued August 8, 2017, entitled "COMPUTER NETWORK PACKET FLOW CONTROLLER"; U.S. Patent No. 9,729,682, issued August 8, 2017, entitled "NETWORK DEVICE AND METHOD FOR PROCESSING A SESSION USING A PACKET SIGNATURE"; U.S. Patent No. 9,762,485, issued September 12, 2017, entitled "NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT"; U.S. Patent No. 9,871,748, issued January 16, 2018, entitled "ROUTER WITH OPTIMIZED STATISTICAL FUNCTIONALITY"; U.S. Patent No. 9,985,883, issued May 29, 2018, entitled "NAME-BASED ROUTING SYSTEM AND METHOD"; U.S. Patent No. 10,200,264, issued February 5, 2019, entitled "LINK STATUS MONITORING BASED ON PACKET LOSS DETECTION"; U.S. Patent No. 10,277,506, issued April 30, 2019, entitled "STATEFUL LOAD BALANCING IN A STATELESS NETWORK"; U.S. Patent No. 10,432,522, issued October 1, 2019, entitled "NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT"; and U.S. Patent No. 11,075,824, issued July 27, 2021, entitled "IN-LINE PERFORMANCE MONITORING", the entire contents of each of these patents being incorporated herein by reference in their entirety.
[0066] In some examples, the AI-driven NMS 130 can implement intent-based configuration and management of the network system 100, including implementing the construction, presentation, and execution of intent-driven workflows for configuring and managing devices associated with the wireless network 106, the wired LAN network 175, and / or the SD-WAN 177. For example, declarative requirements express the desired configuration of network components without specifying the exact local device configuration and control flow. By leveraging declarative requirements, what should be done can be specified rather than how it should be done. Declarative requirements can be contrasted with imperative instructions that describe the exact device configuration syntax and control flow for implementing the configuration. By leveraging declarative requirements rather than imperative instructions, the burden on the user and / or user system to determine the exact device configuration required to achieve the desired result of the user / system is alleviated. For example, when leveraging various different types of devices from different vendors, it is typically difficult and burdensome to specify and manage precise imperative instructions to configure each device of the network. As new devices are added and device failures occur, the types and variety of network devices can change dynamically. It is often difficult to achieve a cohesive network of devices configured by managing various different types of devices from different vendors with different configuration protocols, syntaxes, and software versions. Thus, by only requiring the user / system to specify declarative requirements that specify the desired result applicable to various different types of devices, the management and configuration of network devices becomes more efficient. Further example details and techniques of intent-based network management systems are described in U.S. Patent No. 10,756,983, entitled "Intent-based Analytics," and U.S. Patent No. 10,992,543, entitled "Automatically generating an intent-based network model of an existing computer network," each of which is incorporated herein by reference.
[0067] According to the techniques described in this disclosure, the NMS 130 is configured to determine network redundancy at the access point (AP) level, switch level, and / or site level, and perform actions based on the determined network redundancy. For example, the NMS 130 can determine a redundancy score for an AP based on the neighbor relationship between APs. In some examples, the NMS 130 determines a redundancy score for one or more network switches based on the AP redundancy score. The NMS 130 can determine the redundancy score for the overall site. Although the examples described herein are described with respect to network redundancy of access points and / or switches of the wireless network 106 and the wired network 175, the techniques described herein can be similarly applied to other network access devices, routers 187 of SD-WAN, or other network devices that provide access to the WAN.
[0068] Figure 2 is a block diagram of an example access point (AP) device 200 according to one or more techniques of this disclosure. Figure 2 The illustrated example access point 200 can be used to implement any AP 142 as shown and described herein Figure 1A The access point 200 can include, for example, a Wi-Fi, Bluetooth, and / or Bluetooth Low Energy (BLE) base station or any other type of wireless access point.
[0069] In Figure 2 the example, the access point 200 includes a wired interface 230, wireless interfaces 220A - 220B, one or more processors 206, a memory 212, and an input / output 210 coupled together via a bus 214, and various elements can exchange data and information via the bus. The wired interface 230 represents a physical network interface and includes a receiver 232 and a transmitter 234 for sending and receiving network communications (e.g., packets). The wired interface 230 directly or indirectly couples the access point 200 to a wired network device within the wired network via a cable (such as an Ethernet cable), such as Figure 1A a switch 146 of
[0070] The first wireless interface 220A and the second wireless interface 220B represent wireless network interfaces and respectively include receivers 222A and 222B, and each receiver includes a receiving antenna via which the access point 200 can receive wireless signals from wireless communication devices (such as Figure 1A the UE 148 of Figure 1AThe UE 148) sends wireless signals. In some examples, the first wireless interface 220A may include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz), while the second wireless interface 220B may include a Bluetooth interface and / or a Bluetooth Low Energy (BLE) interface.
[0071] The processor 206 is a programmable hardware-based processor configured to execute software instructions stored in a computer-readable storage medium, such as the memory 212, such as software instructions that define a software or computer program. The computer-readable storage medium is a non-transitory computer-readable medium such as including a storage device (e.g., a disk drive or an optical disc drive) or a memory (such as a flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 206 to perform the techniques described herein.
[0072] The memory 212 includes one or more devices configured to store programming modules and / or data associated with the operation of the access point 200. For example, the memory 212 may include a computer-readable storage medium, such as a non-transitory computer-readable medium including a storage device (e.g., a disk drive or an optical disc drive) or a memory (such as a flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 206 to perform the techniques described herein.
[0073] In Figure 2 an example, the memory 212 stores executable software, including an Application Programming Interface (API) 240, a Communication Manager 242, Configuration Settings 250, a Device Status Log 252, a Data Store 254, and a Log Controller 255. The Device Status Log 252 includes a list of events specific to the access point 200. Events may include, for example, logs of both normal events and error events, such as memory status, restart or reboot events, crash events, cloud disconnection events with self-recovery, low link speed or link speed swing events, Ethernet port status, Ethernet interface packet errors, upgrade failure events, firmware upgrade events, configuration changes, etc., as well as the time and date stamps for each event. The Log Controller 255 determines the logging level of the device based on instructions from the NMS 130. The Data 254 may store any data used and / or generated by the access point 200, including data collected from the UE 148, such as data for calculating one or more SLE metrics, which is sent by the access point 200 for cloud-based management of the wireless network 106A by the NMS 130.
[0074] Input / Output (I / O) 210 represents physical hardware components capable of interacting with a user, such as buttons, displays, etc. Although not shown, memory 212 typically stores executable software for controlling a user interface for input received via I / O 210. Communication manager 242 includes program code that, when executed by processor 206, allows access point 200 to communicate with UE 148 and / or network 134 via any interface 230 and / or 220A - 220C. Configuration settings 250 include any device settings of access point 200, such as radio settings for each wireless interface 220A - 220C. These settings can be configured manually or can be remotely monitored and managed by NMS 130 to optimize wireless network performance on a periodic (e.g., hourly or daily) basis.
[0075] As described herein, AP device 200 can measure network data from status log 252 and report it to NMS 130. The network data can include event data, telemetry data, and / or other SLE - related data. The network data can include various parameters indicating the performance and / or status of the wireless network. These parameters can be measured and / or determined by one or more UE devices and / or one or more APs in the wireless network. NMS 130 can determine one or more SLE metrics based on the SLE - related data received from APs in the wireless network and store the SLE metric as network data 137 ( Figure 1A ).
[0076] AP device 200 can broadcast beacons for detection by one or more other APs. AP device 200 can broadcast beacons in response to an indication from a network management system, such as Figure 1A and Figure 1B the network management system 130 as shown. AP device 200 can broadcast beacons periodically. AP device 200 can broadcast beacons at set time intervals (every 24 hours, every hour, etc.). For example, AP device 200 can broadcast beacons to other APs every thirty minutes.
[0077] AP device 200 can detect beacons broadcast by other APs. AP device 200 can detect beacons broadcast by other APs via one or more wireless interfaces 220. AP device 200 can receive beacon signals via one or more wireless interfaces 220 and process the signals to determine that AP device 200 has detected a beacon broadcast by another AP.
[0078] The AP device 200 can process beacons detected by the AP device 200. The AP device 200 can process the detected beacons and determine the RSSI value of the detected beacons. In one example, the AP device 200 detects beacons broadcast by another AP. The AP device 200 processes the detected beacons and determines the RSSI value of the detected beacons.
[0079] The AP device 200 can store information about the detected beacons in the data 254. In one example, the AP device 200 detects beacons broadcast by another AP and stores information about the identifier of the other AP and the RSSI of the beacon in the data 254. The AP device 200 can maintain a beacon log in the data 254.
[0080] The AP device 200 can store information about the connection to one or more switches in the data 254. For example, the AP device 200 can receive discovery packets from adjacent switches connected to the AP device 200. The AP device 200 can store information about the connection to the switches to help the NMS understand the association between AP devices (such as the AP device 200) and the connected switches (for example, understand which APs are connected to which switches).
[0081] The AP device 200 can provide information about the detected beacons and other information to other devices. The AP device 200 can provide information such as logs of the detected beacons and associated device identifiers, geographical location data, usage metrics, and other information to other devices (such as switches) connected to the AP device 200 via the wired interface 230. The AP device 200 can provide information periodically and / or in response to a request for information.
[0082] Figure 3 is a block diagram of an example network management system (NMS) 300 according to one or more techniques of the present disclosure. The NMS 300 can be used to implement, for example Figure 1A and Figure 1B the NMS 130 in. In such an example, the NMS 300 is responsible for monitoring and managing one or more wireless networks 106A - 106N at sites 102A - 102N respectively.
[0083] The NMS 300 includes a communication interface 330, one or more processors 306, a user interface 310, a memory 312, and a database 318. The various components are coupled together via a bus 314 through which the various components can exchange data and information. In some examples, the NMS 300 receives from one or more of client devices 148, APs 142, switches 146 within the network 134 and other network nodes (for example, Figure 1BRouter 187) receives data that can be used to calculate one or more SLE metrics and / or update network data 316 in database 318. NMS 300 analyzes this data for cloud-based management of wireless networks 106A - 106N. In some examples, NMS 300 can be Figure 1A part of another server as shown, or part of any other server.
[0084] Processor 306 executes software instructions stored in a computer-readable storage medium, such as memory 312, such as software instructions for defining a software or computer program. The computer-readable storage medium is a non-transitory computer-readable medium such as including a storage device (e.g., a disk drive or an optical disc drive) or memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 306 to perform the techniques described herein.
[0085] Communication interface 330 can include, for example, an Ethernet interface. Communication interface 330 couples NMS 300 to a network and / or the Internet, such as Figure 1A any network 134 as shown and / or any local area network. Communication interface 330 includes a receiver 332 and a transmitter 334. NMS 300 receives data and information from any client device 148, AP 142, switch 146, server 110, 116, 122, 128, and / or any other network node, device, or system forming part of a network system 100 such as Figure 1A shown, via the receiver 332, and sends data and information to any client device 148, AP 142, switch 146, server 110, 116, 122, 128, and / or any other network node, device, or system forming part of network system 100 as Figure 1A shown, via the transmitter 334. In some scenarios described herein, where network system 100 includes "third-party" network devices owned by and / or associated with entities different from NMS 300, NMS 300 does not receive, collect, or otherwise access network data from third-party network devices.
[0086] The data and information received by NMS 300 can include, for example, telemetry data, SLE-related data, or data from client device AP 148, AP 142, switch 146, or other network nodes (e.g., Figure 1BOne or more of the received event data in the router 187), and the NMS 300 uses this data and information to remotely monitor the performance of the wireless networks 106A - 106N and the application sessions from the client devices to the cloud - based application servers. The NMS 300 can also send data via the communication interface 330 to any network device, such as the client device 148, the AP 142, the switch 146, other network nodes within the network 134, the administrator device 111, to remotely manage the wireless networks 106A - 106N and parts of the wired network.
[0087] The memory 312 includes one or more devices configured to store programming modules and / or data associated with the operation of the NMS 300. For example, the memory 312 can include a computer - readable storage medium, such as a non - transitory computer - readable medium including a storage device (e.g., a disk drive or an optical drive) or a memory (such as flash memory or RAM) or any other type of volatile or non - volatile memory, which stores instructions to cause one or more processors 306 to perform the techniques described herein.
[0088] In Figure 3 an example, the memory 312 includes the API 320, the SLE module 322, the Virtual Network Assistant (VNA) / AI engine 350, and the Radio Resource Management (RRM) engine 360. According to the disclosed techniques, the VNA / AI engine 350 includes the action module 135. The NMS 300 can also include any other programming modules, software engines, and / or interfaces configured for remote monitoring and management of the wireless networks 106A - 106N and parts of the wired network (including remote monitoring and management of any AP 142 / 200, switch 146, or other network devices (e.g., Figure 1B the router 187)).
[0089] The SLE module 322 enables setting and tracking of thresholds for SLE metrics for each network 106A - 106N. The SLE module 322 further analyzes SLE - related data collected by the APs (such as any AP 142 from UEs in each of the wireless networks 106A - 106N). For example, the APs 142A - 1 to 142A - N collect SLE - related data from the UEs 148A - 1 to 148A - N currently connected to the wireless network 106A. This data is sent to the NMS 300, which is performed by the SLE module 322 to determine one or more SLE metrics for each of the UEs 148A - 1 to 148A - N currently connected to the wireless network 106A. In addition to any network data collected by one or more of the APs 142A - 1 to 142A - N in the wireless network 106A, this data is sent to the NMS 300 and stored in the database 318 as, for example, network data 316.
[0090] The RRM engine 360 monitors one or more metrics for each of the sites 102A - 102N to understand and optimize the RF environment of each site. For example, the RRM engine 360 can monitor the coverage and capacity SLE metrics of the wireless network 106 at the site 102 to identify potential problems with the SLE coverage and / or capacity in the wireless network 106, and adjust the radio settings of the access points at each site to address the identified problems. For example, the RRM engine can determine the channel and transmit power distribution across all APs 142 in each of the networks 106A - 106N. For example, the RRM engine 360 can monitor events, power, channels, bandwidth, and the number of clients connected to each AP. The RRM engine 360 can further automatically change or update the configuration of one or more APs 142 at the site 102, with the aim of improving the coverage and capacity SLE metrics, and thus providing an improved wireless experience for the users.
[0091] The VNA / AI engine 350 analyzes the data received from network devices as well as its own data to identify when an unexpected abnormal state is encountered at a network device. For example, the VNA / AI engine 350 can identify the root cause of any unexpected or abnormal state, such as any poor SLE metrics indicating connection problems at one or more network devices. Additionally, the VNA / AI engine 350 can automatically invoke one or more corrective actions aimed at addressing the identified root cause of one or more poor SLE metrics. Examples of corrective actions that can be automatically invoked by the VNA / AI engine 350 can include, but are not limited to, invoking the RRM 360 to restart one or more APs, adjusting / modifying the transmit power of a specific radio in a specific AP, adding an SSID configuration to a specific AP, changing the channel on an AP or a group of APs, etc. Corrective actions can also include restarting switches and / or routers, invoking the download of new software to an AP, switch, or router, etc. These corrective actions are given for illustrative purposes only, and the present disclosure is not limited to this aspect. If automatic corrective actions are not available or are insufficient to address the root cause, the VNA / AI engine 350 can proactively provide a notification that includes recommended corrective actions to be taken by IT personnel (e.g., site or network administrators using the administrator device 111) to resolve the network error.
[0092] The VNA / AI engine 350 can use the action module 135 to generate recommendations for configuring the site. The action module 135 can correspond to as Figure 1AThe action module 135 shown. The action module 135 can be configured to invoke actions based on redundancy scores such as AP redundancy scores, switch redundancy scores, and / or site redundancy scores. For example, the action module 135 can invoke actions based on the redundancy scores of one or more APs at a site. In some examples, the action module 135 can be similar to the action module 135 as shown in Figure 1A and Figure 1B The action module 135 shown. The action module 135 can generate suggestions for another module or software component to select and present. The action module 135 can use one or more machine learning models such as the ML model 380 to process information and generate suggestions. For example, the action module 135 can provide information to a machine learning model and use the machine learning model to generate suggestions for optimizing the placement and configuration of one or more APs.
[0093] The VNA / AI engine 350 includes a redundancy scorer 136. The redundancy scorer 136 can correspond to the redundancy scorer 136 as shown in Figure 1A For example, the redundancy scorer 136 can determine redundancy scores at one or more levels of a site such as the AP level, the switch level, and / or the site level. The redundancy scorer 136 can generate redundancy scores weighted based on one or more factors. For example, the redundancy scorer 136 can weight the redundancy scores based on network traffic, the criticality of clients connected to one or more APs, the criticality of APs, location data of one or more APs, usage metrics, and other information.
[0094] The VNA / AI engine 350 can determine the criticality of APs and switches as numerical scores representing criticality. The VNA / AI engine 350 can use information about the number of clients connected to an AP, the number of clients associated with APs connected to a switch, network traffic, the criticality of applications supported by the AP and / or switch, wireless signal coverage, and / or other factors. For example, the VNA / AI engine 350 can determine a relatively high criticality score for an AP that supports traffic related to a critical application.
[0095] The VNA / AI engine 350 can generate suggestions regarding the sustainability and efficiency of APs and switches. The VNA / AI engine 350 can generate suggestions to disable or reduce the power provided to one or more APs and / or these switches based on the redundancy of the switches. For example, the VNA / AI engine 350 can suggest to the administrator to disable an AP based on the AP having a sufficient redundancy score (e.g., there are enough other APs to support the clients of the disabled AP) to reduce the power consumption within the site. Additionally, the VNA / AI engine 350 can determine that a given switch has a sufficient redundancy score to enable the restart and servicing of the switch during normal working hours (e.g., when the given switch is offline, other switches and APs can support the clients associated with the given switch).
[0096] The action module 135 includes a UI manager 139. The UI manager 139 can correspond to the UI manager 139 as shown in Figure 1A The action module 135 can cause the UI manager 139 to perform one or more actions.
[0097] The action module 135 can cause the UI manager 139 to generate a UI and output the UI for display. The UI manager 139 can generate a UI including one or more suggestions generated by the action module 135. For example, the UI manager 139 can generate a UI including visual indications of one or more APs and the corresponding locations of each AP within the site and visual indications of suggested changes to the configurations of the APs within the site. The UI manager 139 can cause one or more components of the NMS 300 to output a GUI for display. In some examples, the UI manager 139 can provide information regarding the UI to one or more devices for display.
[0098] The NMS 300 can use one or more ML models, such as the ML model 380. The ML model 380 can include one or more ML models configured to generate suggestions for the NMS 300. For example, the action module 135 can use the ML model 380 to generate suggestions for modifying the configurations of one or more APs. Additionally, the action module 135 can use the ML model 380 to generate suggestions regarding the initial configuration of a network site and / or suggestions regarding connecting one or more of the multiple APs to one or more of the multiple switches.
[0099] The ML model 380 can generate suggestions based on weighted redundancy scores. The ML model 380 can include one or more machine learning models, such as a clustering model. A developer or administrator can train the ML model 380 based on one or more goals, including optimizing the wireless service coverage of APs, ensuring sufficient AP redundancy to avoid AP flooding in the event of a failure (e.g., avoiding overwhelming a single AP with clients in the event of another AP failure), and / or avoiding switch flooding. Additionally or alternatively, a developer can train the ML model 380 based on a customer topology. For example, the ML model 380 compares customer topologies to identify an optimized topology design based on cost and other factors.
[0100] In some examples, the ML model 380 can include a supervised ML model that is trained using training data including pre-collected labeled network data received from network devices (e.g., client devices, APs, switches, and / or other network nodes) to determine suggestions regarding the configuration of a site. The supervised ML model can include one of logistic regression, naive Bayes, support vector machine (SVM), etc. In other examples, the ML model 380 can include an unsupervised ML model. Although Figure 3 not shown, in some examples, the database 318 can store the training data, and the VNA / AI engine 350 or a dedicated training module can be configured to train the ML model 380 based on the training data to determine appropriate weights on one or more features of the training data.
[0101] Although the techniques of the present disclosure are described in this example as being performed by the NMS 300, the techniques described herein can be performed by any other computing device, system, and / or server, and the present disclosure is not limited to this aspect. For example, one or more computing devices configured to perform the functions of the techniques of the present disclosure can reside in a dedicated server, or be included in any other server, in addition to or instead of the NMS 130, or can be distributed throughout the network 100 and may or may not form part of the NMS 130.
[0102] Figure 4 An example user equipment (UE) device 400 in accordance with one or more techniques of the present disclosure is shown. Figure 4 The example UE device 400 shown can be used to implement as referred to herein Figure 1AAny UE 148 shown and described. The UE device 400 can include any type of wireless client device, and the present disclosure is not limited to this aspect. For example, the UE device 400 can include mobile devices such as smart phones, tablets or laptops, personal digital assistants (PDAs), wireless terminals, smart watches, smart rings or any other type of mobile or wearable device. In some examples, the UE 400 can also include a wired client device, such as, for example, an IoT device such as a printer, a security sensor or device, an environmental sensor, or any other device connected to a wired network and configured to communicate via one or more wireless networks.
[0103] The UE device 400 includes a wired interface 430, wireless interfaces 420A - 420C, one or more processors 406, a memory 412, and a user interface 410. The various elements are coupled together via a bus 414, and the various elements can exchange data and information via the bus 414. The wired interface 430 represents a physical network interface and includes a receiver 432 and a transmitter 434. If needed, the wired interface 430 can be used to directly or indirectly couple the UE 400 to a wired network device within a wired network (such as Figure 1A an Ethernet cable 144) to a switch 146 within the wired network (such as Figure 1A ).
[0104] The first wireless interface 420A, the second wireless interface 420B, and the third wireless interface 420C respectively include receivers 422A, 422B, and 422C, and each receiver includes a receiving antenna via which the UE 400 can receive wireless signals from wireless communication devices (such as Figure 1A AP 142, Figure 2 AP 200, other UEs 148, or other devices configured for wireless communication). The first wireless interface 420A, the second wireless interface 420B, and the third wireless interface 420C also respectively include transmitters 424A, 424B, and 424C, and each transmitter includes a transmitting antenna via which the UE 400 can transmit wireless signals to wireless communication devices (such as Figure 1A AP 142, Figure 2 AP 200, other UEs 148, and / or other devices configured for wireless communication). In some examples, the first wireless interface 420A can include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz), while the second wireless interface 420B can include a Bluetooth interface and / or a Bluetooth Low Energy interface. The third wireless interface 420C can include, for example, a cellular interface through which the UE device 400 can connect to a cellular network.
[0105] The processor 406 executes software instructions stored in a computer-readable storage medium, such as the memory 412, such as software instructions for defining a software or computer program, the computer-readable storage medium being a non-transitory computer-readable medium such as including a storage device (e.g., a disk drive or an optical disk drive) or a memory (such as a flash memory or a RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 406 to execute the techniques described herein.
[0106] The memory 412 includes one or more devices configured to store programming modules and / or data associated with the operation of the UE 400. For example, the memory 412 may include a computer-readable storage medium, such as a non-transitory computer-readable medium including a storage device (e.g., a disk drive or an optical disk drive) or a memory (such as a flash memory or a RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 406 to execute the techniques described herein.
[0107] In this example, the memory 412 includes an operating system 440, applications 442, a communication module 444, configuration settings 450, and a data store 454. The communication module 444 includes program code that, when executed by the processor 406, causes the UE 400 to be able to communicate using any one of the wired interface 430, the wireless interfaces 420A - 420B, and / or the cellular interface 450C. The configuration settings 450 include any device settings for the UE 400 settings for each of the wireless interfaces 420A - 420B and / or the cellular interface 420C.
[0108] The data store 454 may include, for example, a status / error log that includes a list of events specific to the UE 400. Depending on the log level based on instructions from the NMS 130, the events may include logs of normal events and error events. The data store 454 may store any data used and / or generated by the UE 400, such as data for calculating one or more SLE metrics or identifying relevant behavioral data, which is collected by the UE 400 and either directly sent to the NMS 130 or sent to any AP 142 in the wireless network 106 for further sending to the NMS 130.
[0109] As described herein, the UE 400 may measure network data from the data store 454 and report it to the NMS 130. The network data may include event data, telemetry data, and / or other SLE-related data. The network data may include various parameters indicating the performance and / or status of the wireless network. The NMS 130 may determine one or more SLE metrics based on the SLE-related data received from the UEs or client devices in the wireless network and store the SLE metric as network data 137 ( Figure 1A ).
[0110] The UE device 400 may include an NMS agent 456. The NMS agent 456 is a software agent of the NMS 130 installed on the UE 400. In some examples, the NMS agent 456 may be implemented as a software application running on the UE 400. The NMS agent 456 collects information from the UE 400 including detailed client device attributes, including insights into the roaming behavior of the UE 400. This information provides insights into the client roaming algorithm as roaming is a decision of the client device. In some examples, the NMS agent 456 may display the client device attributes on the UE 400. The NMS agent 456 sends the client device attributes to the NMS 130 via the AP device to which the UE 400 is connected. The NMS agent 456 may be integrated into a custom application or as part of a location application. The NMS agent 456 may be configured to identify the device connection type (e.g., cellular or Wi-Fi) and the corresponding signal strength. For example, the NMS agent 456 identifies the access point connection and its corresponding signal strength. The NMS agent 456 may store information specifying the APs identified by the UE 400 and their corresponding signal strengths. The NMS agent 456 or other elements of the UE 400 also collect information about which APs the UE 400 is connected to, which also indicates which APs the UE 400 is not connected to. The NMS agent 456 of the UE 400 sends this information to the NMS 130 via the AP to which it is connected. In this way, the UE 400 not only sends information about the APs to which the UE 400 is connected, but also sends information about other APs that the UE 400 has identified and is not connected to and their signal strengths. The AP in turn forwards this information to the NMS, including information about other APs identified by the UE 400 in addition to itself. This additional level of granularity enables the NMS 130 and ultimately the network administrator to better determine the Wi-Fi experience directly from the perspective of the client device.
[0111] In some examples, the NMS agent 456 further enriches the client device data utilized in the service level. For example, the NMS agent 456 can go beyond basic fingerprinting to provide supplementary details such as device type, manufacturer, and attributes of different versions of the operating system. In the detailed client attributes, the NMS 130 can display the radio hardware and firmware information of the UE 400 received from the NMS client agent 456. The more details the NMS agent 456 can derive, the better the VNA / AI engine is in advanced device classification. The VNA / AI engine of the NMS 130 continuously learns and becomes more accurate in its ability to distinguish between device-specific issues or broad device issues, such as clearly identifying that a specific OS version is affecting certain clients.
[0112] In some examples, the NMS agent 456 can cause the user interface 410 to display a prompt for the end user of the UE 400 to enable location permission before the NMS agent 456 can report the device's location, client information, and network connection data to the NMS. The NMS agent 456 will then start reporting the connection data as well as the location data to the NMS. In this way, the end user of the client device can control whether the NMS agent 456 can report client device information to the NMS.
[0113] Figure 5 is a block diagram showing an example network node 500 in accordance with one or more techniques of the present disclosure. In one or more examples, the network node 500 implements a device or server attached to Figure 1A the network 134, such as, for example, a switch 146, an AAA server 110, a DHCP server 116, a DNS server 122, a web server 128, etc. or another network device supporting one or more of a wireless network 106, a wired LAN 175, or an SD-WAN 177 or Figure 1B a data center 179, such as, for example, a router 187.
[0114] In Figure 5 the example, the network node 500 includes a wired interface 502, such as, for example, an Ethernet interface, a processor 506, an input / output 508 (such as, for example, a display, buttons, a keyboard, a keypad, a touch screen, a mouse, etc.), and a memory 512, which are coupled together via a bus 514, and various components can exchange data and information via the bus. The wired interface 502 couples the network node 500 to a network, such as an enterprise network. Although only one interface is shown as an example, a network node can and typically does have multiple communication interfaces and / or multiple communication interface ports. The wired interface 502 includes a receiver 520 and a transmitter 522.
[0115] The memory 512 stores executable software applications 532, an operating system 540, and data / information 530. The data 530 may include system logs and / or error logs that store event data (including behavior data) of the network node 500. Additionally, the data 530 may include information indicating one or more APs connected to the network node 500. The network node 500 may provide information about the connected APs to an NMS (such as Figure 1A the NMS 130 shown) so that the NMS 130 can determine which APs are associated with the network node 500. In an example where the network node 500 includes a "third-party" network device, the same entity does not own or have access to both the AP or wired client device and the network node 500. Thus, in an example where the network node 500 is a third-party network device, the NMS 130 does not receive, collect, or otherwise access network data from the network node 500.
[0116] In an example where the network node 500 includes a server, the network node 500 may receive data and information via the receiver 520, such as operation-related information, e.g., registration requests, AAA services, DHCP requests, Simple Notification Service (SNS) lookups, and web requests, and may send data and information via the transmitter 522, such as configuration information, authentication information, web data, etc.
[0117] In an example where the network node 500 includes a wired network device, the network node 500 may be connected to one or more APs or other wired client devices, such as IoT devices, via the wired interface 502. For example, the network node 500 may include multiple wired interfaces 502 and / or the wired interface 502 may include multiple physical ports to be connected to multiple APs or other wired client devices within a site via respective Ethernet cables. In some examples, each AP or other wired client device connected to the network node 500 may access the wired network via the wired interface 502 of the network node 500. In some examples, one or more APs or other wired client devices connected to the network node 500 may all obtain power from the network node 500 via the corresponding Ethernet cable and the Power over Ethernet (PoE) port of the wired interface 502.
[0118] In examples where network node 500 includes a session-based router that employs a stateful, session-based routing scheme, network node 500 can be configured to independently perform path selection and traffic engineering. The use of session-based routing can enable network node 500 to avoid using a centralized controller (such as an SDN controller) to perform path selection and traffic engineering, and to avoid using tunnels. In some examples, network node 500 can implement session-based routing as Security Vector Routing (SVR) provided by Juniper Networks, Inc. In examples where network node 500 includes a session-based router (e.g., a session-based router) operating as a network gateway for a site of an enterprise network, Figure 1B In the case of router 187A), network node 500 may communicate with each other through an underlying physical WAN (e.g., Figure 1B SD-WAN 177) with network gateways at other sites as part of the enterprise network (e.g. Figure 1B One or more other session-based routers operating at router 187B) establish multiple peer paths (e.g., Figure 1B The network node 500 operating as a session-based router may collect data at the peer path level and report the peer path data to the NMS 130.
[0119] In examples where network node 500 includes a packet-based router, network node 500 may employ a packet-based or flow-based routing scheme to forward packets according to a defined network path established, for example, by a centralized controller that performs path selection and traffic engineering. In examples where network node 500 includes a packet-based router (e.g., Figure 1B In the case of router 187A), network node 500 may communicate with each other through an underlying physical WAN (e.g., Figure 1B SD-WAN 177) with one or more other packet-based routers operating as network gateways for other sites of the enterprise network (e.g., Figure 1B Router 187B) establishes multiple tunnels (for example, Figure 1B The network node 500 operating as a packet-based router may collect data at the tunnel level, and the tunnel data may be retrieved by the NMS 130 via an API or open configuration protocol, or the tunnel data may be reported to the NMS 130 by the NMS agent 544 or another module running on the network node 500.
[0120] The data collected and reported by network node 500 can include periodically reported data and event-driven data. Network node 500 is configured to collect logical path statistics via Bidirectional Forwarding Detection (BFD) probes and data extracted from messages and / or counters at the logical path level (e.g., peer path or tunnel). In some examples, network node 500 is configured to collect statistical data and / or sample other data according to a first periodic interval (e.g., every 3 seconds, every 5 seconds, etc.). Network node 500 can store the collected and sampled data as path data in a buffer, for example.
[0121] In some examples, network node 500 optionally includes an NMS agent 544, which can be a software component of network node 500 that can periodically create packets of statistical data according to a second periodic interval (e.g., every 3 minutes). The collected and sampled data periodically reported in the packet of statistical data can be referred to herein as "oc-statistics". In some examples, the packet of statistical data can also include details about clients connected to network node 500 and associated client sessions. NMS agent 544 can then report the packet of statistical data to NMS 130 in the cloud. In other examples, NMS 130 can request, retrieve, or otherwise receive the packet of statistical data from network node 500 via an API, OpenConfig protocol, or another communication protocol. The packet of statistical data created by NMS agent 544 or another module of network node 500 can include a header identifying network node 500 and statistical data and data samples from each logical path of network node 500. In other examples, when an event occurs, in response to the occurrence of certain events at network node 500, NMS agent 544 reports event data to NMS 130 in the cloud. The event-driven data can be referred to herein as "oc-events".
[0122] Figure 6 is a block diagram of an example operation for determining network redundancy of a network switch at a site according to one or more techniques of the present disclosure. For clarity, Figure 6 is described in the context of Figure 1A the background of.
[0123] In Figure 6 the example of, a site (such as site 102A) includes three switches (labeled "SW1", "SW2", and "SW3" in Figure 6 and hereinafter referred to as "SWX"), which are respectively connected to eight APs (labeled "AP1" to "AP8" in Figure 6 and hereinafter referred to as "APX"). Site 102A can include APX distributed at one or more locations throughout site 102A.
[0124] The NMS 130 can determine the neighbor relationships among one or more APs of the APX. For example, the NMS 130 can determine neighbor relationships based on obtaining the RSSI values of beacons broadcast by the APs. In Figure 6 the example, the NMS 130 can determine that AP1 and AP2 are neighbors, AP3, AP4, and AP5 are neighbors, and AP6, AP7, and AP8 are neighbors based on the respective RSSI values received by each AP. Based on the determined neighbor relationships, the NMS 130 can form groups of adjacent APs.
[0125] The NMS 130 can determine the redundancy score for each APX. In this example, the NMS 130 can determine that the neighbor APs AP1 and AP2 are connected to the same switch (e.g., SW1), and can assign an AP redundancy score of 1 to AP1 and AP2 to indicate that the group of AP1 and AP2 has no redundancy. Similarly, the NMS 130 can determine that the neighbor APs AP3, AP4, and AP5 are respectively connected to different switches (e.g., SW1 and SW2), and can assign an AP redundancy score of 2 to AP3, AP4, and AP5 to indicate that the group of AP3, AP4, and AP5 has dual modular redundancy (e.g., the APs have redundancy based on a redundancy score greater than one (1)). In addition, the NMS 130 can determine that the neighbor APs AP6, AP7, and AP8 are respectively connected to three different switches (e.g., SW1, SW2, and SW3), and can assign an AP redundancy score of 3 to AP6, AP7, and AP8 to indicate that the group of AP6, AP7, and AP8 has triple modular redundancy.
[0126] The NMS 130 can determine the redundancy score for each switch of the SWX based on the number of APs connected to a particular switch with redundancy (e.g., redundancy score greater than one (1)) and the total number of APs connected to the switch. In Figure 6 the example, the NMS 130 can calculate the switch redundancy score of SW1 as 0.5 based on the number of APs connected to SW1 with a redundancy score greater than one (e.g., AP3 and AP6) divided by the total number of APs connected to SW1 (e.g., AP1, AP2, AP3, and AP6). Similarly, the NMS 130 can calculate the switch redundancy score of SW2 as 1 based on the number of APs connected to SW2 with a redundancy score greater than one (e.g., AP4, AP5, and AP6) divided by the total number of APs connected to SW2 (e.g., AP4, AP5, and AP6). Likewise, the NMS 130 can calculate the switch redundancy score of SW3 as 1 based on the number of APs connected to SW3 with a redundancy score greater than one (e.g., AP8) divided by the total number of APs connected to SW3 (e.g., AP8).
[0127] The NMS 130 can determine a site reliability score. The NMS 130 can determine a site redundancy score, which indicates the overall redundancy of the site. The NMS 130 can determine the site reliability score based on the number of APs with redundancy (e.g., APs with a redundancy score greater than one) and the total number of APs in the site. For example, the NMS 130 can determine that site 102A (represented by Figure 6 has a total of eight APs, and six of them are in several groups of APs with redundancy (e.g., AP3 - AP8 are in the group with redundancy). In this example, the NMS 130 can determine that the site has a redundancy score of 0.75 (e.g., 75% redundancy) calculated based on the number of APs with redundancy divided by the total number of APs in the site.
[0128] Based on the determination of the redundancy score of site 102A, the NMS 130 can invoke one or more actions. For example, the NMS 130 can cause one or more modules or components (such as action module 135) to generate notifications and / or suggestions based on the redundancy score determined by the NMS 130. For example, the NMS 130 can cause a user interface manager (such as UI manager 139) to generate a visualization that includes a map of site 102A with visual indicators of AP placement positions overlaid with suggestions determined by the action module 135.
[0129] Figure 7 is a block diagram showing an example operation of determining the network redundancy of a network switch of a site according to one or more techniques of the present disclosure. For clarity, Figure 7 is described in the context of Figure 1A the background.
[0130] The NMS 130 can determine a weighted switch redundancy score for one or more switches of a site (such as site 102A). The NMS 130 can determine the weighted switch redundancy score based on the redundancy score of the switch and one or more types of information, such as the importance of the clients connected to the switch (e.g., the NMS 130 can assign a greater weight to a switch providing a WAN connection to a critical server than to a switch providing a WAN connection to a music streaming speaker), the average / median data consumption of the switch and / or connected APs, the peak data consumption of the switch and / or connected APs, the number of clients connected to the AP, the user minutes connected to the AP, and other metrics and / or types of information. The NMS 130 can obtain information from one or more sources (such as network data 137) and / or directly from the APs or switches.
[0131] The NMS 130 can determine the weighted redundancy score for each switch of site 102A. In Figure 7In the example, NMS 130 uses information about user minutes to weight the redundancy score for each switch, where the user minutes indicate the length of time the client spends connected to each AP of the switch. NMS 130 can determine the weighted redundancy score by comparing the number of user minutes of each redundant AP with the total number of user minutes of all APs of the switch. In Figure 7 the example, NMS determines that for switch SW1, the client has spent a total of 300 user minutes connected to the APs associated with SW1 and 100 minutes connected to the redundant AP (access point AP6) of switch SW1. NMS 130 determines that switch SW1 has a weighted redundancy score of 0.33 (e.g., approximately 33% weighted redundancy). In another example, NMS 130 determines the weighted redundancy score of switch SW2. NMS 130 determines that switch SW2 has a total of 120 user minutes of clients connected to the APs (access points AP4 and AP7) associated with switch SW2. NMS 130 determines that out of the total 120 user minutes, 20 user minutes are from access point AP4 and 100 user minutes are from access point AP7. Based on the determination of the distribution of user minutes between the two access points, NMS 130 determines that switch SW2 has a weighted redundancy score of 0.83 (e.g., approximately 83% weighted redundancy).
[0132] NMS 130 can determine the weighted site redundancy score. NMS 130 can determine the weighted site redundancy score based on one or more metrics and / or other information. NMS 130 can determine one or more weighted site redundancy scores based on the site redundancy score and one or more metrics. NMS 130 can use metrics such as the criticality of the AP, the criticality of the clients connected to a particular AP, the data location of the AP (e.g., geographical location data, map data, etc.) and other metrics. In one example, NMS 130 determines the site redundancy score based on the comparison of the time spent by the clients connected to the AP with the time spent by the clients connected to the redundant AP. NMS 130 determines that the client has spent a total of 520 minutes connected to the APs of site 120A and 300 minutes connected to the redundant APs (e.g., redundancy score greater than 1). Based on this determination, NMS 130 determines that site 102A has a weighted redundancy score of 0.58 (e.g., approximately 58% weighted redundancy).
[0133] NMS 130 may use a weighted redundancy score when invoking one or more actions. For example, NMS 130 may use the weighted redundancy score to determine that a non-redundant AP (e.g., access point AP4) is located in the portion of site 102A with the least traffic and client usage (e.g., based on the fact that access point AP4 has only logged 20 minutes of user time). Based on the determination regarding client usage, NMS 130 may determine that it is unnecessary to increase the redundancy of access point AP4 due to the minimal user time. NMS 130 may use the weighted redundancy score to cause one or more components (such as action module 135) to generate suggestions for modifying or avoiding modifying the configuration of one or more APs. For example, NMS 130 may generate suggestions for AP configuration based on a relatively high weighted redundancy score while avoiding suggesting modifications to the AP configuration based on a relatively low weighted redundancy score. NMS 130 may weight the redundancy score to achieve different interpretations of the redundancy score based on different situations.
[0134] Figure 8 is a flowchart showing example operations for determining network redundancy according to one or more techniques of the present disclosure and performing actions based on the determined network redundancy. For clarity, Figure 8 is described in the context of Figure 1A the background of.
[0135] A network management system (such as NMS 130) determines one or more strong neighbors for each AP (such as AP 142) among multiple APs and based on the received signal strength indicator (RSSI) of each AP of AP142, where NMS 130 communicates (802) with AP 142 and multiple network switches (such as switch 146) at a network site (such as site 102A). NMS 130 may cause one or more APs 142 to broadcast beacons or beacon signals for one or more APs 142 to detect. NMS 130 may determine that an AP is a strong neighbor of an AP that broadcasts a beacon based on the RSSI being higher than a specified threshold (e.g., greater than -72 dB). For example, for a given AP, NMS 130 may determine one or more strong neighbors based on strong neighbors having RSSI values higher than the threshold.
[0136] NMS 130 calculates an AP redundancy score for each AP in AP 142, which indicates the redundancy of each AP (804). NMS 130 may calculate the AP redundancy score based on how many strong neighbor APs have different parent switches. In one example, NMS 130 determines that two of the three strong neighbors of an AP have different parent switches from that AP. Based on this determination, NMS 130 calculates a redundancy score of 3 for that AP.
[0137] The NMS 130 calculates at least one of a switch redundancy score and a site redundancy score associated with each switch 146 related to one or more APs 142 based on redundancy scores. The switch redundancy score indicates the redundancy of each network switch, and the site redundancy score indicates the overall redundancy of site 102A (806). The NMS 130 may calculate the switch redundancy score based on the redundancy of the APs connected to the switch 146. In one example, the NMS 130 determines that switch 146A is connected to two APs, one of which is a strong neighbor of two other switches with redundancy, while the other has no neighboring APs. The NMS 130 determines that switch 146A has a redundancy score of 0.5. The NMS 130 may determine the site redundancy score based on the total number of APs in the site and the number of APs with redundancy. In one example, the NMS 130 determines that site 102A has ten APs, and among these ten APs, seven APs have redundancy. Based on this determination, the NMS 130 determines that site 102A has a redundancy score of 0.8.
[0138] The NMS 130 invokes one or more actions (808) based on the AP redundancy score, the switch redundancy score, or the site redundancy score. The NMS 130 may invoke actions based on only one or a combination of different redundancy scores. The NMS 130 may invoke actions such as generating suggestions for the configuration of site 102A and generating a GUI including a visualization of the location of site 102A and one or more network components.
[0139] The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. The various features described as modules, units, or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices or other hardware devices. In some cases, the various features of an electronic circuit may be implemented as one or more integrated circuit devices, such as an integrated circuit chip or a chipset.
[0140] If implemented in hardware, the present disclosure may relate to a device such as a processor or an integrated circuit device, such as an integrated circuit chip or a chipset. Alternatively or additionally, if implemented in software or firmware, the techniques may be at least partially implemented by a computer-readable data storage medium including instructions that, when executed, cause a processor to perform one or more of the methods described above. For example, the computer-readable data storage medium may store such instructions for execution by the processor.
[0141] A computer-readable medium can form part of a computer program product, which can include packaging material. The computer-readable medium can include computer data storage media such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, and the like. In some examples, an article of manufacture can include one or more computer-readable storage media.
[0142] In some examples, the computer-readable storage medium can include a non-transitory medium. The term "non-transitory" can indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, the non-transitory storage medium can store data that can change over time (e.g., in RAM or a cache).
[0143] The code or instructions can be software and / or firmware executed by a processing circuit that includes one or more processors, such as one or more digital signal processors (DSPs), general microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Thus, the term "processor" as used herein can refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functions described in this disclosure can be provided in software modules or hardware modules.
Claims
1. A network management system, comprising: Memory; as well as one or more processors in communication with the memory, the one or more processors configured to: determining, for each of a plurality of access points AP of the network site and based on a received signal strength indicator RSSI of each of the plurality of APs, one or more strong neighbors of each AP; calculating an AP redundancy score for each of the plurality of APs, the AP redundancy score indicating redundancy of each AP; At least one of the following is calculated based on the AP redundancy score: a switch redundancy score for each network switch associated with one or more of the plurality of APs, wherein the switch redundancy score indicates redundancy of each network switch; and a site redundancy score, wherein the site redundancy score indicates an overall redundancy of the network sites; and One or more actions are invoked based on the AP redundancy score, the switch redundancy score, or the site redundancy score.
2. The network management system according to claim 1, wherein: To calculate the AP redundancy score for each AP, the one or more processors are configured to calculate the AP redundancy score based on a number of strong neighbors of each AP using different parent switches.
3. The network management system according to claim 1, wherein: To calculate the switch redundancy score for each network switch, the one or more processors are configured to calculate the switch redundancy score based on a number of one or more APs connected to the corresponding switch and a number of the one or more APs having redundancy.
4. The network management system according to claim 1, wherein: To calculate the site redundancy score, the one or more processors are configured to calculate the site redundancy score based on a number of the plurality of APs and a number of the plurality of APs having redundancy.
5. The network management system according to any one of claims 1 to 4, wherein: The one or more processors are further configured to: obtaining one or more metrics indicative of usage of each of the plurality of APs; At least one of a weighted switch redundancy score and a weighted site redundancy score is calculated based on at least one of the switch redundancy score and the site redundancy score and the one or more metrics.
6. The network management system according to claim 5, wherein: The one or more metrics include one of the following: usage of each of the plurality of APs, A location map of each of the plurality of APs within the network site, geographic location data of each AP in the plurality of APs, a criticality of one or more client devices connected to each of the plurality of APs, and Application traffic data.
7. The network management system according to any one of claims 1 to 4, wherein: To invoke the one or more actions, the one or more processors are further configured to: Displaying a visual indication of at least one of the following on the graphical user interface GUI: Redundancy of one or more APs, Redundancy of one or more network switches, and Redundancy of the network sites.
8. The network management system according to any one of claims 1 to 4, wherein: To invoke the one or more actions, the one or more processors are further configured to: A visual indication of the suggestion regarding placement of the AP is displayed on the graphical user interface GUI.
9. The network management system according to any one of claims 1 to 4, wherein: To invoke the one or more actions, the one or more processors are further configured to: One or more recommendations for redundant configurations of specified APs or network switches are generated.
10. The network management system according to claim 9, wherein: The one or more processors are also configured to obtain information about one or more cable lines at the network site, and wherein, are configured to generate one or more recommendations, the one or more recommendations including generating a recommendation specifying that a particular AP among the plurality of APs be connected to a particular network switch based on the information about the one or more cable lines.
11. The network management system according to claim 9, wherein: The one or more suggestions include: for one AP among the plurality of APs equipped with dual uplinks, a suggestion of which two network switches are connected to a first port of the AP and a second port of the AP, respectively.
12. The network management system according to claim 9, wherein: The one or more recommendations include recommendations to change which APs are connected to which network switches in response to one or more changes to the network sites.
13. The network management system according to claim 9, wherein: To invoke the one or more actions, the one or more processors are further configured to: One or more recommendations are generated that specify placement of one or more APs of the plurality of APs or one or more network switches of the plurality of network switches.
14. The network management system according to claim 9, wherein: The one or more suggestions include at least one of the following: recommendations for initial configuration of said network site, and A suggestion for connecting one or more of the plurality of APs to one or more of the plurality of network switches.
15. A network management method, comprising: determining, by a network management system, for each of a plurality of access points (APs) at a network site and based on a received signal strength indicator (RSSI) of each of the plurality of APs, one or more strong neighbors of each AP, wherein the network management system is in communication with the plurality of APs and a plurality of network switches at the network site; calculating an AP redundancy score for each of the plurality of APs, the AP redundancy score indicating redundancy of each AP; At least one of the following is calculated based on the AP redundancy score: a switch redundancy score for each network switch associated with one or more of the plurality of APs, wherein the switch redundancy score indicates redundancy of each network switch; and a site redundancy score, wherein the site redundancy score indicates an overall redundancy of the network sites; and One or more actions are invoked by the network management system based on the AP redundancy score, the switch redundancy score, or the site redundancy score.
16. The network management method according to claim 15, further comprising: obtaining, by the network management system, one or more metrics indicative of usage of each of the plurality of APs; At least one of a weighted switch redundancy score and a weighted site redundancy score is calculated by the network management system based on at least one of the switch redundancy score and the site redundancy score and the one or more metrics.
17. The network management method according to claim 15, wherein: The one or more metrics include one of the following: usage of each of the plurality of APs, A location map of each of the plurality of APs within the network site, geographic location data of each AP in the plurality of APs, a criticality of one or more client devices connected to each of the plurality of APs, and Application traffic data.
18. The network management method according to claim 15, wherein: Invoking the one or more actions further comprises: Displaying a visual indication of at least one of the following on the graphical user interface GUI: Redundancy of one or more APs, Redundancy of one or more network switches, and Redundancy of the network sites.
19. The network management method according to claim 15, wherein: Invoking the one or more actions further comprises: A visual indication of the suggestion regarding placement of the AP is displayed on the graphical user interface GUI.
20. A computer-readable storage medium encoded with instructions for causing one or more programmable processors to be configured as a network management system according to any one of claims 1-14, or to be configured to execute a network management method according to any one of claims 15-19.
Citation Information
Patent Citations
Link status monitoring based on packet loss detection
US10200264B2
Stateful load balancing in a stateless network
US10277506B2
Network packet flow controller with extended session management
US10432522B2
Intent-based analytics
US10756983B2
Method for conveying AP error codes over BLE advertisements
US10862742B2
Cited By
Early identification of optical transceiver failures
US12665685B2
Early identification of optical transceiver failures
US20240380498A1