Access point loop detection

By automatically linking data from access points and upstream network devices through the network management system, the root cause of network loops can be identified and repaired. This solves the problem of time-consuming and error-prone manual identification in existing technologies, enabling rapid troubleshooting and reducing downtime.

CN120956578APending Publication Date: 2025-11-14JUNIPER NETWORKS INC
View PDF 18 Cites 0 Cited by

Patent Information

Application Number
CN202510701193.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-29
Filing Date
2025-05-28
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In existing technologies, identifying the root cause of network loops at access points in wireless networks requires manual operation, which relies on the administrator's expertise. This makes the troubleshooting process time-consuming and prone to errors, resulting in prolonged network downtime.

Method used

By linking network loop events at the access point with data from upstream network devices through the Network Management System (NMS), the root cause can be automatically identified and repair actions can be performed, reducing manual intervention and downtime.

Benefits of technology

It enables rapid and accurate troubleshooting of network loop faults, reduces network downtime and service interruptions, and improves network management efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120956578A_ABST
    Figure CN120956578A_ABST
Patent Text Reader

Abstract

The invention relates to access point loop detection. Techniques are described for determining a root cause of a networking loop occurring at one or more access points. The techniques include a network management system (NMS) configured to obtain information for a plurality of network devices, the information indicating a plurality of network events, the plurality of network events include at least a networking loop event occurring at an access point of the plurality of network devices and one or more network events occurring at an upstream device of the access point; determining whether one or more network events occurring at the upstream device are a root cause of the networking loop event based on correlating the plurality of network events with each other; and performing an action to remedial the networking loop event based on determining that the one or more network events occurring at the upstream device are the root cause of the networking loop event.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] priority

[0002] This application claims the benefit of U.S. Patent Application No. 19 / 193,147, filed April 29, 2025, and U.S. Provisional Patent Application No. 63 / 647,362, filed May 14, 2024, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure generally relates to computer networks, and more specifically to the detection, troubleshooting and repair of network problems. Background Technology

[0004] Commercial locations (such as offices, hospitals, airports, stadiums, or retail stores) typically include networks of wireless access points (APs) installed throughout these locations to provide wireless network service to one or more wireless client devices (or simply "clients"). APs use various wireless networking protocols and technologies, such as Wireless LAN protocols conforming to one or more of the following: IEEE 802.11 (i.e., "Wi-Fi"), Bluetooth / Bluetooth Low Energy (BLE), mesh networking protocols (such as ZigBee), or other wireless networking technologies, enabling client devices to connect wirelessly to wired networks. Many different types of wireless client devices (such as laptops, smartphones, tablets, wearables, appliances, and Internet of Things (IoT) devices) incorporate wireless communication technologies and can be configured to connect to a compatible wireless access point when the device is within range of the access point to access a wired network.

[0005] Access points (APs) and other wired client-side devices are directly or indirectly connected to one or more network devices, such as switches and routers. In some examples, an organization's network devices may be arranged in a hierarchical network architecture, such that one or more APs are connected to one or more network devices in the aggregation layer (such as switches, also referred to as "leaf" or "child" network devices), and one or more network devices in the aggregation layer are connected to one or more network devices in the core layer (such as switches or gateway devices, also referred to as "spine" or "parent" network devices), and one or more network devices in the core layer are in turn connected to the core network (such as the Internet). Summary of the Invention

[0006] In general, this disclosure describes techniques for determining the root cause of a network loop occurring at one or more access points (APs). For example, an AP at a site deployed according to a hierarchical network architecture may receive network traffic (or at least a portion of the network traffic) sent by that AP, which is referred to herein as a "network loop". In some examples, a network loop occurring at an AP may be caused by a problem occurring at one or more upstream network devices of that AP (such as switches and / or gateway devices communicatively coupled to the AP). According to the techniques described in this disclosure, a network management system configured to provide a cloud-based platform for wireless network management and troubleshooting can correlate network data of the AP experiencing a network loop (e.g., data indicating a network event occurring at the AP or data associated with a network event occurring at the AP) with network data to one or more upstream network devices of the AP to determine the root cause of the network loop occurring at the AP and perform actions to repair the root cause of the network loop.

[0007] For example, an AP may experience and / or detect a network loop occurring within a specific time period and send network data associated with the network loop to the NMS. One or more upstream network devices of the AP (such as switches and / or gateways) may send network data collected and / or measured during or near the same time period in which the AP experienced the network loop. The network data from one or more upstream network devices may indicate a network event occurring at one or more upstream network devices that could be the cause of the network loop at the AP. The NMS can correlate the network data associated with the network loop and the network data associated with one or more upstream network devices of the AP. Based on the correlated network data, the NMS can determine whether the network event occurring at one or more upstream network devices is the root cause of the network loop occurring at the AP. Based on the determination that the network event occurring at one or more upstream network devices is the root cause of the network loop occurring at the AP, the NMS can perform actions such as generating and sending a notification including an indication of the root cause of the network loop, and / or automatically performing remedial actions to mitigate or resolve the network loop problem (such as configuring operations to one or more upstream network devices of the AP experiencing the AP loop, or restarting one or more upstream network devices).

[0008] The techniques disclosed herein can be incorporated into practical applications that offer one or more technological advantages over existing systems. For example, administrators of customer networks (e.g., wireless networks at sites) typically need to manually troubleshoot each upstream network device to identify the root cause of network loops. This process of troubleshooting network loops is error-prone, relies on the administrator's subject-matter expertise to identify and manually correlate relevant information associated with the network loop, and is time-consuming, resulting in prolonged network downtime and service interruptions. By providing a Network Management System (NMS) configured to correlate network data of an AP experiencing a network loop with network data to one or more upstream network devices connected to that AP to determine the root cause of the network loop, troubleshooting and remediation of network loops can occur in less time, resulting in less network downtime and service interruptions.

[0009] In one example of the technology disclosed herein, the network management system includes a memory and one or more processors coupled to the memory, the one or more processors being configured to: obtain information about a plurality of network devices, the information indicating a plurality of network events occurring at the plurality of network devices, wherein the plurality of network events includes at least a network loop event occurring at an access point of the plurality of network devices and one or more network events occurring at an upstream device of the access point; determine, based on correlating the plurality of network events, whether the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; and perform actions to remedy the network loop event based on the determination that the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point.

[0010] In another example of the technology disclosed herein, a method includes: obtaining information from a network management system regarding a plurality of network devices, the information indicating a plurality of network events occurring at the plurality of network devices, wherein the plurality of network events includes at least a network loop event occurring at an access point of the plurality of network devices and one or more network events occurring at an upstream device of the access point; determining, based on correlating the plurality of network events, whether the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; and performing an action to remedy the network loop event based on the determination that the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point.

[0011] In another example of the technology disclosed herein, a non-transitory computer-readable medium has instructions stored thereon that, when executed, cause one or more processors of a network management system (NMS) to: obtain information about a plurality of network devices indicating a plurality of network events occurring at the plurality of network devices, wherein the plurality of network events includes at least a network loop event occurring at an access point of the plurality of network devices and one or more network events occurring at an upstream device of the access point; determine, based on correlating the plurality of network events, whether the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; and, based on the determination that the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point, perform an action to remedy the network loop event.

[0012] Details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the specification, the drawings, and the claims. Attached Figure Description

[0013] Figure 1A This is a block diagram of an example network system according to one or more techniques of this disclosure, in which a network management system is configured to determine the root cause of network loops.

[0014] Figure 1B It is shown Figure 1A A block diagram showing other example details of the network system.

[0015] Figure 2 This is a block diagram of an example access point device according to one or more technologies of this disclosure.

[0016] Figure 3 This is a block diagram of an example network management system based on one or more technologies according to this disclosure.

[0017] Figure 4 This is a block diagram of an example user equipment device according to one or more technologies of this disclosure.

[0018] Figure 5 This is a block diagram of an example network node according to one or more techniques disclosed herein.

[0019] Figure 6 This is an example of determining, according to one or more techniques of this disclosure, the root cause of a VLAN configuration problem in an upstream network device of an AP that is the cause of a network loop occurring at that AP.

[0020] Figure 7This is an example of determining the root cause of port oscillation problems of upstream network devices of an AP according to one or more techniques of this disclosure, resulting in network loops occurring at that AP.

[0021] Figure 8 This is a flowchart illustrating the operation of a network management system configured to determine the root cause of a network loop according to one or more techniques of this disclosure. Detailed Implementation

[0022] Figure 1A This is a block diagram of an example network system 100 according to one or more techniques of this disclosure, in which a network management system (NMS) 150 is configured to determine the root cause of networking loops. The example network system 100 includes multiple sites 102A to 102C (collectively referred to as "sites 102"), where a network service provider manages one or more wireless networks, respectively, at these sites. Figure 1A In the example shown, sites 102A to 102C are arranged in a "hub-and-spoke" architecture, where site 102B is the hub site, and sites 102A and 102C are spoke sites. As an example, an organization could be a large company with multiple campuses, where each campus could be a site. A site can refer to a geographical location. For example, an organization could have sites in different cities, sites as different campuses within a city, sites as different buildings within a campus, etc. In some examples, network topologies other than hub-and-spoke can be used. For example, the network could be a partial mesh topology, a full mesh topology, or other network topologies. Furthermore, the network topology can be a hybrid topology. For example, the hub and sites could be arranged in a hub-and-spoke topology, while within each site, the network could have a mesh topology.

[0023] Each of sites 102A through 102C includes multiple network access server (NAS) devices, such as access point devices (APs) 106A through 106H (collectively referred to as "AP 106"), switches 104A through 104F (collectively referred to as "Switch 104"), and routers 108A through 108C (collectively referred to as "Router 108"). For example, each of sites 102A through 102C may include one or more APs, which may represent 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. In this example, site 102A includes multiple APs 106A through 106E, site 102B includes AP 106F, and site 102C includes APs 106G through 106H.

[0024] Each of sites 102A through 102C also includes one or more client devices (also referred to as User Equipment (UE) devices, typically referred to as Client Device 148 or UE 148), which represent various wireless-capable devices within each site. For example, UEs 148A-1 through 148A-N (“UE 148A”) are located at site 102A. UE 148B-1 is currently located at site 102B. Similarly, multiple UEs 148N-1 through 148N-M are currently located at site 102N. UE 148 can be any type of wireless client device, including but not limited to mobile devices such as smartphones, tablets or laptops, personal digital assistants (PDAs), wireless terminals, smartwatches, smart rings, or other wearable devices. UE 148 can also be an IoT device, such as a printer, security device, environmental sensor, appliance, or any other device configured to communicate over one or more wireless networks.

[0025] To provide wireless network services and / or communicate via the wireless network to UE 148, AP 106 and other wired client-side devices (e.g., switches, routers, etc.) at site 102 are directly or indirectly connected to one or more network devices via physical cables (e.g., Ethernet cables). Figure 1AIn this example, site 102A includes APs 106A to 106E, which are communicatively coupled to UEs 148A-1 to UE 148A-N, respectively. In this example, APs 106A to 106E are communicatively coupled to switches 104A to 104C, which are arranged in a hierarchical network architecture. Switches 104B and 104C are in the aggregation layer and communicatively coupled to APs 106A to 106E and switch 104A, while switch 104A is in the core layer and communicatively coupled to switches 104B to 104C and router 108A. Router 108A at site 102A is configured as a radiating router and can communicate with router 108B at site 102B, which is configured as a central router, via WAN link 112A. Similarly, site 102B includes AP 106F, communicatively coupled to switch 104D, which is communicatively coupled to router 108B. Likewise, site 102C includes APs 148N-1 through 148N-M, which are communicatively coupled to switches 104E and 104F, respectively. These switches are each connected to router 108C, which is configured as a radiating router at site 102C and can communicate with router 108B at site 102B via WAN link 112B. Router 108B in site 102B can communicate with a wide area network (e.g., the Internet), such as network 134. Each site in 102B is merely an example network architecture and may alternatively include more or fewer switches and / or routers and / or be arranged in other network topologies.

[0026] Example network system 100 also includes various network components for providing networking services within a wired network. As an example, these network components include an authentication, authorization, and accounting (AAA) server 110 for authenticating users and / or client devices; a dynamic host configuration protocol (DHCP) server 116 for dynamically assigning network addresses (e.g., IP addresses) to client devices during authentication; a domain name system (DNS) server 122 for resolving domain names to network addresses; and multiple servers 128A to 128N (e.g., web servers, database servers, file servers, etc.). References to "N" or "M" can represent any number. References to "N" do not need to be the same number for different elements. Similarly, references to "M" do not need to be the same number for different elements.

[0027] exist Figure 1AIn the example, NMS 150 is a cloud-based computing platform for managing wireless networks at one or more sites in site 102. As further described herein, NMS 150 provides an integrated suite of wireless network management tools and implements various technologies disclosed herein. Typically, NMS 150 can provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analytics, network anomaly identification, and alarm generation. In some examples, NMS 150 uses a combination of artificial intelligence, machine learning, and data science techniques to optimize user experience and simplify operations across any one or more of the wireless access, wired access, and SD-WAN domains. In some examples, NMS 150 outputs notifications to site or network administrators (“administrators”) who interact with and / or operate administrator device 111, such as alarms, warnings, graphical indicators on dashboards, log messages, text / short message service (SMS) messages, email messages, and / or recommendations regarding wireless network issues. Additionally, in some examples, the NMS 150 operates in response to configuration input received from an administrator who interacts with and / or operates the administrator device 111.

[0028] In one particular implementation, the computing device is part of NMS 150. In other implementations, NMS 150 may include one or more computing devices, dedicated servers, virtual machines, containers, services, or other forms of environments for performing the techniques described herein. Similarly, computing resources and components implementing VNA 133 may be part of NMS 150, may run on other servers or execution environments, or may be distributed across nodes within network 134 (e.g., routers, switches, controllers, gateways, etc.).

[0029] The administrator and administrator device 111 may include IT personnel and administrator computing devices respectively associated with one or more sites in site 102. The administrator device 111 may be implemented as any 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 this 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 separate from and / or located at a different location from the NMS 150, such that the administrator device 111 can communicate with the NMS 150 via network 134 or other communication means.

[0030] Each of the network devices in network system 100 (e.g., servers 110, 116, 122 and / or 128, AP 106, UE 148, switch 104, and any other server or device attached to or forming part of network system 100) may include a system log or error log module, wherein each of these network devices records the status of the network device, including normal operating status and error conditions. Throughout this disclosure, one or more network devices in network system 100 (e.g., servers 110, 116, 122 and / or 128, AP 106, UE 148, switch 104, and router 108) may be considered “third-party” network devices when owned and / or associated with an entity different from NMS 150, such that NMS 150 does not receive, collect, or otherwise access the status and other data recorded by the third-party network device. In some examples, site 102 may include edge devices (in... Figure 1A (Not shown in the image), the edge devices include a cloud-managed wireless local area network (LAN) controller. Each edge device may include a local device at site 102 that communicates with the NMS 150 to extend certain microservices from the NMS 150 to the local NAS device, while utilizing the NMS 150 and its distributed software architecture for scalable and resilient operation, management, troubleshooting, and analysis. In these examples, the edge device may be configured to provide a proxy through which the status and other data recorded by third-party network devices can be reported to the NMS 150.

[0031] In some examples, NMS 150 observes, acquires, and / or receives network data 130 from network devices within each site 102A to 102C to deliver a high-quality wireless experience to end users, IoT devices, and client devices at that site. NMS 150 can acquire network data 130 using either a "push" or a "pull" model. In the pull model, NMS 150 can poll the network devices in network system 100 and request them to send their respective network data 130 to NMS 150. In the push model, the individual network devices of network system 100 periodically send network data 130 to NMS 150 without NMS 150 requesting it. In some examples, each of the switch 104, AP 106, router 108, and client device 148 can form a connection between the respective device and NMS 150. In some examples, each connection may include a socket (e.g., an HTTPS kernel) to enable each of the switch 104, AP 106, router 108, and / or client device 148 to send network data 130 to NMS 150. In some examples, when the client device downloads a software development kit (SDK), the UE 148 can communicate directly with NMS 150. The SDK can enable the UE 148 to send network data 130 and / or send it directly to NMS 150 (e.g., via an application programming interface (API)) without sending data through switch 104, AP 106, and / or router 108.

[0032] Network data 130 may take the form of data extracted from messages, counters, and statistics, for example. Network data 130 may be collected and / or measured by one or more network devices at site 102, such as AP 106, switch 104, and / or router 108. NMS 150 may acquire network data 130 and store the network data in data storage device 160 (such as network data 137 within NMS 150), or alternatively, in an external data storage device.

[0033] Network data 130 can vary depending on the type of device providing the information. In some examples, network data 130 for AP 106 may include information about AP 106, such as information indicating network performance, connectivity, status, and / or other information indicating network events or problems with AP 106. For example, network data 130 for AP 106A may include data indicating connectivity of AP 106A to other devices, such as information identifying devices connected to AP 106A, connectivity status to other devices, port status of AP 106A, network telemetry data of AP 106A's connection (e.g., the number of bytes sent / received), network events occurring at AP 106A (e.g., detected problems), etc. For example, AP 106A may collect and / or measure network data 130, which includes information identifying switch 104B and UE 148A-1 connected to AP 106A, connectivity status to switch 104B and UE 148A-1, status of the port connecting AP 106A to switch 104B, network telemetry data of traffic to or from AP 106A and switch 104B or traffic to or from AP 106A and UE 148A-1, network events occurring at AP 106A, and / or any other information associated with AP 106A.

[0034] The network data 130 of switch 104 may include information about switch 104, such as information indicating network performance, connectivity, status, and / or other information indicating network events or problems of switch 104. For example, the network data 130 of switch 104B may include data indicating the connectivity of switch 104B to other network devices, such as information identifying devices connected to switch 104B, connectivity status to other devices, port status of switch 104B, network telemetry data of switch 104B's connections, configuration status, topology status, and / or other information indicating network events or problems of switch 104B. For example, switch 104B may collect and / or measure network data 130, which includes information identifying AP 106A and switch 104A connected to switch 104B, connectivity status to AP 106A and switch 104A, status of ports connecting switch 104B to AP 106A or ports connecting switch 104B to switch 104A, network telemetry data of traffic to or from switch 104B and AP 106A, information associated with the software configuration of switch 104B (e.g., firmware configuration status), information associated with the network topology configuration of switch 104B (e.g., port configuration, VLAN configuration, etc.), and / or any other information associated with switch 104B. For example, switch 104A may collect and / or measure network data 130, which includes information identifying switches 104B and / or router 108A connected to switch 104A, connectivity status to switches 104B and router 108A, status of ports connecting switch 104A to switch 104B or to router 108A, network telemetry data of traffic to or from switches 104A and switch 104B or traffic to or from switches 104A and router 108B, information associated with the software configuration of switch 104A (e.g., firmware configuration status), information associated with the network topology configuration of switch 104A (e.g., port configuration, VLAN configuration, etc.), and / or any other information associated with switch 104A.

[0035] The network data 130 of the gateway device (e.g., router 108) may include information about router 108, such as information indicating network performance, connectivity, status, and / or other information indicating network events or problems of router 108. For example, the network data 130 of router 108A may include data indicating the connectivity of router 108A to other network devices, such as information identifying devices connected to router 108A, connectivity status to other devices, port status of router 108A, network telemetry data of router 108A, configuration status, etc. For example, router 108A may collect and / or measure network data 130, which includes information identifying switches 104A and router 108B respectively connected to router 108A, connectivity status to switches 104A and router 108B, status of ports connecting router 108A to switch 104A or ports connecting router 108A to router 108B, network telemetry data of traffic to or from router 108A and switch 104A or traffic to or from router 104A and router 108B, information associated with the software configuration of router 108A (e.g., firmware configuration status), information associated with the network topology configuration of router 108A (e.g., port configuration, VLAN configuration, etc.), and / or any other information associated with router 108A.

[0036] The network data 130 of router 108 may also include information about wired connections and virtual or logical connections. For example, one or more routers 108 may establish one or more logical paths (e.g., peering paths or tunnels) with one or more other network devices over a WAN on a single physical interface. Each router in router 108 may report path data collected at the logical path level to NMS 150, and / or the path data may be retrieved by NMS 150 from the network devices. In some examples, network data 130 may include tags identifying the network devices associated with the logical path, and / or information associated with the logical path (e.g., peering path status, network telemetry data indicating the performance of the peering path, etc.).

[0037] The NMS 150 may include a Virtual Network Assistant (VNA) 133, which implements an event processing platform for providing real-time insights and simplified troubleshooting for IT operations, and automatically takes corrective actions or proactively provides recommendations to resolve wireless network problems. For example, the VNA 133 may include an event processing platform configured to handle hundreds or thousands of concurrent streams of network data 137 from sensors and / or agents associated with nodes within the AP 106, switch 104, router 108, and / or network 134. For example, the VNA 133 of the NMS 150 may include a low-level analytics and network error identification engine and alerting system according to various examples described herein. The low-level analytics engine of the VNA 133 can apply historical data and models to inbound event streams to calculate assertions, such as identified anomalies or predicted events constituting network error conditions. Furthermore, VNA 133 can provide real-time alerts and reports to notify site or network administrators of any predicted events, anomalies, or trends via administrator device 111, and can perform root cause analysis and automatic or assisted error correction. In some examples, the VNA 133 of NMS 150 can apply machine learning techniques to identify the root causes of error conditions detected or predicted from the flow of network data 137. If the root cause can be resolved automatically, VNA 133 can invoke one or more corrective actions to correct the root cause of the error condition, thereby automatically improving underlying SLE metrics and automatically improving the user's network experience.

[0038] Further examples of the operation implemented by the VNA 133 of the NMS 150 are described in the following documents: U.S. Patent No. 9,832,082, published November 28, 2017, entitled "Monitoring Wireless AccessPoint Events"; U.S. Patent No. 11,570,038, published January 31, 2023, entitled "Network System Fault Resolution Using a Machine Learning Model"; U.S. Patent No. 10,985,969, published April 20, 2021, entitled "Systems and Methods for a Virtual Network Assistant"; and U.S. Patent No. 10,985,969, published March 23, 2021, entitled "Methods and Apparatus for Facilitating Fault Detection and / or Predictive Fault". U.S. Patent No. 10,958,585 entitled “Detection”, published on March 23, 2021, entitled “Method for Spatio-Temporal Modeling”, and U.S. Patent No. 10,958,537 entitled “Method for Conveying AP ErrorCodes Over BLE Advertisements”, published on December 8, 2020, are all incorporated herein by reference in their entirety.

[0039] In some examples, one or more APs 106 may receive network traffic (or at least a portion of network traffic) sent by the AP, which is referred to herein as a “network loop”. In a hierarchical networking architecture (such as in site 102A), a network loop 152 occurring at AP 106A may be caused by one or more network events occurring at one or more upstream network devices of AP 106A (such as switch 104B, switch 104A, and / or router 108A, which are communicatively coupled to AP 106A).

[0040] According to the technology described in this disclosure, NMS 150 may include a loop troubleshooting module 135 configured to: correlate network data of an AP experiencing and / or detecting a network loop with network data of one or more upstream network devices of the AP to determine the root cause of the network loop occurring at the AP, and perform actions such as generating a notification and sending the notification to the network administrator and / or automatically repairing the root cause of the network loop.

[0041] For example, AP 106A at site 102A can detect (or NMS 150 can detect) network loop 152 during a specific time period and collect and / or measure network data 130 associated with network loop 152. For example, AP 106A or NMS150 can be configured to collect and analyze network data of AP 106A and detect the presence of network loops based on: (1) detected “reflections”, where “reflections” are events in which AP 106A receives inbound network packets previously forwarded by AP 106A; (2) detected levels of increased control plane traffic associated with Span Tree Protocol (STP), where such increased levels are classified as anomalous by AP 106A or NMS 150 and can indicate that the network switch is capable of using STP to resolve the failure of physical network loops; and / or (3) data indicating user impact or user experience due to traffic loops, where such data is classified as anomalous by AP 106A or NMS 150 (such as detecting an unexpectedly high proportion of BUM traffic relative to unicast traffic), which can indicate traffic loops in the network. Additional examples of detecting network loops are described in U.S. Application No. 17 / 812,676, filed July 14, 2022, entitled “Detecting Network Events Having Adverse User Impact,” the entire contents of which are incorporated herein by reference.

[0042] Network data 130 associated with network loop 152 may include information such as the time period during which network loop 152 was detected, information identifying AP 106A and / or the port of AP 106A that experienced network loop 152, information identifying packets associated with network loop 152, and / or other information associated with AP 106A that experienced network loop 152. During or near the same time period when AP 106A detected network loop 152, network devices within site 102A (such as switches 104A to 104C and / or router 108A) may collect and / or measure network data indicative of the network devices, such as the status of one or more ports, configuration status, connectivity status, and / or other information about the network devices.

[0043] NMS 150 can obtain network data 130 collected and / or measured by network devices at site 102A during or near the same time period when AP 106A detects a network loop. In this example, NMS 150 can obtain network data 130 from switches 104A to 104C and / or router 108A.

[0044] The loop troubleshooting module 135 of the NMS 150 can correlate network data 130 of one or more upstream network devices of AP 106A (such as switches 104A to 104B and / or router 108A) with network data 130 of AP 106A associated with network loop 152 to determine whether a network event occurring at one or more upstream network devices of AP 106A is the root cause of network loop 152. For example, the loop troubleshooting module 135 can determine that switches 104A, switches 104B, and router 108A are upstream network devices of AP 106A based on a network graph of site 102A (e.g., a graph database of topology information from network devices of designated site 102A). Based on the determination that switch 104A, switch 104B, and router 108A are upstream network devices of AP 106A, loop troubleshooting module 135 can correlate network data 130 collected and / or measured from one or more upstream network devices at or near the same time when a network loop 152 occurs at AP 106A.

[0045] The loop troubleshooting module 135 can determine whether a network event occurring at one or more upstream network devices is the root cause of the network loop 152, based on the interrelated network data 130 of AP 106A and network data 130 of one or more upstream network devices of AP 106A. As further described below, network events occurring at one or more upstream network devices of AP 106A may include, for example: port flapping problems (e.g., a port of an upstream network device switching from an open state to a closed state), configuration problems (e.g., a virtual LAN being lost or misconfigured on an upstream network device), network topology changes (e.g., the configuration of a LAN with redundant paths may introduce a physical loop in the network topology, the addition of a misconfigured or incorrectly connected switch or other device when deployed may introduce a loop, etc.), or other network events occurring at upstream network devices of AP 106A that may cause traffic originally sent by AP 106A to be sent back to AP 106A.

[0046] Based on the determination that a network event occurring at one or more upstream network devices of AP 106A is the root cause of network loop 152, loop troubleshooting module 135 can cause NMS 150 to perform actions such as generating and sending a notification including an indication of the root cause of network loop 152 and / or recommendations for remedying network loop 152, and / or automatically performing remedial actions to mitigate or resolve the problem of network loop 152 (such as configuring operations of one or more upstream network devices of AP 106A (e.g., correcting VLAN configuration problems or port oscillation problems), resetting or restarting one or more upstream network devices, etc.).

[0047] Although the technology of this disclosure is described in this example as being performed by NMS 150, the technology described herein can be performed by any other computing device, system, and / or server, and this disclosure is not limited thereto. For example, one or more computing devices configured to perform the functions of the technology of this disclosure may reside in a dedicated server, or be included in any other server (such as any of servers 128A to 128N) other than or different from NMS 150, or may be distributed throughout network system 100 and may or may not be part of NMS 150.

[0048] Figure 1B It is shown Figure 1A A block diagram showing other example details of the network system. In this example, Figure 1BThe NMS150 is shown, which is configured to operate based on an AI / machine learning-based computing platform that provides connectivity across wireless network 174 and wired LAN 175 networks at the network edge. Figure 1B From the far left) to cloud-based application services 181 hosted by computing resources within data center 179 ( Figure 1B (The far right) offers comprehensive automation, insights, and assurance (WiFi assurance, wired assurance, and WAN assurance).

[0049] As described herein, NMS 150 provides an integrated set of management tools and implements various technologies disclosed herein. Typically, NMS 150 can provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analytics, network anomaly detection, and alarm generation. For example, Network Management System 130 can be configured to proactively monitor and adaptively configure Network 100 to provide self-driving capabilities. Furthermore, VNA 133 includes a natural language processing engine to provide AI-driven support and troubleshooting, anomaly detection, AI-driven location services, and AI-driven RF optimization with reinforcement learning.

[0050] like Figure 1B As illustrated in the example, the AI-driven NMS 150 also provides configuration management, monitoring, and automated supervision of a software-defined wide area network (SD-WAN) 177, which operates as an intermediate network coordinating wireless network 174 and wired LAN 175 to data center 179 and application services 181. Typically, the SD-WAN 177 provides seamless, secure, traffic-engineered connectivity between a “radiating” router 187A hosting the edge wired network 175 (such as a branch or campus network) of the wireless network 174 and a “central” router 187B further up the cloud stack towards the cloud-based application services 181. The SD-WAN 177 typically operates and manages overlay networks on the underlying physical wide area network (WAN), which provides connectivity to geographically separated customer networks. In other words, the SD-WAN 177 extends software-defined networking (SDN) capabilities to the WAN and allows the network to decouple the underlying physical network infrastructure from virtualized network infrastructure and applications, enabling flexible and scalable network configuration and management.

[0051] In some examples, the underlying routers of the SD-WAN 177 can implement a stateful, session-based routing scheme in which routers 187A and 187B dynamically modify the contents of the original packet headers originating from user equipment 148 to direct traffic along a selected path (e.g., path 189) toward application service 181 without the need for tunneling and / or additional labels. In this way, routers 187A and 187B can be more efficient and scalable for large networks because using tunnelless, session-based routing allows routers 187A and 187B to utilize significant network resources by eliminating the need to perform encapsulation and decapsulation at tunnel endpoints. Furthermore, in some examples, each router 187A and 187B can independently perform path selection and traffic engineering to control the packet flow associated with each session, without the need for a centralized SDN controller for path selection and label distribution. In some examples, routers 187A and 187B implement session-based routing as Secure Vector Routing (SVR) provided by Juniper Networks.

[0052] Additional information regarding session-based routing and SVRs is described in the following documents: U.S. Patent No. 9,729,439, published August 8, 2017, entitled "Computer Network Packet Flow Controller"; U.S. Patent No. 9,729,682, published August 8, 2017, entitled "Network Apparatus and Method for Processing Sessions Using a Packet Signature"; U.S. Patent No. 9,762,485, published September 12, 2017, entitled "Network Packet Flow Controller with Extended Session Management"; and U.S. Patent No. 9,762,485, published January 16, 2018, entitled "Router with Optimized Statistical Functions". U.S. Patent No. 9,871,748, entitled "Optimized Statistical Functionality"; U.S. Patent No. 9,985,883, published on May 29, 2018, entitled "Name-Based Routing System and Method"; U.S. Patent No. 10,200,264, published on February 5, 2019, entitled "Link Status Monitoring Based on Packet Loss Detection"; U.S. Patent No. 10,277,506, published on April 30, 2019, entitled "Stateful Load Balancing in a Stateless Network"; and U.S. Patent No. 10,277,506, published on October 1, 2019, entitled "Network Packet Flow Controller with Extended Session Management". U.S. Patent No. 10,432,522, concerning “PACKET FLOWCONTROLLER WITH EXTENDED SESSION MANAGEMENT”;And U.S. Patent Application Publication No. 2020 / 0403890, entitled "In-line Performance Monitoring," published on December 24, 2020, the entire contents of each of these patent applications are incorporated herein by reference.

[0053] In some examples, the AI-driven NMS 150 can enable intent-based configuration and management of network system 100, including the construction, presentation, and execution of intent-driven workflows for configuring and managing devices associated with wireless network 174, wired LAN network 175, and / or SD-WAN 177. For example, declarative requirements express the desired configuration of network components without specifying exact native device configurations and control flows. By utilizing declarative requirements, what should be done is specified, rather than how it should be done. Declarative requirements contrast with imperative instructions, which describe the exact device configuration syntax and control flow to achieve the configuration. By utilizing declarative requirements instead of imperative instructions, users and / or user systems are relieved of the burden of determining the exact device configurations required to achieve the user / system's desired results. For example, when utilizing various types of devices from different vendors, specifying and managing exact imperative instructions for configuring each device in the network is often difficult and cumbersome. The types and kinds of devices in the network may change dynamically with the addition of new devices and device failures. Managing diverse devices from different vendors with varying configuration protocols, syntaxes, and software versions to configure a cohesive device network is often challenging. Therefore, managing and configuring network devices becomes more efficient by requiring only declarative requirements from the user / system (which specify the expected outcome applicable across various device types). Further examples of intent-based network management systems are detailed in the following documents: U.S. Patent 10,756,983, entitled "Intent-based Analytics," and U.S. Patent 10,992,543, entitled "Automatically generating an intent-based network model of an existing computer network," each of which is incorporated herein by reference.

[0054] According to the technology described in this disclosure, NMS 150 can obtain information from a site (e.g., Figure 1A One or more network devices (such as one or more network devices of wireless network 174) in site 102A) Figure 1AOne or more network devices (e.g., AP 106) and wired network 175. Figure 1A One or more network devices (e.g., switch 104) and SD-WAN 177) in the network. Figure 1A One or more servers (e.g., central and radiating routers 108) and / or hosting data centers 179 for cloud-based application services 181. Figure 1A The servers 110, 116, 122 and / or 128 in the network collect and / or measure network data 130.

[0055] As described above, NMS 150 can obtain network data associated with a network loop occurring at an AP in wireless network 174, as well as network data associated with network events occurring at one or more upstream network devices of that AP (such as network devices in wired network 175, SD-WAN 177, and / or data center 179). The loop troubleshooting module 135 of NMS 150 can correlate network data to one or more upstream network devices of the AP in wireless network 174 (e.g., switches in wired network 175 and / or routers 187 in SD-WAN 177) with the network data of the AP experiencing the network loop to determine whether a network event occurring at one or more upstream network devices of that AP is the root cause of the network loop. The loop troubleshooting module 135 can determine, based on the network data of the interconnected APs that have experienced the network loop and the network data to one or more upstream network devices of the AP, that a network event occurring at one or more upstream network devices is the root cause of the network loop, and can cause the NMS 150 to perform actions (such as generating a notification and sending the notification to the network administrator, and / or automatically repairing the root cause of the network loop).

[0056] Figure 2 This is a block diagram of an example access point 200 according to one or more technologies disclosed herein. Figure 2 The example AP 200 shown can represent, as described in this article, Figure 1A Example implementations of any AP in AP 106 shown and described. Access point 200 may include, for example, a Wi-Fi, Bluetooth and / or Bluetooth Low Energy (BLE) base station or any other type of wireless access point.

[0057] exist Figure 2In the example, AP 200 includes a wired interface 230, wireless interfaces 220A to 220B, one or more processors 206, memory 212, and input / output 210 coupled together via bus 214, through which various components can exchange data and information. Wired interface 230 represents a physical network interface and includes a receiver 232 and a transmitter 234 for receiving and sending network communications (e.g., packets). Wired interface 230 directly or indirectly couples AP 200 to one or more switches 104 for access. Figure 1A Network 134.

[0058] Wireless interfaces 220A and 220B represent wireless network interfaces and respectively include receivers 222A and 222B, each including a receiving antenna, through which AP 200 can receive signals from a wireless communication device (e.g., Figure 1A Any UE (such as a laptop computer, smartphone, tablet, wearable device, appliance, Internet of Things (IoT) device, and / or other wireless communication device) in UE 148 receives wireless signals. Wireless interfaces 220A and 220B also include transmitters 224A and 224B, respectively, each including a transmitting antenna through which AP 200 can transmit wireless signals to wireless communication devices. In some examples, wireless interfaces 220A and 220B can be used with other APs (e.g., Figure 1A The AP 220A communicates with any AP in AP 106 via its wireless interface. In some examples, wireless interface 220A may include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz). Wireless interface 220B may include a Bluetooth interface and / or a Bluetooth Low Energy (BLE) interface. However, these are given for illustrative purposes only, and this disclosure is not limited in this respect. In some examples, AP 200 may use Bluetooth and / or BLE interfaces to communicate with other access points.

[0059] Processor 206 is a programmable, hardware-based processor configured to execute software instructions (such as software instructions for defining software or computer programs) stored in a computer-readable storage medium (such as memory 212), such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) or memories (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 206 to perform one or more of the techniques described herein.

[0060] Memory 212 includes one or more means configured to store programming modules and / or data associated with the operation of AP 200. For example, memory 212 may include a computer-readable storage medium (such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) 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 206 to perform one or more of the techniques described herein.

[0061] In this example, memory 212 stores executable software, including an application programming interface (API) 240, a communication manager 242, configuration settings 250, a device status log 252, data 254, a log controller 255, and an NMS agent 256. The device status log 252 includes a list of network parameters and / or network events specific to AP 200. Network parameters may include any network parameters, such as those indicating one or more aspects of the wireless network's performance. In some examples, network parameters may include multiple states measured periodically as time-series data, which can be converted into one or more SLE metrics. Network parameters may be measured by client devices, AP 106 / 200, or another device associated with the wireless network.

[0062] Network events may include, for example, access point events and / or client device events. Access point events and / or client device events may each include logs of normal network events, neutral network events, and / or error network events. Network events may include, for example, memory status, reboot events, crash events, Ethernet port status, upgrade failure events, firmware upgrade events, configuration changes, authentication events, DNS events, DHCP events, roaming events, network loop events, etc., along with a timestamp and date stamp for each event. The log controller 255 determines the logging level for the device based on instructions from the NMS 150. Data 254 may store any data used and / or generated by the AP 200 (including data collected from client devices of the AP 200, such as data used to calculate one or more SLE metrics) that is sent by the AP 200 for cloud-based management of the wireless network by the NMS 150.

[0063] The communication manager 242 includes program code that, when executed by the processor 206, allows the AP 200 to communicate with client devices and / or the network 134 via interfaces 230 and / or any of 220A to 220B. Configuration settings 250 include any device settings for the AP 200, such as radio settings for each of the wireless interfaces 220A to 220B. These settings can be configured manually or remotely monitored and managed by the NMS 150 to optimize wireless network performance in real time or periodically (e.g., hourly or daily).

[0064] I / O 210 represents the physical hardware components that enable interaction with the user, such as buttons, touchscreens, displays, etc. Although not shown, memory 212 typically stores executable software used to control the user interface based on input received via I / O 210.

[0065] As described herein, AP 200 can measure network data (e.g., network parameters and / or network event data) from device status log 252 and report that network data to NMS 150. The network data indicates one or more aspects of the wireless network performance and / or the wireless network status. The network data can be measured and / or determined by one or more client devices of AP 200 in the wireless network and / or by one or more APs in AP 200. AP 200 can provide the network data to NMS 150 for use in the techniques described herein.

[0066] In some examples, NMS agent 256 may periodically create packets of statistical data based on a second periodic interval. In some examples, in addition to details about AP 200, the packets of statistical data may also include details about client devices connected to AP 200. NMS agent 256 may then report the packets of statistical data to NMS 150. In other examples, NMS 150 may request, retrieve, or otherwise receive packets of statistical data from AP 200 via an API, an open configuration protocol, or another communication protocol. Packets of statistical data created by NMS agent 256 or another module of AP 200 may include a header identifying AP 200, along with statistical data and a data sample. In other examples, NMS agent 256 reports event data to NMS 150 in response to the occurrence of certain events at AP 200.

[0067] Figure 3 This is a block diagram of an example network management system (NMS) 300 according to one or more technologies of this disclosure. NMS 300 can represent... Figure 1A and Figure 1BThis example demonstrates an implementation of NMS 150. In such an example, NMS 300 is responsible for monitoring and managing data in... Figure 1A One or more networks at sites 102A to 102C.

[0068] The NMS 300 includes a communication interface 330, one or more processors 306, a user interface 310, a memory 312, and a database 318. Various components are coupled together via a bus 314, through which they can exchange data and information. In some examples, the NMS 300... Figure 1A One or more of the AP 106 (and in some examples, the UE 148 associated with AP 106), switch 104, router 108, and other network devices at sites 102A to 102C receive data that can be used to determine network connectivity, calculate one or more SLE metrics, and / or update the network topology. The NMS 300 analyzes this data for cloud-based management of the wired and wireless networks at sites 102A to 102C. The received data (including network data 130) is stored in a database 318 as network data 316. In some examples, the NMS 300 may be... Figure 1A This refers to a portion of another server or any other server shown in the diagram.

[0069] Processor 306 executes software instructions (such as software instructions for defining software or computer programs) stored in a computer-readable storage medium (such as memory 312), such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) or memories (such as flash memory or RAM) or any other type of volatile or non-volatile memory, the computer-readable storage medium storing instructions to cause one or more processors 306 to perform the techniques described herein.

[0070] The communication interface 330 may include, for example, an Ethernet interface. The communication interface 330 couples the NMS 300 to a network and / or the Internet, such as... Figure 1A This refers to any network in network 134 shown, and / or any local area network. Communication interface 330 includes a receiver 332 and a transmitter 334, through which the NMS 300 receives data from AP 106, switch 104, router 108, servers 110, 116, 122, 128, and / or forms networks such as... Figure 1AAny other network node, device, or system that is part of the network system 100 shown may receive or send data and information to it. In some examples described herein, where the network system 100 includes “third-party” network devices owned and / or associated with entities different from NMS 300, NMS 300 may obtain network data from the third-party network devices through an agent (e.g., an edge device) communicatively coupled to the third-party network devices.

[0071] The NMS 300 can acquire data and information, including network data received from one or more of the following network devices: AP 106, switch 104, router 108, etc. Figure 1A The NMS 300 can remotely monitor the performance of wired and wireless networks at sites 102A to 102C by transmitting network data (130), SLE-related data, or event data. The NMS 300 can also send data via communication interface 330 to any network device (such as AP 106, switch 104, router 108, other network devices within the wired and wireless networks at sites 102A to 102C, and / or administrator device 111) to remotely manage the wired and wireless networks.

[0072] Memory 312 includes one or more means configured to store programming modules and / or data associated with the operation of NMS 300. For example, memory 312 may include a computer-readable storage medium (such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) 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.

[0073] exist Figure 3 In the example shown, memory 312 includes API 320, SLE module 322, Virtual Network Assistant (VNA) / AI engine 350, and Radio Resource Management (RRM) engine 360.

[0074] SLE module 322 enables the establishment and tracking of thresholds for SLE metrics for each wired and wireless network at sites 102A to 102C. SLE module 322 also analyzes SLE-related data collected by network devices such as AP 106, switch 104, and router 108. SLE module 322 can also analyze data from client devices in each wireless network at sites 102A to 102C. This data is sent to NMS 300, which executes SLE module 322 to determine one or more SLE metrics for AP 106, switch 104, and router 108. This SLE data can be stored in database 318 as, for example, network data 316.

[0075] RRM Engine 360 ​​monitors one or more metrics for each site 102A through 102C to understand and optimize the network environment at each site. For example, RRM Engine 360 ​​can monitor coverage and capacity SLE metrics for the wireless network at site 102 to identify potential SLE coverage and / or capacity issues in the wireless network and adjust the radio settings of the access points at each site to address the identified problems. For example, RRM Engine 360 ​​can determine the channel and transmit power distribution of all APs 106 across each wireless network at sites 102A through 102C. For example, RRM Engine 360 ​​can monitor events, power, channels, bandwidth, and the number of clients connected to each AP 106. RRM Engine 360 ​​can also automatically change or update the configuration of one or more APs 106 at site 102 to improve coverage and capacity SLE metrics, thereby providing users with an improved wireless experience.

[0076] According to the disclosed technology, the VNA / AI engine 350 includes a loop troubleshooting module 354, which is configured to determine the root cause of a network loop, as described herein. In some examples, the loop troubleshooting module 354 can identify the AP experiencing the network loop (e.g., Figure 1A Network data from AP 106A (in the network) to one or more upstream network devices (e.g., AP 106A) that have experienced a network loop. Figure 1A The network data of switches 104A to 104B and / or router 108A are correlated to determine whether a network event occurring at one or more upstream network devices is the root cause of the network loop experienced by AP 106A.

[0077] As an example, AP 106A (or NMS 300) can identify a network loop occurring at AP 106A. Loop troubleshooting module 354 can determine one or more upstream network devices of AP 106A based on a network graph containing topology information of network devices at a specified site. NMS 300 can identify neighboring network devices based on information associated with wireless signals exchanged between wireless communication devices (e.g., signal strength measurements, such as Received Signal Strength Indicator (RSSI) values) and / or information obtained via discovery protocols (e.g., link-layer discovery protocols) to determine neighboring network devices and generate a network graph (e.g., data from a network graph database) identifying the neighbor relationships of each network device in the network.

[0078] As an example, based on the determination that switches 104A to 104B and / or router 108A are upstream network devices of AP 106A, loop troubleshooting module 354 can correlate network data of the upstream network devices with timestamps of networking loop events detected by AP 106A (or occurring within the same time window) to determine whether the network data of the upstream network devices can indicate network events that may cause a networking loop at AP 106A.

[0079] Below is an example of interconnected data and the root causes of identification (e.g., as a JSON file):

[0080] {

[0081] "start_time": 1712246869000,

[0082] "end_time": 1712261140000,

[0083] "modification_time" : 1712261555000,

[0084] "entity_type" : "switch",

[0085] "entity_id" : "mock_site_id&mock_switch_mac_1",

[0086] "suggestion_time" : 1712261850348,

[0087] "suggestion" : "check_ap_loop",

[0088] "details" : {

[0089] "impacted_tuple" : [

[0090] {

[0091] "org_id" : "mock_org_id",

[0092] "site_id" : "mock_site_id",

[0093] "ap_id" : "mock_ap_mac_1",

[0094] "switch_id" : "SW-MOCK_SITE-BldgA-02",

[0095] "switch_name" : "SW-MOCK_SITE-BldgA-02",

[0096] "port_id" : "ge-0 / 0 / 20",

[0097] "firmware" : "0.12.xxxxx",

[0098] "model" : "AP12-US",

[0099] "start_time" : 1712260577000,

[0100] "end_time" : 1712260577000,

[0101] "switch_mac" : "mock_switch_mac_1",

[0102] "ap_name" : "AP-MOCK1-Lobby"

[0103] },

[0104] {

[0105] "org_id" : "mock_org_id",

[0106] "site_id" : "mock_site_id",

[0107] "ap_id" : "mock_ap_mac_2",

[0108] "switch_id" : "SW-MOCK_SITE-BldgA-02",

[0109] "switch_name" : "SW-MOCK_SITE-BldgA-02",

[0110] "port_id" : "ge-0 / 0 / 39",

[0111] "firmware" : "0.12.xxxxx",

[0112] "model" : "AP32-US",

[0113] "start_time" : 1712246869000,

[0114] "end_time" : 1712261140000,

[0115] "switch_mac" : "mock_switch_mac_1",

[0116] "ap_name" : "AP-MOCK2-Lobby"

[0117] }

[0118] ],

[0119] "impacted_ap_count" : 2,

[0120] "impacted_site" : [

[0121] "MOCK_SITE"

[0122] ],

[0123] "impacted_switch" : [

[0124] "SW-MOCK_SITE-BldgA-02"

[0125] ],

[0126] "impacted_ap" : [

[0127] "AP-MOCK1-Lobby",

[0128] "AP-MOCK2-Lobby"

[0129] ],

[0130] "loop_details" : {

[0131] "switch_events" : [

[0132] "SW_PORT_UP",

[0133] "SW_PORT_DOWN"

[0134] ],

[0135] "core_device_events" : [

[0136] “SW_STP_TOPO_CHANGED”

[0137] ],

[0138] "switch_id" : "mock_switch_mac_1",

[0139] "core_device_id" : "mock_core_device_mac_1",

[0140] "core_device_type" : "switch"

[0141] }

[0142] },

[0143] "category" : "ap",

[0144] "severity" : 50,

[0145] "impact_scope" : "switch",

[0146] "unique_key" : "mock_site_id& mock_switch_mac_1&loop_detected&1712260714",

[0147] "symptom" : "ap_loop",

[0148] "org_id" : "mock_org_id",

[0149] "status" : "open",

[0150] "snooze_expire_time" : 0,

[0151] "batch_count" : 1,

[0152] "mist_only" : true,

[0153] "enable_notification" : false,

[0154] "display_name" : "AP_LOOP",

[0155] "prefix" : "ap",

[0156] "entity_version" : null,

[0157] "site_id" : "mock_site_id",

[0158] "row_key" : "mock_org_id&ap_loop&mock_site_id& mock_switch_mac_1&loop_detected&1712260714&1712246869000",

[0159] "duration": 14271,

[0160] "msp_id" : null,

[0161] "suggestion_number": 28989,

[0162] "suggestion_id" : "ap-28989"

[0163] }

[0164] In the example of interconnected network data shown above, the loop troubleshooting module 354 can correlate network data 130 of the APs experiencing a network loop (e.g., "mock_ap_mac1" and "mock_ap_mac2") with network data 130 of upstream network devices (e.g., sub-switch "mock_switch_mac_1" and core switch "mock_core-device_mac_1") to that AP. In this example, the network data 130 of the upstream network device can indicate port oscillation events (e.g., "SW_PORT_UP" and "SW_PORT_DOWN") occurring at the sub-switch and topology change events (e.g., "SW_STP_TOPO_CHANGED") occurring at the core switch within or near the same time period as the network loop event.

[0165] Based on the interrelated network data, the loop troubleshooting module 354 can determine that a network event occurring at the core switch is the cause of the network loop experienced by the AP, and perform actions such as generating and sending a notification including an indication of the root cause of the network loop and / or a suggestion for remedying the network loop (e.g., suggestion_number 28989), and / or automatically performing remedial actions to mitigate or resolve the network loop problem (such as configuring one or more upstream network devices of the AP (e.g., correcting port oscillation problems), resetting or restarting one or more upstream network devices, invoking the download of new software to the upstream network device, etc.). These actions are given for illustrative purposes only, and this disclosure is not limited thereto.

[0166] In some examples, the loop troubleshooting module 354 can determine patterns of one or more network events over time within a time window, where the time window advances in time. For example, the loop troubleshooting module 354 can determine patterns of one or more network events within a time window prior to the current time, and as the current time advances, the loop troubleshooting module 354 can update the pattern to include one or more network events occurring over time, and exclude one or more network events falling outside the time window over time from the pattern. In other words, the time window can represent a rolling time window, which represents a constant amount of time (e.g., one minute, one hour, or any other constant amount of time) but advances over time. This means that if the network deteriorates or improves over time, the loop troubleshooting module 354 can continuously monitor the health of the network by analyzing one or more network events within the rolling time window.

[0167] In some examples, to correlate patterns of one or more network events with network loop events in a timely manner, the loop troubleshooting module 354 can use network data as input to execute one or more models (e.g., machine learning (ML) model 380). The loop troubleshooting module 354 can determine that network loop events are associated with a trend of deteriorating network conditions indicated by one or more network events. Based on determining this correlation, the loop troubleshooting module 354 can identify instances of network events occurring at upstream network devices (e.g., a port switching from an open state to a closed state) as the cause of a network loop that has occurred or will occur at an AP communicatively coupled to the upstream network device.

[0168] In some examples, ML model 380 may include an ML model trained using supervised or unsupervised machine learning techniques applied to training data, including pre-collected, labeled network data received from network devices (e.g., UEs, APs, switches, and / or other network nodes), to identify the root causes of network loops that occur or may occur at the access point. ML model 380 may include one of the following: neural networks, logistic regression, Naive Bayes, support vector machines (SVM), etc.

[0169] Figure 4 An example user equipment device 400 is shown. Figure 4 The example UE 400 shown can represent as described in this document regarding Figure 1A Example implementations of any UE in UE 148 shown and described. UE 400 may include any type of wireless client device, and this disclosure is not limited thereto. For example, UE 400 may include mobile devices such as smartphones, tablets or laptops, personal digital assistants (PDAs), wireless terminals, smartwatches, smart rings, or any other type of mobile or wearable device. UE 400 may also include any type of IoT device, such as printers, security sensors or devices, environmental sensors, or any other connected device configured to communicate over one or more wireless networks. In some examples, UE 400 may be referred to as a "user device" and / or a client device.

[0170] According to one or more techniques disclosed herein, network data (e.g., client identifier, AP identifier, RSSI measurement) can be stored as network data 454 in the client device memory 412 and sent directly to the NMS 150 / 300 or transmitted to the NMS via one or more AP devices 106 in the wireless network. In some examples, the NMS 150 receives relevant network data from the UE 148 continuously or intermittently.

[0171] Network data 454 may include, for example, RSSI measurements of one or more radio signals received by the UE 400 from one or more AP devices, the RSSI measurements being taken by the AP devices. Network data 454 may also include logs of STP messages, logs of broadcast discovery or registration messages, or other data. Network data may include one or more feedback responses from client device application feedback prompts presented to the user by the application via the client device user interface.

[0172] UE 400 includes a wired interface 430, wireless interfaces 420A to 420C, one or more processors 406, memory 412, and a user interface 410. The various components are coupled together via a bus 414, through which they can exchange data and information. The wired interface 430 includes a receiver 432 and a transmitter 434. The wired interface 430 can be used (if needed) to physically couple UE 400 to a network device for access. Figure 1A Network 134. Interfaces 420A, 420B, and 420C respectively include receivers 422A, 422B, and 422C, each receiver including a receiving antenna, through which the UE 400 can receive signals from a wireless communication device (such as...). Figure 1A AP device 106 in Figure 2 The UE 400 can receive wireless signals from AP 200, other UEs 148, or other devices configured for wireless communication. Interfaces 420A, 420B, and 420C also include transmitters 424A, 424B, and 424C, respectively, each including a transmitting antenna through which the UE 400 can transmit signals to wireless communication devices (such as AP 200, other UEs 148, or other devices configured for wireless communication). Figure 1A AP device 106 in Figure 2 The UE 400 transmits wireless signals to the AP 200, other UEs 148, and / or other devices configured for wireless communication. In some examples, the wireless interface 420A may include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz), and the wireless interface 420B may include a Bluetooth interface and / or a Bluetooth Low Energy interface. The cellular interface 420C may include, for example, a cellular interface through which the UE 400 can connect to a cellular network.

[0173] Processor 406 executes software instructions (such as software instructions for defining software or computer programs) stored in a computer-readable storage medium (such as memory 412), such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) or memories (such as flash memory or RAM) or any other type of volatile or non-volatile memory, the computer-readable storage medium storing instructions to cause one or more processors 406 to perform the techniques described herein.

[0174] Memory 412 includes one or more means configured to store programming modules and / or data associated with the operation of UE 400. For example, memory 412 may include a computer-readable storage medium (such as a non-transitory computer-readable medium including storage devices (e.g., disk drives or optical disk drives) 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 406 to perform the techniques described herein.

[0175] In this example, memory 412 includes operating system 440, application 442, communication module 444, configuration settings 450, and data storage device for network data 454. The data storage device for network data 454 may include, for example, a status / error log, which includes network data specific to UE 400. As described above, network data 454 may include any network data, events, and / or status that may be related to the determination of a network loop. Network data 454 may include event data, such as logs of normal and error events at the log-logging level based on instructions from a network management system (e.g., NMS 150 / 300). The data storage device for network data 454 may store any data used and / or generated by UE 400, such as any AP in AP 106 of the wireless network collected by UE 400 for further transmission to NMS 150. In some examples, UE 400 reports user impact data to NMS 150, such as via AP 106 or via API. In some examples, UE 400 includes an NMS agent (not shown) that communicates with NMS 150 using an API. In some examples, network data 454 may include information indicating network loops experienced by APs communicatively coupled to UE 400, such as an increase in the bandwidth of interface traffic.

[0176] The communication module 444 includes program code that, when executed by the processor 406, enables the UE 400 to communicate using any one of the wired interface 430, wireless interfaces 420A to 420B, and / or cellular interface 420C. The configuration settings 450 include any device settings configured for the client device 400 for each of the wireless interfaces 420A to 420B and / or cellular interface 420C.

[0177] Figure 5 This is a block diagram illustrating an example network node 500 configured according to the techniques described herein. In one or more examples, network node 500 may represent an attachment to... Figure 1AExample implementation of network devices or servers (e.g., router 108, switch 104, AAA server 110, DHCP server 116, DNS server 122, VNA 133, server 128, etc.) in network 134.

[0178] In this example, network node 500 includes a communication interface 502 (e.g., an Ethernet interface), a processor 506, input / output 508 (e.g., a display, buttons, keyboard, keypad, touchscreen, mouse, etc.), a memory 512, and a collection of components 516 (e.g., a collection of hardware modules, such as a collection of circuits, etc.) coupled together via a bus 514 through which various components can exchange data and information. The communication interface 502 couples network node 500 to a network, such as an enterprise network.

[0179] Although only one interface is shown by way of example, network node 500 may include multiple communication interfaces. Communication interface 502 includes a receiver 520 through which network node 500 can receive data and information. Communication interface 502 includes a transmitter 522 through which network node 500 can send data and information (e.g., including configuration information, authentication information, web page data, etc.).

[0180] In an example where network node 500 includes a server, network node 500 can receive data and information (e.g., including operation-related information (e.g., registration requests, AAA services, DHCP requests, Simple Notification Service (SNS) lookups, and web page requests)) via receiver 520, and send data and information (e.g., including configuration information, authentication information, web page data, etc.) via transmitter 522.

[0181] In examples where network node 500 includes wired network devices, network node 500 can be connected to one or more access points (APs) or other wired client-side devices (e.g., switches, routers, and / or IoT devices) within the wired network edge via wired communication interface 502. For example, network node 500 may include multiple wired communication interfaces 502, and / or wired communication interfaces 502 may include multiple physical ports for connection to multiple APs or other devices within the site via appropriate Ethernet cables. In some examples, each of the APs or other wired devices connected to network node 500 can access the wired network via the wired communication interface 502 of network node 500. In some examples, one or more of the APs or other wired devices connected to network node 500 can each draw power from network node 500 via appropriate Ethernet cables and the Power over Ethernet (PoE) port of the wired communication interface 502.

[0182] Memory 512 stores executable software applications 532, operating system 540, and data / information 530. Data 530 includes system logs and / or error logs, which store network data and / or proximity information for network node 500 and / or other devices (such as wireless access points) based on logging levels according to instructions from the network management system. In some examples, the network data included in data 530 may also include network traffic impact data from network devices, such as packets dropped at certain switch ports due to congestion. In some examples, network node 500 may forward network data to the network management system (e.g., ...). Figure 1A The NMS 150 (in the document) is used for analysis as described herein.

[0183] Data collected and reported by network node 500 may include periodically reported data and event-driven data. In some examples, network node 500 is configured to collect statistics and / or sample other data at periodic intervals. Network node 500 may store the collected and sampled data in, for example, a buffer. In some examples, NMS agent 534 may periodically create packets of statistics at periodic intervals. In some examples, the packets of statistics may also include details about clients connected to network node 500. NMS agent 534 may then report the packets of statistics to NMS 150 in the cloud. In other examples, NMS 150 may request, retrieve, or otherwise receive packets of statistics from network node 500 via API, open configuration protocols, or other communication protocols. Packets of statistics created by NMS agent 534 or another module of network node 500 may include a header identifying network node 500 and statistics and data samples from network node 500 for each logical path in the logical path. In other examples, NMS agent 534 reports event data to NMS 150 in the cloud in response to the occurrence of certain events at network node 500.

[0184] In some examples, data 530 may include information indicating network performance, connectivity, status, and / or other information indicating network events or problems of network node 500. For example, data 530 of network node 500 may include data indicating the connectivity of the network node to other network devices, such as information identifying devices connected to network node 500, connectivity status to other devices, port status of network node 500, network telemetry data of network node 500's connections, configuration information associated with the software configuration of network node 500 (e.g., firmware configuration status), information associated with the network topology configuration of network node 500 (e.g., port configuration, VLAN configuration, etc.), and / or other information indicating network events or problems of network node 500.

[0185] Figure 6 This is an example of determining, according to one or more techniques of this disclosure, the root cause of a VLAN configuration problem in an upstream network device of an AP that is the cause of a network loop occurring at that AP. Figure 6 It is about Figure 1A The NMS 150 is described and illustrated in the document.

[0186] exist Figure 6 In the example, the network system may include a hierarchical network architecture comprising WAN 602, parent node 604, child nodes 606A to 606B, and APs 608A to 608E. Parent node 604 is communicatively coupled to WAN 602 and child nodes 606A to 606B. Parent node 604 may represent, for example, a core switch, such as... Figure 1A Switch 104A in the example. In some examples, parent node 604 can represent a gateway device, such as... Figure 1A Router 108A is used in this configuration. Child nodes 606A to 606B are communicatively coupled to parent node 604 and APs 608A to 608E, respectively. Child nodes 606A to 606B can each represent, for example, a leaf switch, such as... Figure 1A Switches 104B and 104C are included. APs 608A to 608E are communicatively coupled to child nodes 606A to 606B, and each can represent, for example... Figure 1A One of the APs in AP 106.

[0187] exist Figure 6 In the example, network loop event 610 can occur at AP 608A. For example, NMS 150 or AP608A can determine that AP 608A has received inbound network packets previously forwarded by AP 608A based on monitoring network traffic at AP 608A.

[0188] NMS 150 can obtain network data from one or more upstream devices of AP 608A (such as child node 606A and / or parent node 604) that occurred within or near the same time period as network loop event 610. In this example, NMS 150 can obtain network data indicating a VLAN configuration event 612 occurring at parent node 604 (e.g., VLAN configuration status information indicating a VLAN configuration problem), which causes network traffic from AP 608A intended for WAN 602 to be sent back to AP 608A.

[0189] The loop troubleshooting module 135 can correlate network data associated with the VLAN configuration event 612 of the parent node 604 and network data associated with the network loop event 610 of the AP 608A, and determine whether the VLAN configuration event 612 of the parent node 604 is the root cause of the network loop event 610 of the AP 608A. Based on the correlated network data, the loop troubleshooting module 135 can determine that the root cause of the network loop event 610 of the AP 608A is the VLAN configuration event 612 of the parent node 604. In response to the determination that the VLAN configuration event 612 of parent node 604 is the root cause of the network loop event 610, the loop troubleshooting module 135 may perform actions such as generating and sending a notification including an indication of the root cause of the network loop (e.g., a VLAN configuration problem with parent node 604) and / or a suggestion for remedying the network loop (e.g., a suggestion for correcting the VLAN configuration of parent node 604), and / or automatically performing remedial actions to mitigate or resolve the network loop problem (e.g., operations to configure parent node 604, resetting or restarting parent node 604, invoking the download of new software to parent node 604, etc.).

[0190] Figure 7 This is an example of determining the root cause of port oscillation problems of upstream network devices of an AP according to one or more techniques of this disclosure, resulting in network loops occurring at that AP. Figure 7 It is about Figure 1A The NMS 150 is described and illustrated in the document.

[0191] exist Figure 7 In the example, the network system may include a hierarchical network architecture comprising WAN 702, parent node 704, child nodes 706A to 706B, and APs 708A to 708E. Parent node 704 is communicatively coupled to WAN 702 and child nodes 706A to 706B. Parent node 704 may represent, for example, a core switch, such as... Figure 1A Switch 104A in the example. In some examples, parent node 704 can represent a gateway device, such as... Figure 1ARouter 108A is used in this configuration. Child nodes 706A to 706B are communicatively coupled to parent node 704 and APs 708A to 708E, respectively. Child nodes 706A to 706B can each represent, for example, a leaf switch, such as... Figure 1A Switches 104B and 104C are included. APs 708A to 708E are communicatively coupled to child nodes 706A to 706B, and each can represent, for example... Figure 1A One of the APs in AP 106.

[0192] exist Figure 7 In the example, network loop event 710 can occur at AP 708A, and network loop event 714 can occur at AP 708E. For example, NMS 150 or AP 708A can determine that AP 708A has received an inbound network packet previously forwarded by AP 708A based on monitoring the network traffic of AP 708A. Similarly, NMS 150 or AP 708E can determine that AP 708E has received an inbound network packet previously forwarded by AP 708E based on monitoring the network traffic of AP 708E.

[0193] NMS 150 can obtain network data from one or more upstream devices of AP 708A (such as child node 706A and / or parent node 704) that occurred within or near the same time period as network loop event 710. NMS 150 can also obtain network data from one or more upstream devices of AP 708E (such as child node 706B and / or parent node 704) that occurred within or near the same time period as network loop event 714. In this example, NMS 150 can obtain network data indicating a port oscillation event 712 occurring at parent node 704 (e.g., port status information indicating a port oscillation problem), which causes network traffic from AP 708A to be sent back to AP 708A. Similarly, NMS 150 can obtain network data indicating a port oscillation event 716 occurring at child node 706B, which causes network traffic from AP 708E to be sent back to AP 708E.

[0194] The loop fault troubleshooting module 135 can correlate network data associated with port oscillation event 712 of parent node 704 and network data associated with network loop event 710 of AP 708A, and determine whether port oscillation event 712 of parent node 704 is the root cause of network loop event 710 of AP 708A. Similarly, the loop fault troubleshooting module 135 can correlate network data associated with port oscillation event 716 of child node 706B and network loop event 714 of AP 708E, and determine whether port oscillation event 716 of child node 706B is the root cause of network loop event 714 of AP 708E.

[0195] Based on the interconnected network data, the loop fault troubleshooting module 135 can determine that the port oscillation event 712 of the parent node 704 is the root cause of the network loop event 710 of AP 708A and / or determine that the port oscillation event 716 of the child node 706 is the root cause of the network loop event 714 of AP 708E. In response to determining that port oscillation event 712 is the root cause of network loop event 710 and / or determining that port oscillation event 716 is the root cause of network loop event 714, the loop troubleshooting module 135 may perform actions such as generating and sending a notification including an indication of the root cause of the network loop (e.g., port oscillation problem of parent node 704 and / or port oscillation problem of child node 706B) and / or a suggestion for remedying the network loop (e.g., a suggestion for correcting the port configuration of parent node 704 and / or child node 706B), and / or automatically performing remedial actions to mitigate or resolve the network loop problem (e.g., configuring the operation of parent node 704 and / or child node 706B, resetting or restarting parent node 704 and / or child node 706B, invoking the download of new software to parent node 704 and / or child node 706B, etc.).

[0196] Figure 8 This is a flowchart illustrating the operation of an NMS (Network Management System) configured as an AP-based upstream network device to determine the root cause of a network loop occurring at the AP based on one or more network events according to one or more techniques of this disclosure. For convenience, Figure 8 It is about Figure 1A The network system 100 in the text is used for description. However, Figure 8 The technology can be implemented by different components of the network system 100 or by additional or alternative devices.

[0197] NMS 150 can obtain information about multiple network devices, indicating multiple network events occurring at the multiple network devices (802). In some examples, this information may include a network loop event occurring at the access point and one or more network events occurring at an upstream device of the access point. For example, one or more events occurring at the upstream device may include the status of the upstream device's port, the configuration status of the upstream device, the connectivity status of the upstream device, and / or other network data from the upstream device that may be the cause of the network loop occurring at the access point.

[0198] NMS 150 can determine whether one or more network events occurring at an upstream device are the root cause of a network loop event occurring at the access point by correlating multiple network events (804). For example, NMS 150 can determine the upstream device communicatively coupled to the access point based on a network diagram of a hierarchical network. NMS 150 can determine whether the first time period matches the second time period by comparing a first time period of one or more network events occurring at the upstream device with a second time period of the network loop event occurring at the access point. In some examples, NMS 150 can correlate one or more network events occurring at the upstream device with the network loop event based on determining that one or more network events at the upstream device occurred in the same or similar time period as the network loop event occurring at the access point.

[0199] The NMS 150 can perform actions to remedy the network loop event (806) based on determining that one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point. For example, the NMS 150 can generate and send a notification including an indication of the root cause of the network loop, and / or automatically perform remedial actions to mitigate or resolve the network loop problem (such as configuring the operation of one or more upstream network devices of the AP experiencing the AP loop, or restarting one or more upstream network devices).

[0200] The techniques described herein can be implemented using software, hardware, and / or a combination of software and hardware. Various examples relate to devices, such as mobile nodes, mobile wireless terminals, base stations (e.g., access points), and communication systems. Various examples also relate to methods, such as methods for controlling and / or operating communication devices (e.g., wireless terminals (UEs), base stations, control nodes, access points, and / or communication systems). Various examples also relate to non-transitory machines (e.g., computer-readable media (e.g., ROM, RAM, CDs, hard disks, etc.)), which include machine-readable instructions for controlling the machine to implement one or more operations of the method.

[0201] The specific order or hierarchy of steps in the disclosed process is an example of an exemplary method. Based on design preferences, the specific order or hierarchy of steps in these processes can be rearranged while remaining within the scope of this disclosure. The appended method claims present the elements of the various steps in an exemplary order, but are not intended to limit one to the specific order or hierarchy presented.

[0202] In various examples, the apparatuses and nodes described herein are implemented using one or more modules to perform steps corresponding to one or more methods, such as signal generation, transmission, processing, and / or reception steps. Thus, in some examples, various features are implemented using modules. Such modules can be implemented using software, hardware, or a combination of software and hardware. In some examples, each module is implemented as a separate circuit, wherein the apparatus or system includes separate circuitry for implementing the functionality corresponding to each described module. Many of the methods or method steps described above can be implemented using machine-executable instructions (such as software) included in a machine-readable medium such as a memory device (e.g., RAM, floppy disk, etc.) to control a machine (e.g., a general-purpose computer with or without additional hardware) in one or more nodes to implement all or part of the methods described above. Accordingly, in addition, various examples involve machine-readable media (e.g., non-transitory computer-readable media) including machine-executable instructions for causing a machine (e.g., a processor and associated hardware) to perform one or more steps of the methods described above. Some examples involve devices that include a processor configured to implement one, more, or all of the steps of one or more methods of an example aspect.

[0203] In some examples, the processor or multiple processors (e.g., CPUs) of one or more devices (e.g., communication devices such as wireless terminals (UEs) and / or access nodes) are configured to perform the steps of methods described as being performed by the devices. The processor configuration can be implemented by controlling the processor configuration using one or more modules (e.g., software modules), and / or by including hardware (e.g., hardware modules) in the processor to perform the described steps and / or control the processor configuration. Accordingly, some, but not all, examples involve communication devices (e.g., user equipment) having a processor, the processor including modules corresponding to each step of the various described methods performed by the device including the processor. In some, but not all, examples, the communication device includes modules corresponding to each step of the various described methods performed by the device including the processor. These modules can be implemented purely in hardware (e.g., implemented as circuits), or can be implemented using software and / or hardware, or a combination of software and hardware.

[0204] Some examples relate to computer program products comprising computer-readable media including code for causing a computer or multiple computers to perform various functions, steps, actions, and / or operations (e.g., one or more steps described above). In some examples, the computer program product may, and sometimes does, include different code for each step to be performed. Thus, the computer program product may, and sometimes does, include code for each individual step of a method (e.g., a method for operating a communication device (e.g., a wireless terminal or node)). The code may be in the form of machine (e.g., computer-executable instructions stored on a computer-readable medium such as RAM (random access memory), ROM (read-only memory), or other types of storage devices). In addition to relating to computer program products, some examples relate to processors configured to implement one or more of the various functions, steps, actions, and / or operations of one or more methods described above. Accordingly, some examples relate to processors (e.g., CPUs, graphics processing units (GPUs), digital signal processing (DSP) units, etc.) configured to implement some or all of the steps of the methods described herein. The processor can be used in, for example, a communication device or other device described in this application.

[0205] In view of the foregoing description, numerous additional variations of the methods and apparatuses of the various examples described above will be apparent to those skilled in the art. Such variations are considered to be within the scope of this disclosure. These methods and apparatuses can be used with, and in various examples with, BLE, LTE, CDMA, orthogonal frequency division multiplexing (OFDM), and / or various other types of communication technologies that can be used to provide a wireless communication link between an access node and a mobile node. In some examples, the access node is implemented as a base station that uses OFDM and / or CDMA to establish a communication link with a user equipment device (e.g., a mobile node). In various examples, the mobile node is implemented as a notebook computer, a personal data assistant (PDA), or other portable device that includes receiver / transmitter circuitry and logic and / or routines for implementing the methods.

[0206] In the detailed implementation, numerous specific details are set forth to provide a thorough understanding of some examples. However, some examples can be implemented without these specific details. In other cases, well-known methods, procedures, components, units, and / or circuits have not been described in detail for the sake of simplicity.

[0207] Some examples can be used with a wide variety of devices and systems, such as user equipment (UE), mobile devices (MD), radio stations (STA), wireless terminals (WT), personal computers (PC), desktop computers, mobile computers, laptop computers, notebook computers, tablet computers, server computers, handheld computers, handheld devices, personal digital assistant (PDA) devices, handheld PDA devices, airborne devices, external devices, hybrid devices, vehicle devices, non-vehicle devices, mobile or portable devices, consumer devices, non-mobile or non-portable devices, wireless communication stations, wireless communication devices, wireless access points (AP), wired or wireless routers, wired or wireless modems, video devices, audio devices, audio-video (A / V) devices, wired or wireless networks, wireless local area networks, wireless video local area networks (WVAN), local area networks (LAN), wireless LANs (WLAN), personal area networks (PAN), wireless PANs (WPAN), etc.

[0208] Some examples can be used in conjunction with: devices and / or networks operating according to existing Wireless Gigabit Alliance (WGA) specifications (Wireless Gigabit Alliance WiGig MAC and PHY Specification Version 1.1, April 2011, Final Specification) and / or future versions and / or derivatives thereof; devices and / or networks operating according to existing IEEE 802.11 standards (IEEE 802.11-2012, IEEE Information Technology Standards – Telecommunications and Information Exchange between Systems Local Area Networks and Metropolitan Area Networks – Specific Requirements Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specification, March 29, 2012); IEEE 802.11ac-2013 (“IEEE P802.11ac-2013, IEEE Information Technology Standards – Telecommunications and Information Exchange Between Systems – Local Area Networks and Metropolitan Area Networks – Specific Requirements – Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specification – Revision 4: Enhancements for Ultra-High Throughput Operation in the Sub-6 GHz Band”, December 2013); IEEE 802.11ad (“IEEE P802.11ad-2012, IEEE Information Technology Standards – Telecommunications and Information Exchange Between Systems – Local Area Networks and Metropolitan Area Networks – Specific Requirements – Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specification – Revision 3: Enhancements for Ultra-High Throughput Operation in the 60 GHz Band”, December 28, 2012); IEEE-802.11REVmc (“IEEE... 802.11-REVmcTM / D3.0, June 2014, Draft Information Technology Standards - Telecommunication and Information Exchange Specific Requirements between System LANs and Metropolitan Area Networks; Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications”; IEEE 802.11-ay (P802.11ay Information Technology Standards - Telecommunication and Information Exchange between System LANs and Metropolitan Area Networks - Specific Requirements Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications - Revision: Enhanced Throughput for Operation in Unlicensed Bands Above 45 GHz); IEEE 802.11-2016 and / or future versions and / or derivatives thereof; Devices and / or networks operating under existing Wi-Fi Alliance (WFA) Peer-to-Peer (P2P) specifications (Wi-Fi P2P Technical Specification, Version 1).5. Apparatus and / or networks operating under existing cellular specifications and / or protocols (e.g., 3GPP, 3GPP Long Term Evolution (LTE)) and / or future versions and / or derivatives thereof; units and / or apparatuses operating as part of the aforementioned networks or using any one or more of the aforementioned protocols, etc.

[0209] Some examples can be used in conjunction with the following: one-way and / or two-way radio communication systems, cellular radio telephone communication systems, mobile phones, cellular phones, wireless phones, personal communication system (PCS) devices, PDA devices incorporating wireless communication devices, mobile or portable global positioning system (GPS) devices, devices incorporating GPS receivers or transceivers or chips, devices incorporating RFID elements or chips, multiple-input multiple-output (MIMO) transceivers or devices, single-input multiple-output (SIMO) transceivers or devices, multiple-input single-output (MISO) transceivers or devices, devices having one or more internal antennas and / or external antennas, digital video broadcasting (DVB) devices or systems, multi-standard radio devices or systems, wired or wireless handheld devices (e.g., smartphones), Wireless Application Protocol (WAP) devices, etc.

[0210] Some examples can be used in conjunction with one or more types of wireless communication signals and / or systems, such as radio frequency (RF), infrared (IR), frequency division multiplexing (FDM), orthogonal FDM (OFDM), orthogonal frequency division multiple access (OFDMA), time division multiplexing (TDM) with FDM, time division multiple access (TDMA), multi-user MIMO (MU-MIMO), space division multiple access (SDMA), extended TDMA (E-TDMA), General Packet Radio Service (GPRS), extended GPRS, code division multiple access (CDMA), wideband CDMA (WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA, multi-carrier modulation (MDM), discrete multi-tone (DMT), Bluetooth, Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee. TM Ultra-wideband (UWB), Global System for Mobile Communications (GSM), 2G, 2.5G, 3G, 3.5G, 4G, fifth-generation (5G) or sixth-generation (6G) mobile networks, 3GPP, Long Term Evolution (LTE), LTE Advanced, Enhanced Data Rate GSM Evolution (EDGE), etc. Other examples can be used in a variety of other devices, systems, and / or networks.

[0211] Some demonstrative examples can be used in conjunction with WLANs (Wireless Local Area Networks), such as Wi-Fi networks. Other examples can be used in conjunction with any other suitable wireless communication network, such as wireless local area networks, piconet, WPAN, WVAN, etc.

[0212] Some examples can be used in conjunction with wireless communication networks that communicate in the 2.4 GHz, 5 GHz, and / or 60 GHz bands. However, other examples can be implemented using any other suitable wireless communication band, such as extremely high frequency (EHF) bands (millimeter wave (mmWave) bands) (e.g., bands within the band between 20 GHz and 300 GHz), WLAN bands, WPAN bands, bands according to the WGA specification, and so on.

[0213] While only a few simple examples of various device configurations have been provided above, it will be understood that numerous variations and substitutions are possible. Furthermore, this technique is not limited to any particular channel but is generally applicable to any frequency range / channel. Additionally, and as discussed, this technique can be useful in unlicensed spectrum.

[0214] Although examples are not limited in this respect, discussions using terms such as “processing,” “computing,” “operating,” “determining,” “establishing,” “analyzing,” “checking,” etc., can refer to the operation and / or process of a computer, computing platform, computing system, communication system or subsystem, or other electronic computing device, which will manipulate and / or transform data representing physical (e.g., electronic) quantities in the registers and / or memory of a computer into other data representing physical quantities similarly represented in the registers and / or memory of a computer or other information storage medium that may store instructions to perform the operation and / or process.

[0215] While examples are not limited in this regard, the terms "plurality" and "a plurality" as used herein can include, for example, "a plurality" or "two or more". The terms "plurality" or "a plurality" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, circuits, etc. For example, "multiple stations" can include two or more stations.

[0216] It may be advantageous to define certain words and phrases used throughout this document: the terms “comprising” and “including” and their derivatives mean unlimited inclusion; the term “or” is inclusive, meaning and / or; the phrases “associated with” and “related to” and their derivatives may mean including, being included in, interconnected with, being interconnected with, containing, being contained in, connected to or connected with, coupled to or coupled with, able to communicate with, cooperate with, interleaved, juxtaposed, proximate with, bound to or bound with, having, having the characteristics of, etc.; the term “controller” means any device, system, or part thereof that controls at least one operation, such device may be implemented by hardware, circuitry, firmware, or software, or some combination of at least two of these. The functionality associated with any particular controller may be centralized or distributed, local or remote. Definitions of certain words and phrases are provided throughout this document, and it will be understood by those skilled in the art that in many, if not most, cases, such definitions apply to the prior and future use of the words and phrases defined therein.

[0217] Examples have been described regarding communication systems and the protocols, techniques, means, and methods used to perform communication (such as in wireless networks, or any communication network that typically operates using any communication protocol). Such examples are home or access networks, wireless home networks, wireless corporate networks, etc. Generally, the systems, methods, and techniques disclosed herein are equally well applicable to other types of communication environments, networks, and / or protocols.

[0218] For illustrative purposes, numerous details are set forth to provide a thorough understanding of the present technology. In addition to the specific details set forth herein, this disclosure can be implemented in various other ways. Furthermore, while the examples shown herein depict various components of a system juxtaposed, these components can reside at different parts of a distributed network (such as a communication network, a node), within a domain host and / or the Internet, or within a dedicated secure, insecure, and / or encrypted system, and / or within a network operation or management apparatus (located inside or outside the network). As an example, a domain host can also be used to refer to any apparatus, system, or module that manages or configures any one or more aspects of the network or communication environment and / or transceivers and / or stations and / or access points described herein, or communicates with these items.

[0219] Therefore, system components can be combined into one or more devices, or split among devices (such as transceivers, access points, stations, domain hosts, network operation or management devices, nodes), or co-located on specific nodes of a distributed network (such as a communication network). For computational efficiency reasons, system components can be placed anywhere within the distributed network without affecting their operation. For example, various components can reside in domain hosts, nodes, domain management devices such as MIBs, network operation or management devices, transceivers, stations, access points, or some combination thereof. Similarly, one or more functional parts of the system can be distributed between transceivers and associated computing devices / systems.

[0220] Furthermore, various links (including any communication channels / elements / lines connecting elements) can be wired links or wireless links or any combination thereof, or any other known or later-developed element capable of providing data to and / or transmitting data from connected elements. The term "module" as used herein can refer to any known or later-developed hardware, circuitry, software, firmware, or combination thereof capable of performing the functions associated with that element. The terms "determination," "operation," and "computation," and their variations, as used herein, are used interchangeably and include any type of method, process, technique, mathematical operation, or protocol.

[0221] Furthermore, while some of the examples described herein refer to the transmitter portion of a transceiver that performs certain functions or the receiver portion of a transceiver that performs certain functions, this disclosure applies to transceivers and / or other transceivers that include corresponding and complementary transmitter-side or receiver-side functions, respectively, and vice versa.

[0222] Examples of enhanced communication are described. However, in general, the systems and methods described herein will be equally well applied to any type of communication system in any environment utilizing any one or more protocols, including wired communication, wireless communication, power line communication, coaxial cable communication, fiber optic communication, etc.

[0223] Example systems and methods are described with respect to IEEE 802.11 and / or Bluetooth® and / or Bluetooth® Low Energy transceivers and associated communication hardware, software, and communication channels. However, to avoid unnecessarily obscuring this disclosure, well-known structures and apparatuses, which may be shown in block diagrams or otherwise generalized, are omitted in the following description.

[0224] Although the flowchart described above has been discussed regarding the specific sequence of events, this sequence can be changed without substantially affecting the operation of the examples. Furthermore, the example techniques shown herein are not limited to the specific examples illustrated, but can be used in conjunction with other examples, and each described feature can be claimed individually and separately.

[0225] The system described above can be implemented on wireless telecommunications devices / systems such as IEEE 802.11 transceivers. Examples of wireless protocols that can be used with this technology include IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 802.11ah, IEEE 802.11ai, IEEE 802.11aj, IEEE 802.11aq, IEEE 802.11ax, Wi-Fi, LTE, 4G, Bluetooth®, WirelessHD, WiGig, WiGi, 3GPP, Wireless LAN, WiMAX, DensiFi SIG, Unifi SIG, 3GPP LAA (Licensed Assisted Access), etc.

[0226] Additionally, systems, methods, and protocols can be implemented to improve one or more of the following: dedicated computers, programmable microprocessors or microcontrollers and peripheral integrated circuit elements, ASICs or other integrated circuits, digital signal processors, hardwired electronic or logic circuits (such as discrete component circuits), programmable logic devices (such as PLDs, PLAs, FPGAs, PALs), modems, transmitters / receivers, any similar means, etc. Generally, any device capable of implementing a state machine can benefit from the various communication methods, protocols, and techniques provided herein, which in turn enable the state machine to implement the methods shown herein.

[0227] Examples of processors described herein may include, but are not limited to, at least one of the following: Qualcomm® Snapdragon® 800 and 801 with 4G LTE integration and 64-bit computing, Qualcomm® Snapdragon® 610 and 615, Apple® A7 processor with 64-bit architecture, Apple® M7 motion coprocessor, Samsung® Exynos® series, Intel® Core™ series processors, Intel® Xeon® series processors, Intel® Atom™ series processors, Intel® Itanium® series processors, Intel® Core® i5-4670K and i7-4770K 22nm Haswell, Intel® Core® i5-3570K 22nm Ivy Bridge, AMD® FX™ series processors, AMD® FX-4300, FX-6300 and FX-8350 32nm Vishera, AMD® Kaveri processors, Texas Instruments® Jacinto C6000™ automotive infotainment processors, Texas Instruments® OMAP™ automotive mobile processors, ARM® Cortex™-M processors, ARM® Cortex-A and ARM926EJ-S™ processors, Broadcom® AirForce BCM4704 / BCM4703 wireless networking processors, AR7100 wireless networking processing units, other industrial equivalent processors, and examples of processors as described herein can perform computing functions using any known or future-developed standards, instruction sets, libraries, and / or architectures.

[0228] Furthermore, the disclosed methods can be readily implemented in software using object-oriented or object-based software development environments that provide portable source code usable on various computer or workstation platforms. Alternatively, the disclosed systems can be implemented partially or entirely in hardware using standard logic circuits or VLSI designs. Whether to implement in software or hardware depends on the system's speed and / or efficiency requirements, specific functions, and the particular software or hardware system or microprocessor or microcomputer system used. The communication systems, methods, and protocols illustrated herein can be readily implemented in hardware and / or software by those skilled in the art, based on the functional descriptions provided herein and utilizing general knowledge of the computer and telecommunications fields, using any known or subsequently developed systems or structures, devices, and / or software.

[0229] Furthermore, the disclosed techniques can be readily implemented in software and / or firmware, which can be stored on a storage medium to improve the performance of a general-purpose computer in cooperation with a controller and memory, a dedicated computer, a microprocessor, etc. In these cases, the system and methods can be implemented as programs embedded in a personal computer (such as applets, JAVA, or CGI scripts), as resources residing on a server or computer workstation, as routines embedded in a dedicated communication system or system component, and so on. The system can also be implemented by physically incorporating the system and / or methods into a software and / or hardware system (such as the hardware and software system of a communication transceiver).

[0230] This disclosure describes systems and methods for troubleshooting and repairing problems to enhance and improve network devices. Many substitutions, modifications, and variations will be apparent or obvious to those skilled in the art. Accordingly, this disclosure applies to all such substitutions, modifications, equivalents, and variations within the spirit and scope of this disclosure.

Claims

1. A network management system (NMS), comprising: Memory; as well as One or more processors coupled to the memory, the one or more processors being configured to: Information is obtained from multiple network devices, the information indicating multiple network events occurring at the multiple network devices, wherein the multiple network events include at least a network loop event occurring at the access point of the multiple network devices and one or more network events occurring at an upstream device of the access point; Based on the correlation of the multiple network events, it is determined whether one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; and Based on the determination that the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point, actions are taken to remedy the network loop event.

2. The NMS according to claim 1, wherein, The one or more network events occurring at the upstream device include at least one of the following: Network events indicating port oscillations experienced by the upstream device; Network events indicating misconfiguration or loss of a virtual LAN; and Network events that indicate topology changes.

3. The NMS according to claim 1, wherein, The one or more network events occurring at the upstream device include at least one of the following: Network events that indicate the status of the port of the upstream device; Network events indicating the configuration status of the upstream device; and Network events that indicate the connectivity status of the upstream device.

4. The NMS according to claim 1, wherein, The upstream device includes at least one of the following: Leaf switch; Rig switch; and Gateway device.

5. The NMS according to claim 1, wherein, In order to determine whether one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point by correlating the multiple network events, the one or more processors are configured to: Based on the network diagram including the plurality of network devices, it is determined that the upstream device is communicatively coupled to the access point; and The determination of whether the first time period matches the second time period is based on a comparison of a first time period of the one or more network events occurring at the upstream device and a second time period of the network loop event occurring at the access point.

6. The NMS according to any one of claims 1 to 5, wherein, In order to perform the action to remedy the network loop event, the one or more processors are configured to: A notification is sent specifying that one or more events occurring at the upstream device are the root cause of the network loop event occurring at the access point.

7. The NMS according to claim 6, wherein, The notification includes recommendations for remedying the network loop event.

8. The NMS according to any one of claims 1 to 5, wherein, In order to perform the action to remedy the network loop event, the one or more processors are configured to: Automatically perform actions to remedy the one or more network events that occur at the upstream device.

9. The NMS according to claim 8, wherein, In order to automatically perform the action to remedy the one or more network events occurring at the upstream device, the one or more processors are configured to perform one or more of the following operations: Send instructions to configure the upstream device to remedy the one or more network events occurring at the upstream device; Restart the upstream device; as well as Reset the upstream device.

10. A method for managing a network, the method comprising: Information about multiple network devices is obtained from the network management system. The information indicates multiple network events occurring at the multiple network devices. The multiple network events include at least a network loop event occurring at the access point of the multiple network devices and one or more network events occurring at the upstream device of the access point. The network management system determines, by correlating the multiple network events, whether one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; and The network management system performs actions to remedy the network loop event based on the determination that one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point.

11. The method according to claim 10, wherein, The one or more network events occurring at the upstream device include at least one of the following: Network events indicating port oscillations experienced by the upstream device; Network events indicating misconfiguration or loss of a virtual LAN; and Network events that indicate topology changes.

12. The method according to claim 10, wherein, The one or more network events occurring at the upstream device include at least one of the following: Network events that indicate the status of the port of the upstream device; Network events indicating the configuration status of the upstream device; and Network events that indicate the connectivity status of the upstream device.

13. The method according to claim 10, wherein, The upstream device includes at least one of the following: Leaf switch; Rig switch; and Gateway device.

14. The method of claim 10, wherein, The root cause for determining whether one or more network events occurring at the upstream device are network loop events occurring at the access point based on correlating the multiple network events includes: Based on the network diagram including the plurality of network devices, it is determined that the upstream device is communicatively coupled to the access point; and The determination of whether the first time period matches the second time period is based on a comparison of a first time period of the one or more network events occurring at the upstream device and a second time period of the network loop event occurring at the access point.

15. The method according to any one of claims 10 to 14, wherein, Performing the actions to remedy the network loop event includes: A notification is sent specifying that one or more events occurring at the upstream device are the root cause of the network loop event occurring at the access point.

16. The method according to claim 15, wherein, The notification includes recommendations for remedying the network loop event.

17. The method according to any one of claims 10 to 14, wherein, Performing the actions to remedy the network loop event includes: Automatically perform actions to remedy the one or more network events that occur at the upstream device.

18. The method according to claim 17, wherein, Automatically performing the action to remedy the one or more network events occurring at the upstream device includes one or more of the following operations: Send instructions to configure the upstream device to remedy the one or more network events occurring at the upstream device; Restart the upstream device; as well as Reset the upstream device.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform the following operations: Information is obtained from multiple network devices, the information indicating multiple network events occurring at the multiple network devices, wherein... The plurality of network events include at least a network loop event occurring at the access point of the plurality of network devices and one or more network events occurring at the upstream device of the access point; By correlating the multiple network events, it is determined whether one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point; as well as Based on the determination that the one or more network events occurring at the upstream device are the root cause of the network loop event occurring at the access point, actions are taken to remedy the network loop event.

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