Adaptive visual indicator controller
By dynamically controlling the visual indicators through the controller of the data center network system, the problem of low energy efficiency in data centers is solved, unnecessary power consumption is reduced, and energy efficiency is improved.
Patent Information
- Application Number
- CN202411560878.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-09-03
- Filing Date
- 2024-11-04
- Publication Date
- 2025-03-11
AI Technical Summary
Energy usage in data centers increases with scale, and traditional methods struggle to dynamically improve energy efficiency, especially since visual indicators for network devices consume a significant amount of power and continue to consume power even when improperly configured or unstable.
The network system controller dynamically controls the activation and deactivation of visual indicators based on network information, including deactivating indicators associated with inactive or unstable network links, and deactivating indicators when the network administrator is not present, thereby reducing unnecessary power consumption.
It significantly reduces power consumption of data center network devices and ensures that only the necessary indicators remain active to facilitate network problem identification and diagnosis.
Smart Images

Figure CN119603136A_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Patent Application No. 18 / 823,447 filed on September 3, 2024, which claims the benefit of Indian Provisional Patent Application No. 202341060923 filed on September 11, 2023, the entire contents of both are incorporated herein by reference. Technical Field
[0002] The present disclosure relates to computer networks, and more particularly to improving energy efficiency in computer networks. Background Art
[0003] In a typical cloud data center environment, there is a large collection of interconnected servers that provide computing and / or storage capabilities to run various applications. A data center may include facilities that host applications and services for users (i.e., customers of the data center). For example, a data center may host all infrastructure equipment, such as networking and storage systems, redundant power supplies, and environmental controls. In a typical data center, clusters of storage servers and application servers (computing nodes) are interconnected via a high-speed switching fabric provided by one or more layers of physical network switches and routers. More complex data centers provide infrastructure throughout the world using user support equipment located in various physical hosting facilities.
[0004] As data centers become larger, the energy usage of data centers increases. Some large data centers require a large amount of power (e.g., around 100 megawatts), which is enough to power many homes (e.g., around 80,000). Data centers may also run compute and data intensive application workloads (such as crypto mining and machine learning applications) and consume a lot of energy. Data center customers and data center providers themselves are pushing for more energy efficient data centers and / or applications. In order to be more energy efficient, traditional data centers may obtain some of their energy from renewable energy sources. However, the configuration of the data center and / or the applications running on the data center are constantly changing, and these traditional data centers are not able to dynamically increase their energy efficiency. Summary of the invention
[0005] In general, techniques for invoking one or more actions to improve energy usage in a data center are described. For example, a data center may include multiple network devices, each of which may include multiple visual indicators. These visual indicators may each indicate information corresponding to the configuration and / or status of the network device and / or network links of the network device, such as the status of one or more network links (e.g., active / inactive, connectivity issues, etc.). The visual indicators may include light emitting diodes (LEDs) and / or other types of lights that draw power when activated. The visual indicators may draw power when activated (e.g., when the LED visual indicator is illuminated) and not draw power when deactivated (e.g., when the LED visual indicator is not illuminated). Because a single data center may include dozens, hundreds, or even thousands of network devices, each of which has a visual indicator that draws power when activated, the visual indicators of the data center may collectively draw a large amount of power. According to the technology described in the present disclosure, a controller of a network system is configured to control multiple visual indicators of devices within a data center or a group of data centers, such as by deactivating visual indicators for inactive network links, stable network links, and / or deactivating visual indicators if a network administrator entity is not near the network devices in the data center, to reduce the amount of power consumed by the network devices in the data center.
[0006] As an example, the controller can be an independent device or component of the network system. In some examples, the controller can be one or more software components executed by each network device within the network system. The controller can receive information corresponding to the configuration and / or state of one or more network devices. For example, the information can include routing and forwarding information, warnings or event statistics (including hot plug events), or other information indicating the configuration and / or state of the network device and / or the network link associated with the network device. Based on this information, the controller can determine whether to activate and / or deactivate the visual indicator. For example, the controller can determine whether there are any inactive network links based on the routing and forwarding information of the network device, and can deactivate the visual indicator associated with the inactive network link. In some examples, the controller can apply a machine learning model to the alarm or event information to identify a stable link, and deactivate the visual indicator associated with the stable network link, and keep the active visual indicator associated with the unstable network link. In some examples, the controller can deactivate the visual indicator based on determining that the administrator entity is not near the network device. In some examples, the controller may activate only the visual indicators of relevant network links that experience network events (and deactivate all other visual indicators), such as activating visual indicators of network links included in a virtual local area network (VLAN) when any network link included in the VLAN experiences a network event (e.g., a hot plug event, a network link failure, etc.). The controller may use identification of the network event to determine the configuration of the visual indicators and save power by deactivating unnecessary visual indicators.
[0007] The disclosed techniques may provide one or more improvements to computer-related fields of computer networking integrated into practical applications. For example, a controller may reduce the amount of power consumed by a network device in a data center by disabling a visual indicator for various situations, such as disabling a visual indicator for an inactive network link, a stable network link, and / or disabling a visual indicator if a network administrator entity is not near the network device in the data center.
[0008] In one example, a computing system includes a memory and one or more programmable processors in communication with the memory, the one or more programmable processors being configured to: obtain network information from a network device within a data center, wherein the network device includes at least one visual indicator; determine a network event based on the network information; and instruct the network device to configure at least one visual indicator as active or inactive based on the network event.
[0009] In another example, a method includes: obtaining, by a computing system, network information from a network device within a data center, wherein the network device includes at least one visual indicator; determining, by the computing system, a network event based on the network information; and instructing, by the computing system and based on the network event, the network device to configure the at least one visual indicator as active or inactive.
[0010] In yet another example, a non-transitory computer-readable storage medium includes instructions configured to cause a processing circuit system to: obtain network information from a network device within a data center, wherein the network device includes at least one visual indicator; determine a network event based on the network information; and instruct the network device to configure at least one visual indicator as active or inactive based on the network event.
[0011] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 is a block diagram illustrating an example network system with computing infrastructure in accordance with one or more techniques of this disclosure.
[0013] Figure 2 is a block diagram illustrating an example of a network device in accordance with one or more techniques of this disclosure.
[0014] Figure 3 is a block diagram illustrating an example of a controller in accordance with one or more techniques of this disclosure.
[0015] Figure 4 is a block diagram illustrating an example indicator management module according to one or more aspects of the present disclosure.
[0016] Figure 5 is a block diagram illustrating a network system including active routes and inactive network links, in accordance with one or more techniques of this disclosure.
[0017] Figure 6 is a flow diagram illustrating example operations for determining an inactive network link based on a network event, in accordance with one or more techniques of this disclosure.
[0018] Figure 7 is a flow diagram illustrating example operations for determining a configuration of a visual indicator based on stability of a network link, in accordance with one or more techniques of this disclosure.
[0019] Figure 8is a block diagram illustrating an example system for determining a configuration of a visual indicator based on a network event, in accordance with one or more techniques of this disclosure.
[0020] Fig. 9 is a flow diagram illustrating example operations for determining active links in accordance with one or more techniques of this disclosure. DETAILED DESCRIPTION
[0021] Figure 1 is a block diagram illustrating an example network system 8 with computing infrastructure in accordance with one or more techniques of the present disclosure. In general, a data center 10 provides an operating environment for applications and services at one or more customer sites 11 having one or more customer networks coupled to the data center via a service provider network 7. For example, the data center 10 may host infrastructure equipment such as networking and storage systems, redundant power supplies, and environmental controls. The service provider network 7 is coupled to a public network 4, which may represent one or more networks managed by other providers, and thus may form part of a large-scale public network infrastructure (e.g., the Internet). For example, the public network 4 may represent a local area network (LAN), a wide area network (WAN), the Internet, a virtual LAN (VLAN), an enterprise LAN, a layer 3 virtual private network (VPN), an Internet Protocol (IP) intranet operated by a service provider operating the service provider network 7, an enterprise IP network, or some combination thereof.
[0022] Although customer site 11 and public network 4 are primarily shown and described as edge networks of service provider network 7, in some examples, one or more of customer site 11 and public network 4 may be tenant networks within data center 10 or another data center. For example, data center 10 may host multiple tenants (customers) each associated with one or more virtual private networks (VPNs), each of which may implement one of customer sites 11.
[0023] The service provider network 7 provides packet-based connectivity to attached customer sites 11, data centers 10, and public networks 4. The service provider network 7 may represent a network owned and operated by a service provider to interconnect multiple networks. The service provider network 7 may implement multi-protocol label switching (MPLS) forwarding, and in such instances, may be referred to as an MPLS network or MPLS backbone. In some instances, the service provider network 7 represents multiple interconnected autonomous systems, such as the Internet, that provide services from one or more service providers.
[0024] In some examples, data center 10 may represent one of many geographically distributed network data centers. Figure 1As shown in the example of , data center 10 can be a facility that provides network services to customers. Customers of a service provider can be collective entities such as enterprises and governments or individuals. For example, a network data center can host network services for several enterprises and end users. Other exemplary services may include data storage, virtual private networks, traffic engineering, file services, data mining, scientific or supercomputing, etc. Although shown as a separate edge network of the service provider network 7, elements of the data center 10 such as one or more physical network functions (PNFs) or virtualized network functions (VNFs) may be included in the core of the service provider network 7.
[0025] In this example, data center 10 includes storage and / or computing servers interconnected via a switching fabric 14 provided by one or more layers of physical network switches and routers, and servers 12A to 12N (referred to herein as "servers 12") are depicted as coupled to top-of-rack (TOR) switches 16A to 16N. Servers 12 may also be referred to herein as "hosts" or "host devices." Data center 10 may include multiple additional servers coupled to other TOR switches 16 of data center 10.
[0026] In the example shown, the switch fabric 14 includes interconnected top-of-rack (or other "leaf") switches 16A-16N (collectively, "TOR switches 16") coupled to a distribution layer of chassis (or "spine" or "core") switches 18A-18M (collectively, "chassis switches 18"). Although not shown, the data center 10 may also include, for example, one or more non-edge switches, routers, hubs, gateways, security devices (such as firewalls, intrusion detection, and / or intrusion prevention devices), servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices.
[0027] In this example, the TOR switch 16 and the chassis switch 18 provide redundant (multi-homed) connections to the IP structure 20 and the service provider network 7 to the server 12. The chassis switch 18 aggregates traffic flows and provides connections between the TOR switches 16. The TOR switch 16 can be a network device that provides Layer 2 (MAC) and / or Layer 3 (e.g., IP) routing and / or switching functions. The TOR switch 16 and the chassis switch 18 can each include one or more processors and memories and can execute one or more software processes. The chassis switch 18 is coupled to the IP structure 20, which can perform Layer 3 routing to route network traffic between the data center 10 and the customer site 11 through the service provider network 7. The switching architecture of the data center 10 is only an example. For example, other switching architectures can have more or fewer switching layers.
[0028] Each of the servers 12 may be a computing node, an application server, a storage server, or another type of server. For example, each of the servers 12 may represent a computing device configured to operate according to the techniques described herein, such as an x86 processor-based server. The servers 12 may provide a network function virtualization infrastructure (NFVI) for a network function virtualization (NFV) architecture.
[0029] Servers 12 are hosted as endpoints of one or more virtual networks operating on a physical network represented here by IP fabric 20 and switch fabric 14. Although primarily described with respect to data center based switched networks, other physical networks such as service provider network 7 may underlie one or more virtual networks.
[0030] exist Figure 1 In the example of FIG. 1 , the data center 10 can obtain energy from one or more power sources 30 of the data center 10. The power source 30 can include renewable energy, non-renewable energy, or a combination of renewable energy and non-renewable energy. For example, the power source 30 can include a connection to a power grid that provides power to devices within the data center 10 (such as the server 12 and the TOR switch 16).
[0031] One or more devices of data center 10 may include a visual indicator to visually indicate information, such as status, of the device and / or one or more network links associated with the device. Figure 1In the example of , TOR switch 16 includes TOR visual indicators 17A to 17N (hereinafter referred to as "TOR visual indicators 17"), respectively, and chassis switch 18 includes chassis visual indicators 19A to 19M (hereinafter referred to as "chassis visual indicators 19"), respectively. TOR visual indicators 17 and chassis visual indicators 19 (hereinafter referred to as "visual indicators 17, 19") may include one or more types of visual indicators, such as LED lights, incandescent lights, and / or other types of visual indicators. For example, visual indicator 17 may be an LED light that indicates the connection status of a physical port of TOR switch 16 to chassis switch 18 and / or to server 12. In some examples, other devices of data center 10 may include Figure 1 Corresponding visual indicators not shown in FIG.
[0032] The visual indicators 17, 19 may consume power. Although each individual visual indicator may consume an insignificant amount of power, the total power consumption of all visual indicators of the devices in the data center 10 may consume a significant amount of power. For example, a single LED may consume 3.3 volts (V) x 10 milliamps (mA) = 33 milliwatts (mW) of power. An example server rack (e.g., a server of the server 12) may include 40 sub-racks, each sub-rack including 100 LEDs. This means that when each LED visual indicator is activated, the sub-rack may draw 100 x 33 mW = 3.3 watts (W) of power, and the rack may draw 40 x 3.3 W = 132 W. When only 10% of the LEDs are activated, the rack may draw 13.2 W of power. In a data center that accommodates 800 racks, this means that when only 10% of the LEDs are activated, the LED visual indicators may draw 10,500 W of power.
[0033] Customers and / or providers of the data center 10 may find it beneficial to control activation or deactivation of visual indicators to improve energy usage of the data center 10. In some examples, visual indicators for network links of network devices, such as the TOR switch 16, chassis switch 18 (hereinafter referred to as "network devices 16, 18"), may be active even when those network links are not part of any active routes. Certain network links may not be part of active routes and may represent inactive network links. In these examples, it may be beneficial to deactivate the visual indicators corresponding to the inactive network links so that the visual indicators avoid drawing power.
[0034] In some examples, the visual indicators 17, 19 of the network devices 16, 18 may be active even when the health of the network link is relatively stable. The visual indicators may visually indicate one or more states of the network link associated with the physical port via color coding (e.g., green for healthy, orange for unhealthy, red for fault, etc.). The visual indicators 17, 19 may remain illuminated even when the port of the network device 16, 18 is always in a healthy state. For example, the visual indicators 17, 19 may remain always illuminated even when the state of the associated port remains in a healthy state for a period of time. In these examples, it may be beneficial to deactivate the visual indicators corresponding to the stable links so that the visual indicators avoid drawing power.
[0035] In some examples, the visual indicators 17, 19 may remain lit and consume power even when there is no administrator nearby to view the visual indicators. In these examples, it may be beneficial to deactivate the visual indicators so that the visual indicators avoid drawing power when there is no administrator nearby to view them.
[0036] According to the techniques described in the present disclosure, the controller 24 can control the activation or deactivation of the visual indicators 17, 19 to improve the energy usage of the data center 10. In this example, the controller 24 can receive network information from one or more of the network devices 16, 18, and provide instructions to configure the visual indicators 17, 19 to be active or inactive based on the network information. For example, the controller 24 can determine a network event based on the network information, and instruct the network device to configure the visual indicators 17, 19 to be active or inactive based on the network event.
[0037] In some examples, the controller 24 may obtain network information including, for example, routing and forwarding information or configuration information of a network device (e.g., chassis switch 18M), and determine whether the chassis switch 18M has an inactive network link based on the routing and forwarding information or configuration information of the chassis switch 18M. For example, the chassis switch 18M may be communicatively coupled to the TOR switch 16A via a network link between the chassis switch 18M and the TOR switch 16A. In this example, the controller 24 may detect whether the network link between the chassis switch 18M and the TOR switch 16A is inactive based on the forwarding information of the chassis switch 18M (e.g., by determining that the interface is not in the forwarding table but is included in the interface table). Additionally or alternatively, the controller 24 may detect the inactive network link based on the configuration information of the TOR switch 16A. In this example, the controller 24 determines that the network link of the chassis switch 18M is incompletely or incorrectly configured and is therefore inactive. Based on detecting the inactive network link associated with chassis switch 18M, controller 24 generates instructions to configure visual indicator 19M of chassis switch 18M to an inactive state and provides the instructions to chassis switch 18M.
[0038] In some examples, the controller 24 may determine whether the network link is stable based on network information, the network information including, for example, event or alarm information indicating an event or alarm detected by a network device. For example, the controller 24 may apply one or more models to the network information of the chassis switch 18M to determine the stability score of the network link of the chassis switch 18M, and determine whether the stability score meets a predetermined threshold. In some examples, the controller 24 may use a machine learning (ML) model to determine the stability score. In this example, the controller 24 determines the stability score of the network link between the chassis switch 18M and the TOR switch 16A. The controller 24 may determine that the network link is stable based on the stability score meeting a predetermined threshold (e.g., less than, greater than, or equal to a threshold), and therefore there is no activity of the network link to be monitored. Based on determining that the network link of the chassis switch 18M is stable, the controller 24 may generate an instruction to configure the visual indicator 19M of the chassis switch 18M to an inactive state, and provide the instruction to the chassis switch 18M.
[0039] In some examples, the controller 24 may determine whether a hot plug event has occurred, and therefore determine whether the administrator is near the network device 14. The controller 24 may use network information about hot plug events, such as a cable (e.g., Ethernet cable, optical cable, etc.) disconnected from the network device 14, a USB drive inserted into a USB port of the network device 14, an SD card inserted into the network device 14, an input / output component connected to the network device 14 (e.g., connecting a keyboard and monitor), a network card removed or installed, and / or other types of events performed on the network device 14 while the administrator is near the network device 14. The controller 24 may determine that the administrator may not be near the chassis switch 18M based on the absence of hot plug events detected by the network device, such as the chassis switch 18M, within a given duration. In an example, the chassis switch 18M provides the controller 24 with network information such as the absence of an indication of a hot plug event received within a given duration. The controller 24 determines that the administrator may not be near the chassis switch 18M based on not receiving an indication of a hot plug event within a given time period (or based on determining that a hot plug event was not received within a given time period). Based on this determination, the controller 24 generates instructions to configure the visual indicator 19M to be inactive. The controller 24 can apply one or more time-limited techniques to configure the visual indicators 17, 19 to be inactive for a predetermined time period and avoid false positives that result in the configuration of the visual indicator to be inactive. In an example, the controller 24 generates instructions to configure the visual indicator 19M to be inactive for a predetermined time period based on an exponential function.
[0040] In some examples, the controller 24 may determine relevant links (e.g., links of a virtual local area network (VLAN)) affected by the network event based on the network information of the chassis switch 18M. For example, in response to determining a network event such as a failure of a link between the chassis switch 18M and the TOR switch 16A, the controller may determine a VLAN associated with the link between the chassis switch 18M and the TOR switch 16A and one or more network links associated with the VLAN, such as a link between the chassis switch 18M and the TOR switch 16N. Based on determining that the VLANs affected by the network event include the link between the chassis switch 18M and the TOR switch 16A and the link between the chassis switch 18M and the TOR switch 16N, the controller 24 may generate instructions to configure the visual indicator associated with the link between the chassis switch 18M and the TOR switch 16A and the visual indicator associated with the link between the chassis switch 18M and the TOR switch 16A to be in an active state, and configure the visual indicator not associated with the VLAN to be in an inactive state, and provide the instructions to the chassis switch 18M. In this way, the controller 24 may activate only visual indicators that are relevant to the network administrator serving the network device (eg, such as activating only visual indicators of links affected by a network event), and deactivate other visual indicators to avoid powering up other visual indicators unnecessarily.
[0041] The techniques of the present disclosure may provide one or more practical advantages. Using network events to determine whether to enable or disable visual indicators 17, 19 may significantly reduce power consumption in the data center 10 by reducing the number of visual indicators 17, 19 that need to be powered on. In addition, using network events may ensure that the visual indicators 17, 19 that are powered on are those that are useful and relevant for identifying and diagnosing network problems. For example, using an identified hot-plug event as a basis for configuring visual indicators 17, 19 may enable a controller to power on only those visual indicators 17, 19 that are relevant to a network administrator serving a network device, and avoid powering on other visual indicators unnecessarily.
[0042] Figure 2 2 is a block diagram illustrating an example of a network device 200 according to the techniques described herein. The network device 200 may represent Figure 1 An example implementation of network device 14 is shown, but may be any network device of a network system.
[0043] like Figure 2As shown, the network device 200 includes a control unit 202 having a routing unit 204 (control plane), and is coupled to a forwarding unit 230 (data plane). The forwarding unit 230 is associated with one or more interface cards 240A to 240N ("IFC 240"), which receive packets via inbound links 242A to 242N ("inbound links 242") and send packets via outbound links 244A to 244N ("outbound links 244"). The inbound links 242 and the outbound links 244 may be referred to as "links 242, 244" and / or "network links 242, 244" throughout this document. The IFC 240 is typically coupled to the links 242, 244 via a plurality of interface ports (not shown). The inbound links 242 and the outbound links 244 may represent physical interfaces, logical interfaces, or some combination thereof.
[0044] IFCs 240 may each include one or more visual indicators, such as visual indicators 217A through 217N (hereinafter referred to as "visual indicators 217"). Visual indicators 217 may represent Figure 1 The example implementations of the visual indicators 17, 19 shown are similar and provide similar functionality. For example, the visual indicator 217 may be an LED light that provides a visual indication of the status of the network links associated with the physical ports and interfaces of the IFC 240.
[0045] The elements of the control unit 202 and the forwarding unit 230 may be implemented only in software or hardware, or may be implemented as a combination of software, hardware, or firmware. For example, the control unit 202 may include one or more processors 206, which may represent one or more microprocessors, digital signal processors ("DSP"), application specific integrated circuits ("ASIC"), field programmable gate arrays ("FPGA"), or any other equivalent integrated or discrete logic circuit systems that execute software instructions, or any combination thereof. In this case, the various software modules of the control unit 202 may include executable instructions stored, embodied, or encoded in a computer-readable medium (such as a computer-readable storage medium) containing instructions. The instructions embedded or encoded in the computer-readable medium may cause a programmable processor or other processor to perform the method, for example, when the instructions are executed. Computer-readable storage media may include random access memory ("RAM"), read-only memory ("ROM"), programmable read-only memory ("PROM"), erasable programmable read-only memory ("EPROM"), electrically erasable programmable read-only memory ("EEPROM"), non-volatile random access memory ("EEPROM"), flash memory, hard disk, CD-ROM, solid-state drive, magnetic media, optical media, or other computer-readable storage media. The computer-readable medium may be encoded with instructions corresponding to various aspects (e.g., protocols, processes, and modules) of network device 200. In some examples, control unit 202 retrieves and executes instructions for these aspects from memory.
[0046] Routing unit 204 operates as a control plane for network device 200 and includes an operating system that provides a multi-tasking operating environment for the execution of multiple parallel processes. Routing unit 204 includes kernel 210, which provides a runtime operating environment for user-level processes. Kernel 210 may represent, for example, a UNIX operating system derivative such as Linux or Berkeley Software Distribution ("BSD"). Kernel 210 provides libraries and drivers through which user-level processes can interact with the underlying system. The hardware environment 208 of routing unit 204 includes processor 206, which executes commands from storage device ( Figure 2 ) into main memory (not shown) Figure 2 210 and processes executing on the operating environment provided by the kernel 210.
[0047] The kernel 210 provides an operating environment for executing various protocols 214 (including protocols for implementing EVPN networks) at different layers of the network stack. For example, the routing unit 204 includes a network protocol that operates at the network layer of the network stack. The protocol 214 provides control plane functions for storing network topology in the form of a routing table or other structure, executing a routing protocol to communicate with a peer routing device, and maintaining and updating the routing table, and provides a management interface to allow a user to access and configure the network device 200. That is, the routing unit 204 is responsible for maintaining routing information 218 to reflect the current topology of the network and other network entities to which the network device 200 is connected. Specifically, the routing protocol 214 periodically updates the routing information 218 based on the routing protocol messages received by the network device 200 to reflect the current topology of the network and other entities.
[0048] exist Figure 2 In the example of , routing protocol 214 includes interior gateway protocol (IGP) 215 (e.g., intermediate system to intermediate system (IS-IS) or open shortest path first (OSPF)), border gateway protocol ("BGP") 216, and / or other routing protocols for exchanging routing information with other routing devices and for updating routing information 218. In EVPN, network device 200 can use BGP to announce MAC addresses learned from local customer edge network devices to which network device 200 is connected to other network devices. Specifically, network device 200 can use BGP route announcement messages to announce reachability information of EVPN, wherein the BGP route announcement specifies one or more MAC addresses learned by network device 200 instead of L3 routing information. Network device 200 updates routing information 218 based on the BGP route announcement messages. Routing unit 204 may include Figure 2 Other protocols not shown in the figure, such as MPLS label distribution protocol and / or other MPLS protocols. Routing protocol 214 includes bidirectional forwarding detection ("BFD") protocol 217 for exchanging BFD messages to detect node and / or link failures. In some examples, BFD protocol 217 may include seamless BFD (S-BFD) or multi-hop BFD (MH-BFD).
[0049] Routing information 218 may include information defining the topology of the network, including one or more routing tables and / or link state databases. Typically, routing information defines a route (i.e., a series of next hops) through the network to a destination / prefix within the network learned via a distance-vector routing protocol (e.g., BGP), or defines a network topology with interconnecting links (e.g., interfaces) learned using a link state routing protocol (e.g., IS-IS or OSPF). In contrast, forwarding information 232 is generated based on the selection of certain routes within the network, and maps packet key information (e.g., L2 / L3 source and destination addresses and other selected information from the packet header) to one or more specific next hop forwarding structures within the forwarding information 232, and ultimately forwards to one or more specific output interface ports of the IFC 240. Routing unit 204 may generate forwarding information 232 in the form of a radix tree with leaf nodes representing destinations within the network, a series of tables, a linked list, a database, a flat file, or various other data structures.
[0050] Routing unit 204 includes a configuration interface 222 that receives and can report configuration data for network device 200. Configuration interface 222 may represent a command line interface in some examples; a graphical user interface; a simple network management protocol ("SNMP"), Netconf, or another configuration protocol; or some combination of the foregoing. Configuration interface 222 receives configuration data that configures network device 200, as well as other constructs that at least partially define the operation of network device 200, including the techniques described herein. For example, an administrator may interact with control unit 202 via configuration interface 222 to configure, for example, an interface of network device 200 after turning on, activating, or otherwise enabling network device 200 to operate within a network.
[0051] The forwarding unit 230 represents the hardware and logic functions that provide high-speed forwarding of network traffic. The forwarding unit 230 typically includes a collection of one or more forwarding chips that are programmed with forwarding information that maps a network destination to a specific next hop and a corresponding output interface port. Typically, when the network device 200 receives a packet via one of the inbound links 242, the forwarding unit 230 identifies the associated next hop of the data packet by traversing the programmed forwarding information based on information within the packet (e.g., in the case of BUM packet forwarding), a transmission label, and / or an included multicast label. The forwarding unit 230 forwards the packet on one of the outbound links 244 that is mapped to the corresponding next hop.
[0052] exist Figure 2In the example of , forwarding unit 230 can store forwarding information 232. Based on routing information 232, forwarding unit 230 stores forwarding information 232 that maps packet field values to a network destination with a specific next hop and a corresponding outbound interface port. For example, routing unit 204 analyzes routing information 218 and generates forwarding information 232 based on routing information 218. Forwarding information 232 can be maintained in the form of one or more tables, linked lists, radix trees, databases, flat files, or any other data structure.
[0053] exist Figure 2 In the example of , the network device 200 stores configuration information 220. The configuration information 200 may store configuration information of the network device 200 including interface configurations. For example, the configuration information 200 may store information about the configuration of a port or other interface of the IFC 240. The configuration information 200 may store configurations in the form of one or more tables, linked lists, radix trees, databases, flat files, or any other data structure. In the example, the network device 200 stores configuration information about a port of the IFC 240B in a table, the configuration information including an identifier of the interface (e.g., an identifier of the port), the state of the interface, and the network activity of the port, such as the bandwidth of traffic passing through the interface, and other information in the configuration information 220.
[0054] Network device 200 may include event / alarm 221. Event / alarm 221 may be a data structure or data repository that may store information about network events and / or alarms associated with network links of network device 200. For example, event / alarm 221 may store information about network events and network alarms associated with network links 242, 244. Event / alarm 221 may store information about network events, such as hot plug events, and network alarms, such as alarms about the status of network links and / or interfaces to network links.
[0055] Routing unit 204 includes an indicator management module 224. Indicator management module 224 can be a plug-in, module, process, engine, executable, or other type of software component of routing unit 204. Indicator management module 224 can manage the configuration of visual indicators 217 and manage the configuration of visual indicators 217 based on the configuration of the controller (e.g., Figure 1 The controller 24) and / or the network device 200 may illuminate, power down, and / or change the configuration of the visual indicator 217 based on network events determined by the controller 24 and / or the network device 200. As described below, the controller may obtain forwarding information 232, configuration information 220, events / alarms 221, and / or other network information of the network device 200 to determine network events, such as whether a network link of the network device 200 is inactive or whether a network link of the network device 200 is stable.
[0056] For example, indicator management module 224 may configure indicator 217A to be inactive (e.g., not illuminated) based on determining that inbound link 242A or outbound link 244A is inactive. In some examples, indicator management module 224 may configure indicator 217B to be inactive based on determining that inbound link 242B or outbound link 244B is stable. In some examples, indicator management module 224 may configure indicator 217N to be active (while deactivating other visual indicators) based on determining that inbound link 242N or outbound link 244N is associated with a VLAN affected by a network event (e.g., a link failure of one of the links of the VLAN is detected). Indicator control module 224 may maintain information about the configuration of visual indicator 217 in indicator information 219. Indicator control module 224 may cause visual indicator 217 to operate based on the configuration information stored in indicator information 219.
[0057] The indicator information 219 may be a data structure or other form of data storage that may store one or more tables that store information about the configuration of the visual indicators 217. For example, the indicator information 219 may include a table having an identifier for each of the visual indicators 217, a corresponding entry about the configuration of the indicator (e.g., whether the indicator should be illuminated or deactivated), and / or a corresponding entry about a network event associated with the configuration of the indicator (e.g., an identifier of a network link, a state of the network link, etc.). The indicator control module 224 may be configured to control the status of the network link based on the information provided by the controller (e.g., Figure 1 The indicator information 219 is updated based on an analysis of the network links 242, 244 of the network device 200 analyzed by the controller 24) and / or the network device 200.
[0058] In some examples, indicator management module 224 can be from a controller (such as Figure 124) to configure one or more of the visual indicators 217. In these examples, the network device 200 exports network information (e.g., forwarding information 232, configuration information 220, and / or events / alarms 221) to the controller 24, which in turn may determine a network event associated with the network device 200. After sending the network information to the controller 24, the network device 200 may receive instructions from the controller 24 to configure one or more of the visual indicators 217 based on the determination of the network event associated with the network device 200. In some examples, the controller 24 may determine that the inbound link 242A is inactive (e.g., the inbound link 242A is not part of an active network route and / or is incorrectly / incompletely configured), determine that the inbound link 242A is stable (e.g., determine that the stability score of the inbound link 242A meets a predetermined threshold), and / or determine that the administrator is not near the network device. In these examples, the network device 200 may receive instructions from the controller 24 to configure the visual indicator 217A to be inactive. In some examples, controller 24 may determine that inbound link 242A is associated with a VLAN in which one of the other network links has failed. In these examples, network device 200 receives instructions from controller 24 to configure visual indicator 217A to be active while deactivating other visual indicators not associated with the VLAN. Indicator management module 224 updates indicator information 219 based on the instructions received from controller 24 and configures visual indicator 217A to be inactive.
[0059] In some examples, indicator management module 224 can determine a network event associated with network device 200 and configure visual indicator 217 in response to determining the network event in addition to or in lieu of receiving instructions from controller 24. In these examples, indicator management module 224 can configure visual indicator 217 based on determining the network event. For example, indicator management module 224 can determine the network event based on network information such as configuration information 220 (e.g., information about the configuration of interfaces of network device 200), forwarding information 232, and / or events / alarms 221. For example, indicator management module 224 can obtain configuration information 220 for information about the configuration of interfaces to links 242, 244. Indicator management module 224 can obtain forwarding information 232 for information about whether a link of network device 200 is part of an active route. Indicator management module 224 may obtain event / alarm 221 for information about events or alarms associated with links 242, 244 or more generally with network device 200, or other information about user interactions with network device 200. Indicator management module 224 may additionally or alternatively use information about links associated with one or more of links 242, 244 (e.g., whether a given network link is associated with a VLAN that has experienced a network event). Indicator management module 224 may determine a configuration of visual indicator 217 based on determining a network event, and configure visual indicator 217 to an active state or an inactive state.
[0060] Figure 3 is a block diagram showing an example of a controller 300 according to the techniques described herein. The controller 300 may represent Figure 1 An example implementation of controller 24 is shown.
[0061] The controller 300 includes one or more processors in a processor 302. The processor 302 may include one or more processors and / or one or more types of processing circuitry, such as multiple processing cores, chiplets, ASICs, FPGAs, or other integrated circuits and programmable hardware. In an example, the processor 302 may include a system on a chip (SoC) having, for example, one or more cores, a network interface for high-speed packet processing, one or more acceleration engines for specialized functions (e.g., security / cryptography, machine learning, storage), programmable logic, integrated circuits, etc.
[0062] The controller 300 includes one or more communication units 304. The communication unit 304 may include one or more types of communication units, such as a network interface card (NIC), an antenna, a transceiver, and / or other types of communication units. The communication unit 304 may send and receive messages from one or more devices (such as Figure 1The network device 14 and / or Figure 2 For example, the communication unit 304 may obtain network information from the network device 14.
[0063] Controller 300 includes one or more user interface devices (hereinafter referred to as "UIC") 306. UIC 306 may include one or more input and / or output devices of controller 300. UIC 306 may include input devices, such as a touch screen, keyboard, mouse, microphone, and / or other types of input devices. UIC 306 may include output devices, such as a display, speaker, haptic engine, visual indicator, and / or other types of output devices. In some examples, UIC 306 includes a terminal via which a user can access a command line interface of controller 24.
[0064] The controller 300 includes one or more communication channels 308 (in Figure 3 The communication channel 308 may include one or more types of communication channels, such as hardware interconnects, software interconnects, and / or other types of communication channels that interconnect one or more components of the controller 300. For example, the communication channel may interconnect the processor 302 and the storage device 310 so that the processor 302 executes instructions of one or more software components of the controller 300.
[0065] The controller 300 includes one or more storage devices 310. The storage device 310 may include one or more types of storage devices, such as a hard disk drive, a solid state drive, an NVM Express (NVMe) drive, a tape drive, a volatile storage device (e.g., RAM), a flash drive, virtualized storage, cloud storage, and / or other types of storage devices. The storage device 310 may store instructions for one or more software components executed by the processor 302. For example, the storage device 310 may store instructions for an operating system of the controller 300.
[0066] The storage device includes an operating system 312 (in Figure 3 312 and referred to as such hereinafter). OS 312 may be an operating system of controller 300 that provides an execution environment for one or more other software components of controller 300. For example, OS 312 may facilitate execution of network configuration manager 314 by controller 300.
[0067] The storage device 310 includes a network configuration manager 314. The network configuration manager 314 can be a software component of the controller 300, such as a plug-in, a module, an executable file, an independent process, and / or another type of software component. The network configuration manager 314 can manage the configuration of one or more network devices within the network topology. For example, the network configuration manager 314 can manage the configuration of one or more network devices within the network topology based on the network information obtained by the indicator management module 318. Figure 1 The configuration of network device 14 within IP architecture 20 is shown.
[0068] Storage device 310 includes indicator management module 324. Indicator management module 324 can be a software component of controller 300, such as a plug-in, a module, an executable file, an independent process, and / or another type of software component. Indicator management module 324 can be similar to Figure 2 The indicator management module 324 may be operated by the indicator management module 224 shown in the figure. The indicator management module 324 may manage the configuration of the visual indicators of one or more network devices 14 based on network events. The indicator management module 324 may obtain information from the network devices 14 and process the network information. For example, the indicator management module 324 may use the network information to determine network events associated with the network devices and configure the visual indicators of the network devices based on the determined network events.
[0069] The indicator management module 324 can determine the network event based on the network information obtained by the collection module 318. In some examples, the indicator management module 324 can determine the network event as an indication of whether the network link is an inactive network link, such as Figure 6 . In these examples, indicator management module 324 can use network information including information from a forwarding table or forwarding information base of the network device to determine whether a network link is included in an active network route (e.g., whether the network link is part of an active network route, or is not part of any active network route and is therefore inactive). In an example, indicator management module 324 receives forwarding information of a network device and determines, based on the forwarding information and a list of active interfaces of the network device, that a particular interface of the network link to the network device is not included in any active network route. Based on determining that the particular interface to the network link is not included in any active network route, indicator management module 324 determines that the particular network link is an inactive network link.
[0070] In some examples, indicator management module 324 may determine whether a network link is an inactive network link based on network information including information about the configuration of an interface to a network link of a network device to determine whether the network link is an inactive network link. In addition to or in lieu of forwarding information of the network device, indicator management module 324 may use information about the configuration of an interface to the network link. Indicator management module 324 may determine whether an interface of a network device, such as chassis switch 18M, is incorrectly or incompletely configured. Indicator management module 324 may use configuration information (e.g., Figure 2 The indicator management module 324 compares the configuration information 220 of the chassis switch 18M with the list of active interfaces of the network device to determine whether one or more of the interfaces are improperly configured. In an example, the indicator management module 324 receives network information from the chassis switch 18M, wherein the network information may include configuration information of the interfaces of the chassis switch 18M and information of the list of active interfaces of the chassis switch 18M. The indicator management module 324 determines that a particular interface of the chassis switch 18M is included in the list of active interfaces of the chassis switch 18M, but there is no network activity for the particular interface. The indicator management module 324 may determine that the particular interface is improperly or incompletely configured based on the configuration information of the interfaces of the chassis switch 18M, and therefore determine that a network link coupled to the particular interface is an inactive network link.
[0071] In some examples, the indicator management module 324 can determine a network event that indicates whether the network link is a stable network link, such as Figure 7 . For example, the indicator management module 324 can determine that a network link is a stable network link based on a stability score generated using one or more ML models. The indicator management module 324 can process the network information using one or more ML models to generate a stability score indicating the stability of the network link. For example, the indicator management module 324 can generate a stability score indicating the likelihood that the network link will experience a problem (e.g., whether the network link will fail). The indicator management module 324 can provide the network information to one or more ML models as input and receive a stability score as output, wherein the stability score is a numerical representation of the stability of each network link. For example, the indicator management module 324 can compare the stability score of the network link with a predetermined threshold to determine whether the network link is stable (e.g., when the stability score meets or exceeds the predetermined threshold) or unstable (e.g., when the stability score fails to meet the predetermined threshold).
[0072] In some examples, indicator management module 324 can determine whether an administrator is near a network device based on whether a hot plug event has been detected, such as Figure 8 . The indicator management module 324 may receive network information from a network device, the network information including an indication of a hot plug event, such as a connection / disconnection of a network cable, an insertion of a USB drive, an SD card, or other storage device, an installation / removal of a network card, a connection / disconnection of a peripheral device (e.g., a display, keyboard, mouse, terminal, etc.), and / or other types of hot plug events. The indicator management module 324 may use the absence of a hot plug event occurring within a given duration to determine that an administrator is unlikely to be near the network device. In an example, the indicator management module 324 determines that the chassis switch 18M has not provided an indication of the occurrence of a hot plug event for at least a predetermined time period. The indicator management module 324 determines that the administrator is unlikely to be near the chassis switch 18M because the chassis switch 18M has not provided an indication of the occurrence of a hot plug event for at least a predetermined time period. Based on determining that the administrator is unlikely to be near the chassis switch 18M, the indicator management module 324 may deactivate a visual indicator of the chassis switch 18M.
[0073] In some examples, the indicator management module 324 can determine whether the network link is part of a VLAN associated with the network event. The indicator management module 324 can use network information to determine whether the network link is part of a VLAN that has experienced a network event. In an example, the indicator management module 324 receives network information consistent with a first network link being part of a VLAN, and in this case a second network link of the VLAN has experienced a hot plug network event (e.g., an event indicating the removal of a network cable). The indicator management module 324 determines that the first network link is part of a VLAN that has experienced a network event. The indicator management module 324 instructs the network device to configure the visual indicator associated with the first network link to be active. In some examples, the indicator management module 324 can instruct the network devices in the data center to configure all other visual indicators except the visual indicator associated with the network link of the VLAN that has experienced a network event to be inactive.
[0074] The indicator management module 324 may instruct the network device to configure the visual indicator of the network device. The indicator management module 324 may determine the configuration of the visual indicator based on the determined network event, and send instructions on the configuration of the visual indicator to the relevant network device via the communication unit 304.
[0075] Figure 4 4 is a block diagram illustrating an example indicator management module 400 according to one or more aspects of the present disclosure. The indicator management module 400 may represent Figure 2 The indicator management module 224 shown and / or Figure 3An example implementation of the indicator management module 324 is shown. For example, the indicator management module 400 may be executed by a process or processing circuitry of a network device or controller and determine network events.
[0076] The indicator management module 400 includes a network information module 402. The network information module 402 can be a software component of the indicator management module 400, such as a plug-in, a module, a process, an executable file, and / or other types of software components. The network information module 402 can obtain network information for the indicator management module 400. The network information module 402 can obtain network information from a network device executing the indicator management module 400 (e.g., when the indicator management module 400 is executed locally by the network device) or from a network device within a data center (e.g., when the indicator management module 400 is executed by a controller). The network information module 402 can obtain network information by polling the network device, polling one or more software components of the network device, and by causing the network device to periodically send network information. For example, the network information module 402 can cause the network device within the data center to send network information after a given time period (e.g., a time period of seconds, minutes, hours, or days).
[0077] The network information module 402 can store the network information in a network information storage 404. The network information storage 404 can be a data structure or other type of data storage that can store the network information obtained by the indicator management module 400. For example, the network information storage 404 can be a data structure stored in a memory of a controller or a network device and includes network information. The network information storage 404 can store one or more types of network information, such as configuration information of a network link, forwarding information of a network device (e.g., information from a forwarding table), configuration information of a network device, network activity information (e.g., alerts, alarms, administrator interactions with a network device and / or a network link of a network device, etc.).
[0078] The network information module 402 can store the historical network information in the network information storage 404. The network information module 402 can store the network information as time series data in the network information storage 404. For example, the network information module 402 can store the network information at thirty minute time intervals (or any other time interval) to provide a historical review of the network information.
[0079] The indicator management module 400 includes an inactive link module 406. The inactive link module 406 can be a software component of the indicator management module 400, such as a plug-in, a module, a process, an executable file, and / or other types of software components. The inactive link module 406 can determine network events that indicate that a network link is inactive, such as Figure 6. The inactive link module 406 uses the network information in the network information memory 404 to determine whether a network link is inactive. For example, the inactive link module 406 can determine whether a given network link is inactive based on configuration information associated with the network link and / or forwarding information associated with the network link. As an example, the inactive link module 406 can determine that a given network link is incorrectly configured and therefore inactive based on the configuration information. As another example, the inactive link module 406 can determine that a given network link is not part of an active network route and therefore inactive based on forwarding information associated with the network link. The inactive link module 406 can cause the indicator configuration module 414 to instruct the network device to configure a visual indicator associated with the network link as inactive based on determining that the network link is inactive.
[0080] The indicator management module 400 includes a link stability module 408. The link stability module 408 can be a software component of the indicator management module 400, such as a plug-in, module, process, executable file, and / or other type of software component. The link stability module 408 can determine a stability score for a network link that represents the stability of the network link (e.g., whether a given network link is stable and may not necessarily be active), such as Figure 7 Link stability module 408 may use an ML model, such as ML model 410, to determine the stability of a network link.
[0081] Link stability module 408 includes one or more models in ML models 410. ML models 410 may include one or more types of ML models, such as deep learning models, Q-learning models, linear regression algorithms, decision trees, random forests, gradient boosting, language models, and / or other types of ML models. ML models 410 may include ML models trained to determine a stability score of a network link that represents the stability of the network link. For example, ML models 410 may include a deep learning model trained to process network information and determine a stability score, such as Figure 7 As further described and illustrated in .
[0082] The link stability module 408 can use the ML model 410 to process the network information of the network information storage 404. The link stability module 408 can provide the network information as an input to the ML model in the ML model 410, and receive a stability score as an output from the ML model. The stability score may include a numerical value representing the stability of the network link. The link stability module 408 can compare the stability score of the network link with a predetermined threshold to determine whether the network link is stable. The link stability module 408 can determine whether the stability score of the network link meets the predetermined threshold or whether the stability score is below the predetermined threshold. For example, the link stability module 408 can determine that the stability score meets the predetermined threshold and is therefore a stable network link. Based on determining that the network link is stable, the link stability module 408 causes the indicator configuration module 414 to instruct the network device to configure the visual indicator associated with the specific network link determined to be stable to be inactive.
[0083] The indicator management module 400 includes an event module 412. The event module 412 can be a software component such as a plug-in, a module, a process, an executable file, and / or other types of software components. The event module 412 can use the occurrence of a hot plug event to determine that an administrator is near a network device.
[0084] Event module 412 may receive an indication from a network device that a hot plug event has occurred as a result of network information obtained by network information module 402 (e.g., such as from Figure 2 The event module 412 may receive an indication of a hot plug event, including a connection / disconnection of a network cable, insertion of a USB drive, SD card or other storage device, installation / removal of a network card, connection / disconnection of a peripheral device (e.g., a display, keyboard, mouse, terminal, etc.), and / or other types of hot plug events.
[0085] The event module 412 can determine whether the administrator is near the network device based on the occurrence of hot plug events within a given duration. The event module 412 can determine whether the administrator is near the network device due to the need to physically interact with the network device in order for the hot plug event to occur (e.g., the hot plug event can only occur due to physical interaction with the network device). For example, the event module 412 can receive an indication of a hot plug event in which a USB drive is inserted into the network device, and determine that the administrator is near the network device based on the hot plug event. When no hot plug event is detected within a given duration, the event module 412 can determine that the administrator is not near the network device. For example, the event module 412 can receive network information including an indication that no network event for the network device is received within a given duration, and determine that the administrator is not near the network device. In some examples, the event module 412 can determine that the administrator is not near the network device from not receiving an event reported by the network device within a given duration.
[0086] The event module 412 can determine whether one or more VLANs within the data center have experienced a network event. The event module 412 can use the network information to determine whether one or more network links within the VLAN have experienced a network event, such as a hot plug event, a failure of a network link of the VLAN, a change in stability of a network link of the VLAN, and / or other types of network events. In an example, the network information module 402 obtains the network information and stores the network information in the network information storage 404. The event module 412 processes the network information and determines that the network link included in the VLAN has experienced a network event.
[0087] Event module 412 can determine which network links are included in the VLAN that has experienced the network event. Event module 412 can use information about network links in network information storage 404 to determine which network links are included in the VLAN that has experienced the network event. In some examples, event module 412 can use the configuration of the network device that executes indicator management module 400 to determine which network links are included in the VLAN.
[0088] The event module 412 may cause the indicator configuration module 414 to configure the visual indicators associated with the network links included in the VLAN that has experienced the network event to be active, and to configure other visual indicators to be inactive. For example, the VLAN event module 412 may cause the indicator configuration module 414 to configure all other visual indicators of one or more network devices other than those included in the VLAN that has experienced the network event to be inactive. The event module 412 may cause the indicator configuration module 414 to configure all other visual indicators to be inactive so as to power on only the visual indicators associated with diagnosing the VLAN problem. For example, the event module 412 may determine that all other indicators not included in the VLAN that has experienced the hot plug event should be configured to be inactive.
[0089] The indicator management module 400 includes an indicator configuration module 414. The indicator configuration module 414 can be a software component of the indicator management module 400, such as a plug-in, a module, a process, an executable file, and / or other types of software components. The indicator configuration module 414 can instruct the network device or a component of the network device to configure a visual indicator as active or inactive. In an example, the inactive link module 406 determines that three network links of the network device are active and two network links are inactive. The inactive link module 406 provides indications about inactive and active network links to the indicator configuration module 414. The indicator configuration module 414 instructs the network device to configure the visual indicators associated with the three active network links to be active, and the visual indicators associated with the inactive network links to be inactive.
[0090] Figure 5 is a block diagram illustrating a network system 500 including active routing and inactive network links according to one or more aspects of the present disclosure. Figure 1 Describe in the context of Figure 5 For example, network system 500 may include some or all of the components of data center 10 .
[0091] like Figure 5 As shown, the network system 500 includes a network 502, a spine switch 504, a first TOR switch 506, a second TOR switch 508, and a server 512. There is an active route between the network 502 and the server 512 via the spine switch 504, the TOR switch 506, and a first network link 514 with the server 512. The second network link 516 between the server 512 and the second TOR switch 508 can represent an inactive link because there is no active route between the network 502 and the server 512 via the second TOR switch 508 and the second network link 516.
[0092] In this example, the controller 24 may obtain network information from one or more network devices of the network system 500, such as the spine switch 504, the TOR switch 506, and the TOR switch 508. The controller 24 may obtain network information including information about the configuration of one or more network links between devices of the network system 500, forwarding tables from one or more devices of the network 500, and / or other types of information.
[0093] The controller 24 may determine whether one or more network links are inactive network links. The controller 24 may determine whether a network link is an active network link based on whether the network link is part of an active network route. Figure 5 In some examples, controller 24 may determine that network link 516 is inactive based on network information indicating that network link 516 is not part of an active network route (e.g., an interface of TOR switch 508 to network link 516 is not part of an active network route to network 502). In some examples, controller 24 may determine that network link 516 is part of a network path with relatively low activity (e.g., a path traversed by a relatively small number of messages compared to other network paths). Controller 24 may cause TOR switch 508 to configure a visual indicator associated with inactive network link 516 as inactive.
[0094] The controller 24 may instruct one or more network devices to configure a visual indicator as active or inactive. The controller 24 may instruct a network device to configure a visual indicator based on determining a network event indicating that a network link is active or inactive. The controller 24 may instruct a network device to configure at least one visual indicator associated with an inactive network link as inactive. Figure 5 In the example of , the controller 24 can instruct the TOR switch 506 to configure the visual indicator associated with the active network link 514 to be active.
[0095] Figure 6 6 is a flow chart illustrating example operations 600 for determining an inactive network link of a network device in accordance with one or more techniques of the present disclosure. Figure 1 Describe in the context of Figure 6 Although discussed below in the context of particular devices, any one or more of the network devices 14 and / or controllers 24 may perform any one or more of the steps of operation 600. For example, a network device such as TOR switch 16A may perform a portion of the steps of operation 600 while controller 24 performs the remainder of the steps of operation 600.
[0096] The network device may transmit and receive messages (e.g., Figure 2 The network device may also store information about active interfaces of the network device in a router interface list 608. The network device may perform a routing protocol process 604, in which the network device may install active routes into a forwarding table 606 (e.g., Figure 2 Forwarding information 232 of the active route is then copied (e.g., by the kernel of the network device) to the packet forwarding engine of the network device. Forwarding table 606 can store entries indicating identifiers (e.g., names) of interfaces (e.g., so-5 / 0 / 3.0) to reach the destination and other information.
[0097] The controller 24 can obtain information in the forwarding table 606 and the router interface list 608 (collectively referred to as "network information" in this example) to evaluate whether the link of the network device is active. The controller 24 can obtain network information from the forwarding table 606 and / or the router interface list 608 by polling the network device and / or as part of the periodic report of the network device. For example, the network device can send information from the forwarding table 606 and the router interface list 608 to the controller 24 every thirty seconds.
[0098] The controller 24 may perform an active link evaluation process 610, in which the controller 24 may determine network events based on network information obtained from the forwarding table 606 and the router interface list 608, such as determining whether the network device has any inactive network links. For example, the controller 24 may determine inactive network links based on whether the active interface to the network link in the router interface list 608 is part of the active route in the forwarding table 606. In this example, the controller 24 may determine that the interface so-5 / 0 / 4.0 in the router interface list 608 is not included in the forwarding table 606 and is therefore an inactive interface. The controller 24 may store information associated with the inactive interface in the inactive interface table 616.
[0099] In some examples, the controller may obtain link configuration and status data 612 (also referred to in this example as "network information"). The controller 24 may obtain link configuration and status data 612 that includes information about the configuration of the network link in addition to the status of the network link. For example, the controller 24 may obtain link configuration and status data 612 that includes information about the current configuration of the network link of the network device.
[0100] The controller 24 may perform a link configuration state detection 614, in which the controller 24 determines whether the network link is incorrectly configured and / or incompletely configured. For example, the controller 24 may process the configuration of the network link to determine whether the configuration of a given network link is incorrect (e.g., using an algorithm to process the configuration of the link to determine whether the link is incorrectly configured, comparing the configuration of a given network link with an active network link, etc.). The controller 24 may determine whether the link is incompletely configured based on whether the network link lacks configuration of one or more attributes (e.g., the network link does not include a destination address, the network link is not configured with a next hop interface, etc.). The controller 24 may determine that one or more network links are not active links based on the network link being incorrectly or incompletely configured. The controller 24 may store information associated with an inactive interface or link in an inactive interface table 616.
[0101] The controller 24 may periodically update the inactive interface table 616 based on periodic performance of the inactive link evaluation process 610 and / or the link configuration state detection 614. The controller 24 may maintain the inactive interface table 616 as a table of inactive links, the table including an identifier of an interface associated with an inactive network link, an indicator of the state of the network link (e.g., "up", "down"), a reference counter of the network link, and a current bandwidth of the network link. The controller 24 may maintain the inactive interface table 616 for use in configuring a visual indicator of one or more network devices 14. In some examples, a network device in the network devices 14 may maintain a copy of the active link table 616 of a network link associated with the network device.
[0102] The controller 24 may instruct one or more network devices to configure a visual indicator based on the inactive interface table 616. For example, the controller 24 may instruct a network device including interface so-5 / 0 / 4.0 to configure a visual indicator associated with interface so-5 / 0 / 4.0 as inactive. The indicator management module (e.g., Figure 2 The indicator management module 224 of the data center 10 can control the visual indicators corresponding to the inactive network links to be moved to the inactive state. Configuring the visual indicators corresponding to the inactive network links to the inactive state can involve deactivating the visual indicators so that they do not draw power. Compared to the visual indicators corresponding to the network links that are part of the active routes, the visual indicators corresponding to the inactive network links may be less important for providing information about the configuration and / or status of the network devices and / or the network links of the network devices within the data center 10. In this way, the visual indicators corresponding to the inactive network links can be deactivated to reduce the amount of power consumed by the network devices of the data center.
[0103] Although Figure 6 The examples in are described with respect to the controller 24 performing the active link evaluation process 610 and the link configuration status detection 614, but the network device may perform the active link evaluation process 610 and / or the link configuration status detection 614 alternatively or in combination with the controller 24.
[0104] Figure 7 is a flow chart illustrating example operations for determining a configuration of a visual indicator based on the stability of a network link in accordance with one or more techniques of the present disclosure. Figure 1 Describe in the context of Figure 7 For example, controller 24 may perform one or more steps of operation 700. In some examples, a network device in network device 14 may perform one or more steps of operation 700.
[0105] The controller 24 begins operation 700 (702). The controller 24 may begin operation in response to an instruction from a network administrator and / or in response to receiving information from a network device. In an example, the controller 24 receives a request to configure a visual indicator based on the stability of a network link within the data center 10, and begins operation 700 based on receiving the request. The controller 24 may perform operation 700 to determine visual indicators that are stable and may not need to be powered on for diagnosing problems as part of determining a network event for the data center 10. For example, a network administrator may use visual indicators to debug a connection problem. Even if there is no problem in the network, certain visual indicators may remain powered on. When there are no alarms for activity on a network link, a network administrator may be less likely to need to use visual indicators to view the status of a network device.
[0106] Controller 24 starts a cycle timer (704). Controller 24 may respond to a reset of the cycle timer and / or based on initiating operation 700 (e.g., Figure 7 ) to start the cycle timer. Controller 24 can start the cycle timer as part of periodically determining whether the network link is stable and whether the visual indicator associated with the network link should be configured as inactive. Controller 24 uses the cycle timer to periodically wait for and determine a stable network link.
[0107] The controller 24 may collect metrics based on the captured statistics based on the expiration of the recurring timer (706). The controller 24 may collect statistics organized into metrics, which include network events, alarms, alerts, administrator interactions (e.g., administrators viewing the status of network links in a user interface, administrators querying network links in a user interface, etc.) for one or more network links within the data center 10. The controller 24 may capture statistics related to the metrics on an iterative basis. The controller 24 may poll one or more network devices in the network device 14 to obtain statistics related to the metrics. In the example, the controller 24 sends a poll for statistics related to the metrics to the TOR switch 16A. The controller 24 receives statistics from the TOR switch 16A and organizes the statistics according to predetermined metrics (e.g., network events, user interface queries, etc.). The controller 24 may store the metrics in a time series database. For example, the controller 24 may store metrics organized by each network device in the network device 14 in the time series database. The controller 24 may store metrics for each network device within a predetermined time period. The controller 24 may clear metrics older than the predetermined time period from the time series database.
[0108] The controller analyzes the metrics (708). The controller 24 may analyze the metrics using descriptive analysis and / or predictive analysis. The controller 24 may analyze the metrics using descriptive analysis, which includes deriving a stability score of the network link at the current time based on data up to the current time. Additionally or alternatively, the controller 24 may use an ML model (such as an auto-regressive machine learning model) to predict the stability score of the network link at a future timestamp using past metric data. In an example, the controller 24 obtains statistics related to the TOR switch 16A. The controller 24 applies the auto-regressive ML model to the statistics to generate a predicted stability score for the network link of the TOR switch 16A.
[0109] As part of analyzing the metrics, the controller 24 may determine an activity score, turbulence score, stability score, or any combination thereof for a visual indicator corresponding to a network link based on the alarm statistics or alert statistics. The controller 24 may determine an activity score, turbulence score, stability score, or any combination thereof for a visual indicator corresponding to a network link based on metrics including any combination of user view statistics, user query statistics, alarm statistics, and / or alert statistics, as well as other types of statistics.
[0110] In some examples, the controller 24 may use a descriptive analysis model, which represents an analysis model for deriving patterns or trends of alert or alarm statistics. The controller 24 may use one or more types of descriptive analysis models to process statistics corresponding to network links up to the current time. For example, the controller 24 may use data inputs including the average count of severity 2 alarms in the past two hours, the average count of severity 5 alarms in the past five hours, the average count of views or queries of network links in the past two hours, or any combination thereof. The controller 24 may use a descriptive analysis model to process statistics related to metrics. In an example, the controller 24 organizes statistics based on metrics, in which case the statistics include statistics on network devices within two hours immediately before the current time point. The controller 24 applies the descriptive analysis model to statistics.
[0111] The controller 24 may derive the stability score using a descriptive analytical model comprising the following equation.
[0112] sc(nl,t)=
[0113] lp_maximize(derived_alarm_count,derived_alarm_severity,derived_view_count))
[0114] In the above function, "sc" may represent the stability score of the network link "nl" at timestamp "t". The controller 24 may use a conventional descriptive analysis model that uses range, quartiles, absolute deviation, and variance to detect the variability of time series data in the time period before the current time period. Based on the derived analysis, the controller 24 may determine the activity of the visual indicator in the time period before the current time period. For example, the controller 24 may use the above equation to derive a stability score for a given network link that indicates the likelihood that the network link will experience a problem. In some examples, the controller 24 may derive a stability score for a network link using a linear programming approach to derive a maximum stability score value based on the predicted metric value.
[0115] In some examples, the controller 24 may use one or more ML models, such as auto-regressive machine learning models, to predict patterns or trends of events, alarms, and viewing statistics of network links in future time periods. The controller may use one or more types of ML models, such as deep learning models, Q-learning models, neural networks, and / or other types of ML models. An auto-regressive integrated moving average (ARIMA) is shown below.
[0116] PC(nl,t)=c+φ1AC^′t-1+…+φpAC^′t-p+θ1εt-1+…+θqεt-q+εt
[0117] PE(nl,t)=c+φ1AE^′t-1+…+φpAE^′t-p+θ1εt-1+…+θqεt-q+εt
[0118] PV(nl,t)=c+φ1AV^′t-1+…+φpAV^′t-p+θ1εt-1+…+θqεt-q+εt
[0119] In the above equation, "PC" may represent the predicted alarm count for a given network link ("nl") at a given time ("t"), "PE" may represent the predicted event count for a given network link at a given time, and "PV" may represent the predicted view count for a given network link at a given time. In addition, "AC" may represent the aggregated alarm count in the past, "AE" may represent the aggregated event count in the past, "AV" may represent the aggregated view count in the past, "p" may represent the order of the autoregressive component, "d" may represent the degree of the first difference involved, "q" may represent the order of the moving average portion, and "εt" may represent white noise. The controller 24 may provide statistics associated with each metric as an input to the ML model and receive a stability score as an output. The controller 24 may determine a future stability score based on the predicted statistics for the network link. In an example, the controller 24 organizes statistics for the TOR switch 16A based on the metric, in which case the statistics include statistics for the TOR switch 16A within ten days prior to the current point in time. The controller 24 provides the statistics as input to the ML model.
[0120] The controller 24 may use an objective function that maximizes the stability score of a network link when the count of alarms, events, user views, or queries associated with the network link is low. The controller 24 may use the objective function in combination with a descriptive analytical model and / or an ML model. The controller 24 may use an objective function as described below.
[0121] sc(nl,t)=lp_maximize(PV,PE,PV)
[0122] In the above function, "sc" may represent a stability score for the network link "nl" at timestamp "t". The controller 24 may process the statistics by applying an objective function similar to the objective function shown above to derive a stability score for the network link. In the example, the controller 24 obtains network information including statistics from the TOR switch 16A. The controller 24 applies the objective function to the statistics and generates a stability score for the network link of the TOR switch 16A.
[0123] The controller 24 derives a stability score (710). The controller 24 may derive a stability score based on a pattern derived or predicted using a descriptive analytical model or an ML model, respectively. The controller 24 may derive a stability score indicating the stability of a network link (e.g., indicating the likelihood that a network link will not experience a problem within a given time period). In the example, the controller 24 applies the ML model to statistics about network links of the TOR switch 16A that always experience alarms. The controller 24 uses the ML model to generate a stability score indicating the probability that a network link will be stable. The controller 24 generates a relatively low stability score for the link, which indicates a relatively high likelihood that the network link will experience a problem.
[0124] Controller 24 determines a configuration of the visual indicator (712). Controller 24 may determine the configuration of the visual indicator based on the stability score of each network link. In some examples, controller 24 may provide the stability score to network device 14 for network device 14 to determine the configuration of the visual indicator. In another example, visual indicator module 32 may perform a time-limited transition state of the visual indicator of the network link based on the stability score.
[0125] The controller 24 may generate a configuration of a visual indicator based on the stability score satisfying a threshold. The controller 24 may compare the stability score of a network link with a predetermined threshold to determine whether the visual indicator should be configured as active or inactive. The controller 24 may determine that a visual indicator associated with a network link that satisfies a predetermined threshold should be configured as inactive (e.g., the network link is unlikely to have a problem to be indicated via a visual indicator), and a visual indicator associated with a network link that does not satisfy a predetermined threshold should be configured as active (e.g., the network link may have a problem to be indicated via a visual indicator). In an example, the controller 24 determines a stability score for a particular network link of a TOR switch 16A. The controller 24 determines that the stability score of a particular network link satisfies a predetermined threshold. The controller 24 determines a configuration of a visual indicator based on the stability score satisfying the threshold, the configuration of the visual indicator including a configuration of a visual indicator 17A of a TOR switch 16A associated with a particular network link as inactive. The controller 24 may use a predetermined threshold configured by a network administrator and / or determined by the controller 24.
[0126] The controller 24 may associate a network link with a visual indicator as part of determining the configuration of the visual indicator. The controller 24 may associate a network link with a visual indicator to determine which visual indicators should be configured as active and which visual indicators should be configured as inactive. In an example, the controller 24 determines that a particular network link has a relatively high stability score. The controller 24 associates a particular network link with a particular visual indicator. Based on the association, the controller 24 determines a configuration of the visual indicator in which the visual indicator associated with the particular network link is configured as inactive. The controller 24 may use information obtained from the network device 24 (such as configuration information of the network device) to associate a network link with a visual indicator.
[0127] Controller 24 pushes the visual indicator configuration (714). Controller 24 may push the visual indicator configuration to one or more network devices 14. For example, controller 24 may push a first visual indicator configuration for TOR switch 16A to TOR switch 16A, and a second visual indicator configuration for visual indicator 19M of chassis switch 18M to chassis switch 19M. Controller 24 may push a separate visual indicator configuration for each of network devices 14.
[0128] The controller 24 may reset the timer in response to pushing the configuration of the visual indicator. The controller 24 may reset the timer to create a delay before collecting statistics and generating another configuration of the visual indicator. The controller 24 may use the delay generated by the timer as a form of time inhibition for generating the configuration of the visual indicator. For example, the controller 24 may use the delay generated by the wait timer to control the frequency of changes to the visual indicator.
[0129] Figure 8 8 is a block diagram illustrating an example system 800 for determining a configuration of a visual indicator based on a network event in accordance with one or more techniques of the present disclosure. Figure 1 Describe in the context of Figure 8 .
[0130] The data center 10 may include a common event bus 802. The common event bus 802 may be a software component of the data center 10 executed by one or more devices, such as the controller 24, one or more of the network devices 14, and / or other devices of the data center 10. For example, the common event bus 802 may be a software component executed by a network management system of the data center. The common data bus 802 may be vendor and device agnostic. For example, the common data bus 802 may receive information provided by multiple types of devices manufactured by different vendors.
[0131] exist Figure 8 In the example of , the network device 14 of the data center 10 can report network events to the common event bus 802. The network device 14 can report network events including hot plug events (e.g., events related to hot plugging of network devices) and other types of network events. Examples of hot plug events include detecting the removal of a network cable by a network administrator, inserting or removing a USB / SD card drive, inserting or removing a network card, etc. The network device 14 or event storage device that can generate hardware hot plug events can publish any hardware hot plug events to the centralized event bus of the common event bus 802. For example, the TOR switch of the network device 14 can report a hot plug event to the common event bus 802 in response to detecting that an administrator plugs an Ethernet cable into a port of the TOR switch.
[0132] The common event bus 802 may provide information about network events to a DC event queue 804 of the controller 24. The DC event queue 804 may be a data repository and / or data structure maintained by the controller 24 for storing events. The controller 24 may use the DC event queue 804 as a cache of network events. For example, the controller 24 may store information about network events in the DC event queue 804 organized in the order received, and process network events from oldest to newest. In some examples, the DC event queue 804 may be included in another component of the controller 24, such as an event module 812 or a network event store (such as a Figure 4 404 as shown in FIG.
[0133] The controller 24 may use the event module 812 to process network events stored in the DC event queue 804. The event module 812 may represent Figure 4 The example implementation of the event module 412 shown in FIG. 8 is similar to that of FIG. 8 and provides similar functionality. The event module 812 can process network events received from the network device 14 and stored in the DC event queue 804 to determine whether the administrator is near the network device. For example, the event module 812 can use network events from the DC event queue 804 to infer or determine whether the administrator may be near the network device experiencing a hot plug event. The event module 812 can determine that the administrator may not be within the visible range of the network device based on the lack of hot plug events at the network (e.g., the administrator does not interact with the network device itself and is therefore unlikely to be within the visible range of the network device). Alternatively, the event module 812 can determine that the administrator may be within the visible range of the network device based on the occurrence of one or more hot plug events within a given duration. Based on determining that the administrator is unlikely to be within the visible range of the network device, the event module 812 can cause the indicator configuration module 814 to configure the visual indicator of the device that is not within the visible range of the administrator to be inactive.
[0134] In some examples, event module 812 can cause indicator configuration module 814 to deactivate the visual indicator for a given duration (e.g., to avoid a false positive scenario where a network administrator may be around the network device without triggering any hot plug events). For example, event module 812 can configure the visual indicator to be inactive for the calculated duration or until event module 812 makes a subsequent determination whether an administrator is near the network device. In some examples, event module 812 can configure the visual indicator to be active in response to detecting a hot plug event.
[0135] In some examples, the event module 812 can determine relevant network links affected by the network event to configure visual indicators associated with the relevant network links. As an example, the event module 812 can determine a network event, such as a network link failure of a network link to a network device. The event module 812 can determine other relevant network links associated with the network link that has experienced the network event, such as a network link associated with a VLAN that includes the network link that experienced the network event. For example, the event module 812 can use information about the configuration and / or topology of the network within the data center 10 to determine the VLAN associated with the network link that experienced the network event, and determine the links associated with the VLAN. The event module 812 can cause the indicator configuration module 814 to generate a configuration of a visual indicator associated with the relevant network link of the VLAN that is to be active. The indicator configuration module 814 can be similar to the example shown in FIG. Figure 4 , and provides similar functionality. For example, the indicator configuration module 814 can determine the configuration of the visual indicator based on the identification of the network event.
[0136] In some examples, the indicator configuration module 414 can determine the configuration of the visual indicators in which all visual indicators of the network device are configured to be inactive, except for those visual indicators associated with one of the links of the VLAN if the link has experienced a network event. The indicator configuration module 414 can configure only the visual indicators associated with the VLAN that has experienced the network event to be active to reduce power consumption of other visual indicators and only power on visual indicators that are useful for diagnosis and / or within the view of an administrator.
[0137] Fig. 9 is a flow chart illustrating example operations 900 for determining a visual indicator configuration based on a network event. Figure 1 Describe in the context of Fig. 9 .
[0138] A computing system, such as controller 24, obtains network information from a network device, such as one of network devices 14, within data center 10, in which case the network device includes at least one visual indicator, such as one of visual indicators 17, 19 (902). Controller 24 may obtain network information from the network device by polling the network device and / or causing the network device to periodically report network information. Controller 24 may obtain network information from a plurality of network devices 14 within data center 10. Controller 24 may obtain network information including forwarding information of network device 14, configuration information of network device 14, statistical information about the stability of a network link of network device 14, and / or other network information.
[0139] The controller 24 determines a network event based on the network information (904). The controller 24 may control the visual indicators 17, 19 of the network devices 14 in the data center 10 or a group of data centers, such as by disabling the visual indicators for an inactive network link, a stable network link, and / or disabling the visual indicators if the network administrator entity is not near the network devices in the data center, to reduce the amount of power consumed by the network devices in the data center. The controller 24 may determine the network event using one or more techniques, such as determining an inactive network link based on that the inactive network link is incorrectly / incompletely configured and / or as part of an inactive network route, determining a stable network link based on a stability score associated with the network link, and / or determining that the administrator is not near the network device based on the absence of a hot plug event.
[0140] The controller 24 instructs the network device to configure at least one visual indicator as active or inactive based on the network event (906). The controller 24 may instruct the network device to configure at least one visual indicator using a network event indicating whether the visual indicator should be active. The controller 24 may configure the visual indicator to be inactive based on a stability score of the network link being above a predetermined threshold, the network link being inactive, and / or based on the administrator not being near the network device. In an example, the controller 24 determines the configuration of the visual indicator 17N to be inactive based on a stability score of the network link associated with the visual indicator 17N being above a predetermined threshold.
[0141] The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. The various features described as modules, units, or components may be implemented together in an integrated logic device, or individually as discrete but interoperable logic devices or other hardware devices. In some cases, the various features of the electronic circuit system may be implemented as one or more integrated circuit devices, such as an integrated circuit chip or chipset.
[0142] If implemented in hardware, the present disclosure may be directed to an apparatus such as a processor or an integrated circuit device such as an integrated circuit chip or chipset. Alternatively or additionally, if implemented in software or firmware, the techniques may be implemented at least in part by a computer-readable data storage medium that includes instructions that, when executed, cause a processor to perform one or more of the methods described above. For example, a computer-readable data storage medium may store such instructions for execution by a processor.
[0143] The computer-readable medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may include computer data storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, etc. In some examples, an article of manufacture may include one or more computer-readable storage media.
[0144] In some examples, computer-readable storage media may include non-transitory media. The term "non-transitory" may indicate that the storage medium is not incorporated into a carrier wave or propagating signal. In some examples, non-transitory storage media may store data that changes over time (e.g., stored in RAM or cache).
[0145] The code or instructions may be software and / or firmware executed by a processing circuit system including one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuit systems. Thus, the term "processor" as used herein may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described in the present disclosure may be provided within a software module or a hardware module.
Claims
1. A network computing system, comprising: Memory; as well as one or more programmable processors in communication with the memory, wherein the one or more programmable processors are configured to: obtaining network information from a network device within a data center, wherein the network device includes at least one visual indicator; determining a network event based on the network information; and Based on the network event, the network device is instructed to configure the at least one visual indicator as active or inactive.
2. The network computing system according to claim 1, wherein: The network device includes the one or more programmable processors.
3. The network computing system according to any one of claims 1 to 2, in, The network information includes at least one of forwarding information of the network device or configuration information of the network device, wherein, in order to determine the network event, the one or more programmable processors are further configured to: determining, based on the at least one of the forwarding information or the configuration information, that at least one network link associated with the network device is an inactive network link, wherein the at least one visual indicator is associated with the inactive network link, and In order to instruct the network device to configure the at least one visual indicator as active or inactive, the one or more programmable processors are also configured to instruct the network device to configure the at least one visual indicator associated with the inactive network link as inactive.
4. The network computing system according to claim 3, wherein: To determine that the at least one network link is an inactive network link, the one or more programmable processors are further configured to: A determination is made based on the configuration information that the at least one network link is at least one of: not fully configured, or not correctly configured.
5. The network computing system according to claim 3, wherein: To determine that the at least one network link is an inactive network link, the one or more programmable processors are further configured to: A determination is made based on the forwarding information that the at least one network link is included in a network path having relatively low activity.
6. The network computing system according to any one of claims 1 to 2, in, To determine the network event, the one or more programmable processors are further configured to: determining a stability score for at least one network link associated with the network device based on providing the network information to a machine learning model; as well as determining that the at least one network link is an inactive network link based on determining that the stability score of the at least one network link satisfies a predetermined threshold, wherein the at least one visual indicator is associated with the inactive network link, and In order to instruct the network device to configure the at least one visual indicator as inactive or active, the one or more programmable processors are further configured to instruct the network device to configure the at least one visual indicator as inactive.
7. The network computing system according to claim 6, wherein: The network information includes at least one of the following: alert statistics of the at least one network link, alarm statistics of the at least one network link, Monitoring the viewing statistics of users of the status of the at least one network link, or query statistics of the link.
8. The network computing system according to any one of claims 1 to 2, in, To determine the network event, the one or more programmable processors are further configured to: determining a virtual local area network (VLAN) associated with the network event, wherein the VLAN includes a plurality of network links, the plurality of network links including the at least one network link, and Wherein, in order to instruct the network device to configure the at least one visual indicator, the one or more programmable processors are further configured to: Each visual indicator associated with the plurality of network links of the VLAN is configured to be in an active state, and each visual indicator not associated with the VLAN is configured to be in an inactive state.
9. The network computing system according to claim 8, wherein: The network event is a hot plug network event.
10. The network computing system according to claim 9, in, The one or more programmable processors are further configured to: Based on determining the hot plug network event, determining that the administrator is not near the network device, and In order to instruct the network device to configure the at least one visual indicator, the one or more programmable processors are configured to configure the at least one visual indicator to be in an inactive state based on determining that the administrator is not near the network device.
11. The network computing system according to claim 10, wherein: The one or more programmable processors are further configured to: A time domain filter is applied to the network events, wherein the time domain filter filters the plurality of network events based on a corresponding duration of each of the plurality of network events.
12. A computer networking method, comprising: obtaining, by a computing system, network information from a network device within a data center, wherein the network device includes at least one visual indicator; determining, by the computing system, a network event based on the network information; and The network device is instructed, by the computing system and based on the network event, to configure the at least one visual indicator as active or inactive.
13. The computer networking method according to claim 12, in, The network information includes at least one of forwarding information of the network device or configuration information of the network device, wherein determining the network event further includes: determining, based on the at least one of the forwarding information or the configuration information, that at least one network link associated with the network device is an inactive network link, wherein the at least one visual indicator is associated with the inactive network link, and Instructing the network device to configure the at least one visual indicator as active or inactive further includes: instructing the network device to configure the at least one visual indicator associated with the inactive network link as inactive.
14. The computer networking method according to claim 13, wherein: Determining that the at least one network link is an inactive network link further comprises: A determination is made based on the configuration information that the at least one network link is at least one of: not fully configured, or not correctly configured.
15. The computer networking method according to claim 13, wherein: Determining that the at least one network link is an inactive network link further comprises: A determination is made based on the forwarding information that the at least one network link is included in a network path having relatively low activity.
16. The method according to claim 12, in, Determining the network event further includes: Determining a stability score for at least one network link associated with the network device based on providing the network information to a machine learning (ML) model; and determining that the at least one network link is an inactive network link based on determining that the stability score of the at least one network link satisfies a predetermined threshold, wherein the at least one visual indicator is associated with the inactive network link, and Instructing the network device to configure the at least one visual indicator as inactive or active further includes: instructing the network device to configure the at least one visual indicator as inactive.
17. The computer networking method according to claim 16, wherein: The network information includes at least one of the following: alert statistics of the at least one network link, alarm statistics of the at least one network link, Statistics regarding monitoring of the status of the at least one network link by an administrator, or query statistics of the link.
18. The computer networking method according to claim 12, in, Determining the network event further includes: determining a virtual local area network (VLAN) associated with the network event, wherein the VLAN includes a plurality of network links, the plurality of network links including the at least one network link, and Wherein, instructing the network device to configure the at least one visual indicator further comprises: Each visual indicator associated with the plurality of network links of the VLAN is configured to be in an active state, and each visual indicator not associated with the VLAN is configured to be in an inactive state.
19. The computer networking method according to claim 12, further comprising: Based on determining the hot plug network event, determining that the administrator is not near the network device, and The instructing the network device to configure the at least one visual indicator comprises: configuring the at least one visual indicator to be in an inactive state based on determining that the administrator is not near the network device.
20. A non-transitory computer-readable medium encoded with information for causing one or more programmable processors to be configured as a computing system according to any one of claims 1 to 11 or to be configured to perform a computer networking method according to any one of claims 12 to 19.