Methods, controller devices, and media providing topology-based graphical user interfaces
By using topology-based graphical user interface technology, the controller device monitors and analyzes the operational data of network devices, generating a single graphical user interface. This solves the problem of network administrators struggling to manage complex topologies, improves troubleshooting efficiency, and optimizes resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- JUNIPER NETWORKS INC
- Filing Date
- 2021-09-30
- Publication Date
- 2026-05-29
AI Technical Summary
Network administrators struggle to fully understand and manage the operational status of complex network topologies, and existing technologies cannot provide a unified graphical user interface for effective troubleshooting and resource optimization.
It adopts a topology-based graphical user interface, which monitors and analyzes the operation data of network devices through the controller device, generates a single graphical user interface, supports the segmentation of topology and the presentation of health data, and realizes the segmentation of network topology and the graphical representation of health data.
It improves network administrators' understanding of topology and troubleshooting efficiency, reduces interaction with controller devices, and saves processor cycles, memory, and power resources.
Smart Images

Figure CN115622892B_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Application Serial No. 17 / 364,630, filed June 30, 2021, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to computer networks, and more specifically, to the use of network management controllers in computer networks. Background Technology
[0003] A computer network is a collection of interconnected computing devices that can exchange data and share resources. Various devices operate to facilitate communication between these computing devices. For example, a computer network may include routers, switches, gateways, firewalls, and various other devices to provide and facilitate network communication.
[0004] Network devices typically include mechanisms that enable local or remote configuration, such as a management interface. By interacting with the management interface, client devices can perform configuration tasks and execute operational commands to collect and view operational data from the managed device. For example, a client device can configure the managed device's interface card, adjust parameters for supported network protocols, specify physical components within the managed device, modify routing information maintained by the router, access software modules and other resources residing on the managed device, and perform other configuration tasks. Furthermore, client devices can allow users to view current operating parameters from the device, system logs, network connection-related information, network activity, or other status information (including alarms and other warnings), and view and react to event information received from the device.
[0005] In some cases, network administrators may deploy a network controller (also referred to as a "controller" or "controller device") to interact with the underlying managed devices via a management interface in order to configure and / or monitor the managed devices. However, due to the large amount of information provided to the network controller, it is often difficult to fully understand how the network operates and the impact of certain operating parameters, status information, or other operational data on the overall operation of the network. Summary of the Invention
[0006] In general, this disclosure describes techniques for topology-based graphical user interfaces that facilitate a better understanding of how managed devices operate to support intents. A network management system (NMS) device (also referred to herein as a controller or controller device) can be configured to translate high-level configurations (intents received from an administrator of multiple managed network devices) into low-level configurations (to be applied to the managed network devices themselves). In some instances, the controller device can receive instructions on the topology and roles of resource devices (another way of referencing managed devices) and generate device-level configuration information for the resource devices.
[0007] For example, an administrator (e.g., a human) can select a topology (e.g., ridge or leaf, 3-stage Clos or 5-stage Clos) and provide intents for a resource device. In some examples, a controller device can generate a device-level configuration for the managed device based on the resource device's role, topology, and intents. Once configured, the controller device can monitor the operation of the topology, collecting various operational data in real-time or near real-time to facilitate administrators or other network operators in viewing the topology's operation. The controller device can present a topology-based graphical user interface that graphically depicts various operational conditions of the topology according to various aspects of the techniques described in this disclosure, rather than presenting the information in a table that may span a large number of rows (e.g., 100 rows with multiple columns, not 1000 rows).
[0008] In some cases, the controller device can present a single graphical user interface (GUI) that enables cross-correlation between different types of operational data, such as network flow data, device health data, interface data, and alarm data. Furthermore, the single GUI can enable natural language processing to define the timeframe for aggregating operational data before presentation via the single GUI, identify the source and destination, and identify one or more operational data types (e.g., flow, device health, interface, and / or alarm). Additionally, the single GUI can enable interaction with the network topology to reveal or otherwise present additional data, such as an interface supporting a given flow within the network topology.
[0009] In this way, various aspects of this technology can improve the administrator's view of the topology via a unified graphical user interface, resulting in potentially less user interaction with the controller device, while also potentially facilitating more comprehensive oversight of the network topology. The unified graphical user interface enables better troubleshooting and faster understanding of network topology operations, which can further reduce interaction with the network controller. Due to the reduced interaction, the network controller can avoid unnecessary interactions that otherwise consume various resources, such as processor cycles, memory and / or memory bus bandwidth, and associated power. Therefore, various aspects of this technology can improve the operation of the network controller itself.
[0010] Furthermore, this disclosure describes various aspects of techniques for viewing network topology by segmentation when presented via a graphical user interface. According to the various aspects of the techniques described herein, controller devices can enable the (physical or logical) segmentation of network topologies, allowing only a portion of a given network topology to be graphically represented via a graphical user interface, rather than presenting the entire network topology for viewing, wherein such network topologies may include 10, 100, or more network devices.
[0011] A controller device enables network administrators or other users to label or group various network devices configured to provide a network topology (e.g., structure), such that network devices assigned only the same labels and / or groups (or sets of labels and / or groups) are graphically represented. As an example, the controller device can use labels and / or groups to segment the entire network topology for easier visualization of the various segments of the network. Furthermore, the controller device can output a graphical user interface (GUI) that administrators can interact with to provide input that graphically segments the entire network topology, and the GUI can present this input in more detail (in response to received input) to facilitate further viewing.
[0012] Furthermore, the controller device can be configured to implement various aspects of the technology to generate a graphical user interface (GUI) that enables the viewing of aggregated device health data, which presents a relatively healthy picture. This health is relevant to each network device within the network, in terms of its assigned role supporting the entire network topology. For example, a network device failure might not result in a low health level (as represented by the device health data) when a less critical role experiences operating conditions that have little impact on the overall network topology (e.g., due to redundancy of a specific role within the network topology). Conversely, a network device experiencing various operating conditions with a more critical role supporting the entire network topology (e.g., due to less redundancy of a specific role within the network topology) might receive a low health level. The controller device can graphically present the device health data via the generated GUI, potentially enabling administrators to better understand and troubleshoot the network topology.
[0013] In this way, various aspects of this technology can improve the administrator's view of the topology via a graphical user interface, leading to potentially less user interaction with the controller device while also potentially facilitating more comprehensive oversight of the network topology. The graphical user interface enables better troubleshooting and faster understanding of network topology operations, which can further reduce interaction with the network controller while allowing network administrators to focus on issues of higher relative importance within the network topology. Because administrators can resolve network problems more effectively, the network controller can better manage the network topology and enable it to operate more efficiently, consuming fewer resources (such as processor cycles, memory and / or memory bus bandwidth, and associated power). Therefore, various aspects of this technology can improve the operation of the network topology itself while also potentially improving interaction with the administrator, allowing the controller device itself to operate more efficiently (again, in terms of resource consumption).
[0014] In one example, various aspects of the technology described in this disclosure relate to a method comprising: monitoring network devices arranged according to a network topology by a controller device to obtain operational data; obtaining configuration data defining the network topology by the controller device; analyzing the configuration data and operational data by the controller device to generate a graphical representation of the network topology of the operational data; and presenting a single graphical user interface by the controller device, the single graphical user interface including the graphical representation of the network topology of the operational data.
[0015] In another example, various aspects of the technology described in this disclosure relate to a controller device comprising: one or more processors configured to: monitor network devices arranged according to a network topology to obtain operational data; and obtain configuration data defining the network topology; and a memory configured to store the operational data and the configuration data, wherein the one or more processors are further configured to: analyze the configuration data and the operational data to provide a graphical representation of the network topology of the operational data; and present a single graphical user interface that presents a graphical representation of the network topology of the operational data.
[0016] In another example, aspects of the technology described in this disclosure relate to a non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a controller device to: monitor network devices arranged according to a network topology to obtain operational data; obtain configuration data defining the network topology; analyze the configuration data and operational data to provide a graphical representation of the network topology of the operational data; and present a single graphical user interface that presents a graphical representation of the network topology of the operational data.
[0017] In another example, various aspects of the technology described in this disclosure relate to a method comprising: obtaining configuration data by a controller device for configuring a network device to provide a network topology; segmenting the network topology by the controller device based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generating a first graphical user interface by the controller device that presents a graphical representation of the segmented network topology; and outputting the first graphical user interface by the controller device.
[0018] In another example, various aspects of the technology described in this disclosure relate to a controller device including: a memory configured to store configuration data for configuring a network device to provide a network topology; and one or more processors configured to: segment the network topology based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generate a first graphical user interface presenting a graphical representation of the segmented network topology; and output the first graphical user interface.
[0019] In another example, aspects of the technology described in this disclosure relate to a non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a controller device to: obtain configuration data for configuring a network device to provide a network topology; segment the network topology based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generate a first graphical user interface that presents a graphical representation of the segmented network topology; and output the first graphical user interface.
[0020] Details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the specification, the drawings, and the claims. Attached Figure Description
[0021] Figure 1 This is a block diagram illustrating an example of components that include an enterprise network managed using a management device.
[0022] Figure 2 It is shown that it is used for Figure 1 A block diagram of a set of example components of the management device.
[0023] Figures 3A to 3F This is an illustration of an example of a single graphical user interface providing a topology-based view of a network according to various aspects of the technology described in this disclosure.
[0024] Figures 4A to 4C This is an illustration of an example of a graphical user interface providing a topology segmentation view of a network according to various aspects of the technology described in this disclosure.
[0025] Figure 5A and Figure 5BThis is an illustration of an example of a graphical user interface that provides a multi-granular device health view of network elements according to various aspects of the technology described in this disclosure.
[0026] Figure 6 and Figure 7 It is shown Figure 1 and Figure 2 The example shown is a flowchart illustrating the exemplary operation of the controller device when performing various aspects of the technology described in this disclosure. Detailed Implementation
[0027] Figure 1 This is a block diagram illustrating an example of elements comprising an enterprise network 2 managed using controller device 10. Managed elements 14A-14G of the enterprise network 2 (collectively, “Element 14”) include network devices interconnected via communication links to form a communication topology for exchanging resources and information. Element 14 (also commonly referred to as a network device, remote network device, managed network device, and / or managed device) may include, for example, routers, switches, gateways, bridges, hubs, servers, firewalls or other intrusion detection systems (IDS) or intrusion prevention systems (IDP), computing devices, computing terminals, printers, other network devices, or combinations thereof. Although described herein as transmitting, conveying, or otherwise supporting packets, the enterprise network 2 may transmit data according to any other discrete data unit defined by any other protocol, such as a cell defined by the Asynchronous Transfer Mode (ATM) protocol or a datagram defined by the User Datagram Protocol (UDP). The communication link interconnection element 14 may be a physical link (e.g., optical, copper, etc.), wireless, or any combination thereof.
[0028] Enterprise network 2 is shown coupled to public network 18 (e.g., the Internet) via a communication link. Public network 18 may include, for example, one or more client computing devices. Public network 18 can provide access to web servers, application servers, public databases, media servers, end-user devices, and other types of network resource devices and content.
[0029] Controller device 10 is communicatively coupled to element 14 via enterprise network 2. In some examples, controller device 10 forms part of a device management system, although for illustrative purposes... Figure 1Only one device of the device management system is shown in the diagram. The controller device 10 may be directly or indirectly coupled to various elements 14. Once the elements 14 are deployed and activated, the administrator 12 uses the controller device 10 to manage the network devices using device management protocols. An example device protocol is the Simple Network Management Protocol (SNMP), which allows the controller device 10 to traverse and modify the Management Information Base (MIB) where configuration data is stored within each managed element 14. Further details of the SNMP protocol can be found in Harrington et al., RFC 3411, “An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” Network Working Group, the Internet Engineering Task Force draft, December 2002, the entire contents of which are incorporated herein by reference.
[0030] The controller device 10 (also known as a network management system (NMS) or NMS device) and element 14 are centrally maintained by the enterprise's IT team. Administrator 12 interacts with the controller device 10 to remotely monitor and configure element 14. For example, administrator 12 can receive alerts about any element 14 from the controller device 10, view the configuration data of element 14, modify the configuration data of element 14, add new network devices to enterprise network 2, remove existing network devices from enterprise network 2, or otherwise manipulate enterprise network 2 and the network devices therein. Although described in relation to an enterprise network, the techniques disclosed herein are applicable to other public and private network types, including LANs, VLANs, VPNs, etc.
[0031] In some examples, the administrator 12 interacts directly with component 14 using controller device 10 or a local workstation, for example, via remote login, Secure Shell (SSH), or other such communication sessions. That is, component 14 typically provides an interface for direct interaction, such as a command-line interface (CLI), a web-based interface, a graphical user interface (GUI), etc., through which the user can interact with the device to issue text-based commands directly. For example, these interfaces typically allow users to interact directly with the device, for example, via remote login, Secure Shell (SSH), Hypertext Transfer Protocol (HTTP), or other network sessions, to enter text according to a defined syntax to submit commands to the managed component. In some examples, the user initiates an SSH session 15 with one of the components 14 (e.g., component 14F) using controller device 10 to directly configure component 14F. In this way, the user can provide commands to component 14 in a format intended for direct execution.
[0032] Furthermore, the administrator 12 can create scripts that can be submitted by the controller device 10 to any or all components 14. For example, in addition to the CLI interface, component 14 provides an interface for receiving scripts that specify commands according to a scripting language. In a sense, the script can be output by the controller device 10 to automatically invoke the corresponding Remote Procedure Call (RPC) on the managed component 14. The script can conform to, for example, Extensible Markup Language (XML) or another data description language.
[0033] Administrator 12 uses controller device 10 to configure element 14 to specify certain operational characteristics that facilitate administrator 12's objectives. For example, administrator 12 can specify specific operational policies for element 14 regarding security, device accessibility, traffic engineering, Quality of Service (QoS), Network Address Translation (NAT), packet filtering, packet forwarding, rate limiting, or other policies. Controller device 10 uses one or more network management protocols (such as SNMP or the Network Configuration Protocol (NETCONF) protocol or its derivatives, such as the Juniper Device Management Interface) designed to manage configuration data within the managed network element 14 to perform configuration. Generally, NETCONF provides a mechanism for configuring network devices and uses Extensible Markup Language (XML)-based data encoding to configure data, which may include policy data. NETCONF is described in Enns, “NETCONF Configuration Protocol,” Network Working Group, RFC 4741, Dec. 2006, available at tools.ietf.org / html / rfc4741, the entire contents of which are incorporated herein by reference. The controller device 10 can establish a NETCONF session with one or more components 14.
[0034] Controller device 10 may be configured to accept high-level configuration data or intents from administrator 12 (e.g., according to YANG as described in Bjorklund, “YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF),” Internet Engineering Task Force, RFC 6020, Oct. 2010, available at tools.ietf.org / html / rfc6020, which may be expressed as structured input parameters). Controller device 10 may also be configured to output appropriate sets of low-level device configuration data, such as device configuration additions, modifications, and removals. Additional details regarding example processes for converting high-level configuration information into low-level device configuration information can be found, for example, in U.S. Patent Application No. 15 / 198,657, filed June 30, 2016, by Jiang et al., “TRANSLATING HIGH-LEVEL CONFIGURATIUN INSIRUCIIUNS TO LUW-LEVEL DEVICECONFIGURATION,” the entire contents of which are incorporated herein by reference.
[0035] This disclosure refers to the low-level device configuration generated from the intent (i.e., generated by compiling or transforming the intent) as “device-level intent configuration information” or “intent configuration” to distinguish the device-level configuration from out-of-band (OOB) device-level configuration. In some examples, controller device 10 may use YANG modeling for both the intent data model and the low-level device configuration model. This data may contain relationships across YANG entities, such as list items and containers. In some examples, controller device 10 may convert the YANG data model into a database model and convert YANG validation into data validation. Techniques for managing network devices using a graphical model for high-level configuration data are described in U.S. Patent Application No. 15 / 462,465, filed March 17, 2017, “CONFIGURING AND MANAGING NETWORK DEVICES USINGPROGRAM OVERLAY ON YANG-BASED GRAPH DATABASE”, the entire contents of which are incorporated herein by reference.
[0036] Controller device 10 can receive data from one of the administrators 12 representing any or all of the creation, read, update, and / or deletion (CRUD) actions related to the intent data model. Controller device 10 can be configured to use the same compilation logic for each of the creation, read, update, and deletion actions applied to the graphical model.
[0037] Typically, a controller like controller device 10 can use a hierarchical data model for intents, low-level data models, and resources. The hierarchical data model can be based on YANG or YAML. As mentioned above, the hierarchical data model can be represented graphically. The use of intents simplifies network management. Intents are declarative. To implement an intent, controller device 10 attempts to select the optimal resource.
[0038] Typically, controller device 10 can be configured to convert high-level configurations (e.g., intents from multiple managed network devices received from an administrator) into low-level configurations (which may also be referred to herein as "device-level configurations" (applied to the managed network device itself)). In some instances, controller device 10 can receive instructions on the topology and roles of element 14A and generate device-level configuration information for element 14A. For example, administrator 12 can select topologies and roles for element 14A and provide intents. In some examples, controller device 10 can generate device-level configurations for element 14A based on its role in the topology (e.g., spine and leaf topology), the topology, and the intent (e.g., spine or leaf).
[0039] For example, administrator 12 can select a topology (e.g., ridge or leaf, 3-stage Clos or 5-stage Clos) and role for element 14A and provide intents. In some examples, controller device 10 can generate device-level configurations for managed devices based on the role, topology, and intents of element 14A. Once configured, controller device 10 can monitor the operation of the topology, collecting various operational data in real-time or near real-time to facilitate administrator 12 or other network operators in reviewing and troubleshooting the topology's operation.
[0040] While the controller device 10 can facilitate viewing and troubleshooting, the user interface used to facilitate such viewing can present a segmented view of operational data, dividing it into different types of data across multiple different interfaces. Furthermore, given the large amount of operational data presented for some topology (e.g., a large structure potentially involving 10 (if not 100) different devices), each user interface may present a large data table for the administrator to view, potentially making it difficult for the administrator to identify problems degrading topology operation. Such troubleshooting can become very time-consuming and may thus lead to long-term inefficiency of the topology.
[0041] According to various aspects of the technology described in this disclosure, controller device 10 may present a topology-based graphical user interface that facilitates a better understanding of how element 14 operates to support intent. Controller device 10 may present a topology-based graphical user interface that graphically depicts various operating conditions of a topology according to various aspects of the technology described in this disclosure, rather than presenting that information in a table that may span a large number of rows (e.g., 100 rows, not 1000 rows, with multiple columns).
[0042] The controller device 10 can present a single graphical user interface (GUI) that enables cross-correlation between different types of operational data, such as network flow data, device health data, interface data, and / or alarm data. Furthermore, the single GUI enables natural language processing for defining the timeframe for aggregating operational data before presentation via the single GUI, identifying sources and destinations, and recognizing one or more operational data types (e.g., flow, device health, interface, and / or alarm). Additionally, the single GUI enables interaction with the topology to reveal or otherwise present additional data, such as an interface supporting a given flow within the topology.
[0043] In operation, the controller device 10 can monitor the components 14 arranged according to the topology (as described above, which may also be referred to as managed devices 14 or network devices 14) to obtain operational data, such as the aforementioned network flow data, device health data, interface data, and / or alarm data. Figure 1 In the example, it is assumed that element 14 resides in a data center and operates to form a structured topology (referred to as "structure"). Packets or other data units are routed / switched through this structured topology to provide services, for example, via a public network 18, to one or more end users coupled to the data center. Such services may include payment processing, content hosting, Voice over Internet Protocol (IP) or VoIP, video conferencing, web conferencing, etc. Therefore, enterprise network 2 can also be referred to as structure 2.
[0044] Network flow data can refer to traffic transmitted for a specific network flow (which is unidirectional and defines the data transmitted to a given so-called five-tuple defined by the source Internet Protocol IP address, destination IP address, source port, destination port, and a protocol such as IP or Transmission Control Protocol TCP). Device health data can refer to the operational status of one or more elements 14, wherein the controller device 10 can aggregate multiple different aspects of element 14, such as interface operation, dropped packets, current operational status of element 14, etc., to provide device health for each element 14. Interface data can refer to data indicating how each individual interface of element 14 operates, while alarm data can represent alarms and / or warnings caused by element 14 due to misconfiguration, inactivity, memory failure, memory utilization, processor utilization, etc.
[0045] In any case, controller device 10 can engage with each element 14 via a management interface presented by element 14. In some instances, controller device 10 can establish a push framework in which element 14 periodically or in response to subsequent events pushes or otherwise provides operational data without controller device 10 engaging with element 14 each time operational data becomes available. In other instances, or in combination with such push instances, controller device 10 can establish a pull framework in which controller device 10 may periodically or in response to an event engage with each element 14 to request operational data each time controller device 10 needs such operational data. Regardless of the framework, controller device 10 can obtain operational data from each element 14 and store such operational data in a database or other data store.
[0046] Controller device 10 can then obtain configuration data defining structure 14 (or in other words, network topology). Controller device 10 can store the configuration data locally in a database or other data store, or retrieve such configuration data from element 14 or from a remote database or other data store. For illustrative purposes, it is assumed that the configuration data is stored locally; controller device 10 can engage with a configuration database to retrieve configuration data defining the configuration of element 14 supporting structure 2. Although it is assumed that a single topology (e.g., structure 2) is supported, one or more (including subsets) of elements 14 can support multiple different topologies to support various services provided by the data center across a variety of different end users and / or customers.
[0047] The controller device 10 can then apply various algorithms to analyze the configuration data and operational data to generate a graphical representation that graphically depicts the network topology of the operational data. For example, the controller device 10 can arrange elements 14 as nodes in a graphical data structure, the edges of which define connections (e.g., physical links) between elements 14, where elements 14 and connections are defined by configuration data. The controller device 10 can generate graphical representations of the graphical data structure (discussed in more detail below), assigning different formats to the graphical representations of the nodes and edges of the graphical data structure based on the operational data.
[0048] The controller device 10 can then generate a single graphical user interface (GUI) that includes a graphical representation (e.g., a graphical data structure) of the structure 2 of the operational data. The controller device 10 can then present this single GUI to an administrator 12, who can interact with it in various ways to potentially better understand the operation of the structure 2 and thus perform troubleshooting in a more unified manner without the need for frequent interactions with multiple user interfaces, which would otherwise require viewing multiple different types of operational data.
[0049] In this way, various aspects of this technology can improve the administrator 12's viewing of topologies such as Structure 2 via a unified graphical user interface, resulting in potentially less user interaction with the controller device 10, while also potentially facilitating more comprehensive oversight of the network topology. The unified graphical user interface enables better troubleshooting and faster understanding of network topology operations, which can further reduce interaction with the network controller 10. Due to the reduced interaction, the network controller 10 can avoid unnecessary interactions that otherwise consume various resources, such as processor cycles, memory and / or memory bus bandwidth, and associated power. Therefore, various aspects of this technology can improve the operation of the network controller 10 itself.
[0050] Furthermore, this disclosure describes various aspects of techniques for viewing network topology by segmentation when presented via a graphical user interface. According to the various aspects of the techniques described herein, controller device 10 can enable the (physical or logical) segmentation of network topology, allowing only a portion of a given network topology to be graphically represented via a graphical user interface, rather than presenting the entire network topology for viewing, wherein such network topology may include 10, 100, or more network devices.
[0051] The controller device 10 enables network administrators or other users to label or group various elements 14 configured to provide a network topology (e.g., structure 2), such that elements 14 assigned only the same labels and / or groups (or sets of labels and / or groups) are graphically represented. As an example, the controller device 10 can use labels and / or groups to segment structure 2 for easier presentation of the various segments of the entire structure 2. Furthermore, the controller device 10 can output a graphical user interface (GUI) that the administrator 12 can interact with to provide input for graphically segmenting structure 2, and the GUI can present this input in more detail (in response to receiving input) to facilitate further viewing.
[0052] Furthermore, the controller device 10 can be configured to implement various aspects of the technology to generate a graphical user interface that enables the viewing of aggregated device health data that presents a relatively healthy picture, as this health is associated with each element 14 in terms of its assigned role supporting structure 2. For example, when a less important role experiences operating conditions that do not significantly affect the operation of structure 2 (e.g., due to redundancy of a particular role in structure 2), a failure of any element 2 in that role may not result in a low health level (as represented by the device health data), while an element 14 with a more important role supporting structure 2 (e.g., due to less redundancy of a particular role in structure 2) experiencing various operating conditions may be assigned a low health level. The controller device 10 can graphically present the device health data via the generated graphical user interface, potentially enabling the administrator 12 to better understand and troubleshoot structure 2.
[0053] In operation, the controller device 10 can obtain configuration data for configuring element 2 to provide structure 2. As described above, the controller 10 can obtain this configuration from local or remote data storage such as a database and from element 2. The controller device 10 can then segment structure 2 based on the configuration data (which may include the aforementioned tags and / or groups) to obtain a segmented structure representing a portion of structure 2 (wherein, with respect to at least one element 14 of structure 2 excluded from the segmented structure, the portion should be understood as smaller than the whole of structure 2). The controller device 10 can then generate and output a first graphical user interface that presents a graphical representation of the segmented structure.
[0054] Furthermore, as described above, the controller device 10 can monitor the components 14 configured to provide structure 2 to obtain operational data, which may include interface metrics, fan temperature, memory usage, protocols, and disk usage. The controller device 10 can analyze configuration and operational data to generate device health data for each network device at two or more granular levels (e.g., structure level and device level). The controller device 10 can generate device health data to identify the relative health of each component 14 relative to each role assigned to component 14 in structure 2. The controller device 10 can then generate a graphical user interface (or update an existing graphical user interface) to present the device health data and output the graphical user interface for viewing by the administrator 12.
[0055] In this way, various aspects of the technology can improve the administrator's view of Structure 2 via a graphical user interface, resulting in potentially less user interaction with the controller device 10 (because device health data can summarize the status of each element 14 in Structure 2, allowing the administrator 12 to identify device / structure-level problems without having to consult multiple different user interfaces), while also potentially facilitating more comprehensive oversight of Structure 2. The graphical user interface enables better troubleshooting and faster understanding of the operation of Structure 2, which can further reduce interaction with the network controller 10, while also allowing the administrator 12 to focus on relatively more critical issues in Structure 2. Because the administrator 12 can resolve network problems more effectively, the controller device 10 can better manage Structure 2 and enable it to operate more efficiently, thus consuming fewer resources (such as processor cycles, memory and / or memory bus bandwidth, and associated power). Therefore, various aspects of the technology can improve the operation of the network topology itself, while also potentially improving interaction with the administrator 12, which allows the controller device 10 itself to operate more efficiently (again, in terms of resource consumption).
[0056] Figure 2 It is shown Figure 1 A block diagram of a set of example components of a controller device 10. In this example, the controller device 10 includes a control unit 22, a network interface 34, and a user interface 36. The network interface 34 represents the ability to communicatively couple the controller device 10 to an external device (e.g., Figure 1 Example interface 34 (one of the elements 14). Network interface 34 can represent a wireless and / or wired interface, such as an Ethernet interface or wireless radio configured to communicate according to wireless standards such as one or more IEEE 802.11 wireless networking protocols (such as 802.11a / b / g / n or other such wireless protocols). In various examples, controller device 10 may include multiple network interfaces, although only one network interface is shown for illustrative purposes.
[0057] Control unit 22 refers to any combination of hardware, software, and / or firmware used to implement the functions belonging to control unit 22 and its constituent modules and elements. When control unit 22 includes software or firmware, control unit 22 also includes any necessary hardware for storing and executing the software or firmware, such as one or more processors or processing units. Typically, processing units may include one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuits, and any combination of these components. Furthermore, processing units are typically implemented using fixed and / or programmable logic circuits.
[0058] User interface 36 represents one or more interfaces, such as administrator 12 ( Figure 1 Users interact with controller device 10 through this interface, for example, by providing input and receiving output. For example, user interface 36 may represent one or more of a monitor, keyboard, mouse, touchscreen, touchpad, trackpad, speaker, camera, microphone, etc. Furthermore, although controller device 10 includes a user interface in this example, it should be understood that administrator 12 does not need to interact directly with controller device 10, but can access controller device 10 remotely, for example, via network interface 34.
[0059] In this example, control unit 22 includes a user interface module 38, a network interface module 32, and a management module 24. Control unit 22 executes user interface module 38 to receive input from user interface 36 and / or provide output to user interface 36. Control unit 22 also executes network interface module 32 to send and receive data (e.g., packets) via network interface 34. User interface module 38, network interface module 32, and management module 24 can be implemented again as corresponding hardware units, or as software or firmware, or a combination thereof.
[0060] Control unit 22 executes management module 24 to manage various network devices, such as, Figure 1 Component 14. Management includes, for example, based on data from the user (e.g., Figure 1 The administrator 12) receives instructions to configure network devices and provides users with instructions to submit configurations for network devices. Although in Figure 2 The example is not shown, but management module 24 may include configuration module and conversion module.
[0061] Management module 24 is configured to receive a set of intents (e.g., high-level configuration instructions) from users such as administrator 12. In some examples, management module 24 may be referred to herein as a "structure manager". Over time, users can update configuration instructions, for example, to add new services, remove existing services, or modify existing services performed by the managed devices. Intents can be constructed based on, for example, YANG. In some examples, management module 24 also provides users with the ability to submit a conversion module to perform a conversion function to translate the intent into device-specific low-level configuration instructions.
[0062] The controller device 10 also includes a configuration database 40. Configuration database 40 typically includes information describing the managed network device (e.g., element 14). For example, configuration database 29 may include information indicating device identifiers (such as MAC and / or IP addresses), device type, device vendor, device category (e.g., router, switch, bridge, hub, etc.). Configuration database 29 also stores device-level configuration information based on the intent of the managed device (e.g., element 14) (e.g., high-level configuration information, or in some cases, both high-level and low-level configuration information).
[0063] The conversion module, also referred to herein as the "Device Manager," determines which devices are managed using the configuration database 29. Based on information from the configuration database 29, the conversion module determines which conversion functions to perform for high-level configuration instructions, such as which devices will receive low-level configuration instructions. The conversion module then executes each determined conversion function, providing the high-level configuration instructions as input and receiving the low-level configuration instructions. The conversion module can then provide the low-level configuration instructions to the configuration module.
[0064] After receiving the low-level configuration command from the conversion module, the configuration module sends the command to the corresponding managed network device whose configuration needs to be updated via the network interface module 32. The network interface module 32 then passes the command to the network interface 34. The network interface 34 forwards the command to the appropriate network device.
[0065] Although for illustrative purposes, user interface 36 is described as allowing administrator 12 ( Figure 1 The controller device 10 interacts with the controller device 10, but it should be understood that other interfaces may be used in other examples. For example, the controller device 10 may include a representative state transition (REST) client (not shown) that can be used as an interface to another device, through which the administrator 12 configures the controller device 10. Similarly, the administrator 12 can configure the element 14 by interacting with the controller device 10 through the REST client.
[0066] like Figure 2As further shown in the example, the management module 24 may include a monitoring module 26, a backend application programming interface (API) 28, and an analysis module 30. The monitoring module 26 may represent a module configured to engage with component 14 via network interface modules 32 and 34 to obtain operational data 39. The monitoring module 26 may implement the aforementioned push and / or pull frameworks through which the operational data 39 is obtained. The monitoring module 26 may then call the backend API 26 to locally (e.g., ...) retrieve the operational data 39. Figure 2 (as shown in the example) or remote storage to a database or data store.
[0067] Backend API 26 represents an API configured to interact with the database storing operational data 39 and the configuration database 29. Backend API 26 can perform various operations to facilitate the storage of operational data 39 and configuration data, such as formatting (or reformatting, including re-marking), transformation, aggregation, timestamps, etc., to store the operational data 39 and configuration data in a uniform format or data schema consistent with the underlying database. Backend API 26 can also form semantically correct database requests that conform to a database query language such as Structured Query Language (SQL) or any other formal database language.
[0068] Analysis module 30 can represent a module configured to support the generation of user interface 36 by user interface module 38. That is, analysis module 30 can receive requests for configuration data 29A (which can represent a subset of data stored in configuration database 29) and operation data 39 or a subset thereof (which can be represented as operation data 39A), wherein the term subset should be understood to refer to one or more items of all data items, but less than all data items, rather than the strict mathematical definition of a subset including a zero-item subset (the so-called empty subset) up to a subset of all data items.
[0069] In any case, the analysis module 30 can implement various algorithms, as described in more detail below, to aggregate relevant operational data 39A, analyze operational data 39A to identify various types of operational data 39A, interpret operational data 39A to identify device health and other aspects of component 14, and parse operational data 39A to prepare for a unified presentation via user interface 36. The analysis module 30 can reduce the dimensionality of operational data 39A and / or derive implicit aspects of operational data 39A, potentially increasing the dimensionality of operational data 39A. In this regard, the analysis module 30 can modify operational data 39A to produce operational data 39A' that has been transformed, edited, formatted, or otherwise modified to facilitate the generation of user interface 36. In this way, the analysis module 30 can analyze configuration data 29A and operational data 39A to facilitate the generation of a graphical representation of the structure 2 (or some other network topology) of operational data 39A'.
[0070] Initially, the administrator 12 can interact with the user interface 36 to select a topology (such as structure 2), possibly specifying a subset of operational data 39 related to a specific problem or state (such as the time frame at which operational data 39 should be obtained, the source (e.g., source IP address), the destination (e.g., destination IP address), and / or the type of operational data (e.g., network flow data, device health data, interface data, and / or alarm data)). The user interface 36 can pass data representing the interaction (e.g., possibly via function calls presented by an API represented by the user interface module 38). The user interface module 38 can process the data representing the interaction (which may be referred to as the interaction) to parse the administrator 12's intent, thereby enabling the analysis module 30 to engage with the operational database 39 and the configuration database 29 via the backend API 28 to generate a single graphical user interface consistent with various aspects of the techniques described in this disclosure.
[0071] like Figure 2 As further illustrated in the example, the user interface module 38 includes a natural language processor (NPL) 37, which facilitates the interaction between the administrator 12 and the user interface 36. The NPL 36 may represent a deep neural network capable of processing natural language to derive the administrator 12's intent expressed in natural language (e.g., text and / or speech input using plain language, rather than semantically correct commands conforming to formal query languages such as SQL). The NPL 37 may process plain language interactions to parse the intent, as an example enabling the selection of one or more of the following prior to analysis: aggregating the time range of operational data 39A', identifying operational data 39A' by source or destination, and identifying the type of operational data 39A', and then parsing the intent from these interactions using plain language. The user interface module 38 may invoke the analysis module 30, passing the parsed intent to the analysis module 30.
[0072] Analysis module 30 can receive an intent and retrieve configuration data 29A and operation data 39A that satisfy that intent. Analysis module 30 can process operation data 39A (which monitoring module 26 can update in real-time or near real-time as described above) to generate operation data 39A'. Analysis module 30 can perform this analysis of configuration data 29A and operation data 39A' to generate a graphical representation of structure 2 of operation data 39A'. Analysis module 30 passes this graphical representation of structure 2 to user interface module 38, which generates a single graphical user interface (e.g., user interface 36) that includes the graphical representation of structure 2 of operation data 39A'. Reference Figures 3A to 3F The example describes a single graphical user interface represented by user interface 36 in more detail.
[0073] Furthermore, the analysis module 30 can be invoked to segment structure 2 based on configuration data 29 to obtain a segmented structure (SF) 59 that includes only a portion of structure 2. The user interface 26 can receive input from the administrator 12 indicating the segmentation of a graphical representation of structure 2. In some cases, the input may include selection groups or labels. In other cases, the input may graphically represent segments of a graphical representation of structure 2 (e.g., input representing bounding boxes or other geometry around segments of a graphical representation of structure 2, input representing a single selection of a graphical representation of one or more elements 14 of structure 2, etc.). The user interface 36 can provide input to the user interface module 38, which can invoke the analysis module 30 to pass the input to the analysis module 30. Based on this input, the analysis module 30 can segment structure 2 into segmented structures 59, while also adapting operation data 39A and / or 39A' to facilitate a graphical representation of the segmented structures 59 adapted to the operation data.
[0074] In any case, the analysis module 30 can also analyze the operational data 39A to generate device health data (DHD) 69. The user interface module 38 can receive input (via the user interface 36) to enable the display of granular device health data and to invoke the analysis module 30 to generate device health data 69 from the operational data 39. The analysis module 30 can analyze both the operational data 39A and the configuration data 29A to generate relative device health data 69 representing the relative health of element 14 relative to each role assigned to element 14 in structure 2. The analysis module 30 can perform this analysis using a trained machine learning model that has been trained to generate device health data 69. The trained machine learning model can include neural networks, convolutional neural networks, decision trees, support vector machines, Bayesian networks, or any other machine learning model and / or artificial neural networks. The analysis module 30 can generate device health data 69 for structure 2 and / or segmented structure 59. The analysis module 30 can provide device health data 69 to the user interface module 38.
[0075] User interface module 38 can generate user interface 36 to present device health data 69 for at least one of two or more granularity levels. User interface module 38 can output user interface 36 for viewing by administrator 12. See below for reference. Figures 4A to 5B More information describes the segmentation and / or display of the user interface 36 that promotes device health data 69.
[0076] Although described as providing local interaction with the user interface 36, the administrator 12 can interact with the user interface 36 remotely, wherein the user interface 36 can be provided to a remote computing device with which the administrator 12 interacts. In this context, various aspects of the technology described with respect to the user interface 36 can occur locally at the remote computing device of the controller device 10, which can respond as described above to support the user interface 36.
[0077] Figures 3A to 3F This is an illustration of an example of a single graphical user interface providing a topology-based view of a network according to various aspects of the techniques described in this disclosure. Figure 3A As shown in the example, user interface 136A can represent user interface 36 that presents a single graphical user interface. Figure 2 Example of a network topology, wherein the network topology is depicted as nodes 138A-138L (“nodes 138”) and edges 140A and 140B (“edges 140”).
[0078] Each node 138 represents the formation of the topology (in...) Figure 1 and Figure 3A In the example, structure 2 is a network device (e.g., an element 14). Each edge 140 represents an interconnection between two corresponding elements 14, wherein element 14 is fully connected to another element 14 (in a different layer) to form structure 2. Figure 3A In the example, Administrator 12 has selected the "Flow Analysis" view 142 to conceptualize Structure 2 and Operational Data 39A representing network flows.
[0079] As shown in the lower right corner of user interface 136A, the thickness of each edge 140 can represent the network flow data transmitted between one or more pairs of nodes 138, where the administrator 12 can select how to apply operation data 39A via selector 144 (where the current selection is "Data Transmission"). The size of each node 138 (also shown in the lower right corner of user interface 136A) can represent the amount or extent of network data for each node 138. The administrator 12 can interact with user interface 136A to quickly identify network flows and the relative importance of each node 138 based on the transmitted data.
[0080] like Figure 3AAs further illustrated in the example, user interface 136A may include a text input box 146 that facilitates input of natural language into user interface 136A. Administrator 12 may engage with text input box 146 to input natural language text that identifies a timeframe or other aspect that restricts the operation data 39A, such as source address, destination address, type of operation data 39A, etc. The NPL 37 of user interface module 38 can then process the natural language text input to identify intent, which is then passed to analysis module 30 for retrieval of relevant information. Figure 1 The corresponding operational data 39A (e.g., within a given time frame, for a specific stream and / or a specific type identified by the destination and / or source).
[0081] Next reference Figure 3B For example, user interface 136B represents another example of user interface 36, where administrator 12 has interacted with natural language text box 146 to input natural language text identifying a time frame of "November 11, 03:20 - November 12, 3:20 PM," which is a one-day ("1d") value for operational data 39A. NPL 37 can process this natural language text, providing an intent to analysis module 30. In this example, the intent can be formalized according to a consistent format (such as 11 / 11 / 2021 (15:20) and 11 / 12 / 2021 (15:20)), possibly converting the time to a standard time zone (Greenwich Mean Time - GMT).
[0082] Analysis unit 30 can invoke backend API 28 with the intent to obtain operation data 39A within a standardized (consistent format) time frame. Analysis unit 30 can aggregate operation data 39A to reflect the data transmitted by each node 138 and edge 140, thereby providing the aggregated operation data 39A' to user interface module 38. In response to receiving the aggregated operation data 39A', user interface module 38 can update user interface 136B to reflect the aggregated operation data 39A' within the expected time frame input by administrator 12, and output user interface 136B to be displayed to administrator 12.
[0083] As in Figure 3B As further illustrated in the example, user interface 146 can detect that administrator 12 has entered a timeframe and generate a suggestion box 148 that provides one or more suggested timeframes (e.g., 15m - the past 15 minutes, 30m - the past 30 minutes, Cal - select from calendar, and... - more), where providing such suggestions can be referred to as "autocomplete". Providing potential alternative timeframes allows administrator 12 to identify possible other timeframes that might disable troubleshooting or otherwise understand the operation of structure 2.
[0084] exist Figure 3C In the example, another example of a user interface 136C that can represent user interface 36 is shown. User interface 136C presents an interrelated view of structure 2 that provides a single graphical user interface through which administrator 12 can select the first N flow inputs 150A, device health inputs 150B, interface inputs 150C, and alarm inputs 150D (which can be collectively referred to as "inputs 150"), which can represent different types of operational data 39A or aggregated / adapted operational data 39A'.
[0085] In this example, administrator 12 has interacted with natural language text box 146 to specify a 1-hour timeframe (“1h”) starting at 07:24 AM on November 12th and continuing until 08:24 AM on November 12th. In response to the input of this timeframe (in natural language text), user interface 136C can present cross-correlation frame 148, which includes inputs 150A-150D for selecting various types of operational data 39A and / or aggregating / adapting operational data 39A'. Currently, as shown by the lines under the first N streams 150A, administrator 12 has selected to view the first N streams of structure 2.
[0086] For the first N flow inputs 150A, the cross-correlation frame 148 includes a graph 152 of the traffic flow (another way of referring to network flow) of the selected time frame and a list 154 of the network flows. Each item in list 154 may include the source IP address, the destination IP address, and the amount of data transmitted via the network flow established between the source IP address and the destination IP address. Administrator 12 can interact with the graphical representation of the topology (e.g., one or more nodes 138 and edges 140) or list 154 to select one or more network flows.
[0087] exist Figure 3D In the example, administrator 12 has selected item 155 from list 154, which identifies a network flow from source IP address 33.136.109.238 to destination IP address 33.136.109.232, through which 115.8 gigabits (Gb) have been transmitted. In response to selection of item 155, user interface 136C transitions to user interface 136D, another example of user interface 36. User interface 136D has de-emphasized all nodes 138 and edges 140 that do not participate in the network flow defined in supporting item 155. User interface 136D has highlighted all nodes 138 and edges 140 that participate in the network flow defined in supporting item 155.
[0088] like Figure 3DAs shown in the example, user interface 136D has highlighted nodes 138G, 141A, 138E, 141B, 138A, 141C, 138D, 141D, and 138K. Nodes 138G and 138K are further highlighted as source and destination (respectively) with cross-shading, while nodes 138E, 138A, and 138D support the forwarding of network traffic to support the network flow between nodes 138G and 138K identified by item 155 of list 154. In this way, user interface 136D allows administrators to visually identify how Structure 2 supports various network flows to facilitate troubleshooting of Structure 2 or to better understand how Structure 2 is configured.
[0089] In other words, the user interface 136D can graphically present network flow data (which is the type of operational data 39A) by adapting to individual nodes 138 and edges 140. Furthermore, the user interface 136D can allow selection of individual network flows, and in response to receiving a selection of an individual network flow (e.g., via selection 155), the user interface 136D can update the graphical representation of structure 2 to highlight nodes 138G, 138E, 138A, 138D, and 138K, as well as edges 141A-141D. Additionally, the user interface 136D can highlight nodes 138G and 138K to indicate that these nodes 138G and 138K are the source and destination (e.g., using the aforementioned cross-shading fill).
[0090] Next reference Figure 3E For example, user interface 136E can represent another example of user interface 36, where administrator 12 has selected alarm input 150D. In response to receiving a selection of alarm input 150D, user interface 136E can update the cross-correlation frames to list 158, which includes items representing alarms occurring within the time frame from 07:24 AM to 08:24 AM on November 12th. List 158 may include items representing alarms and / or warnings. In this respect, user interfaces 136A-136E can represent a single graphical user interface that enables various types of operational data 39 to be cross-correlated between time frames or other criteria (e.g., destination, source, network type, etc.).
[0091] exist Figure 3F In the example, user interface 136F represents another example of user interface 36, which transitions from the flow analysis view (shown in user interfaces 136A-136E) to the topology view via a selection topology input 160. User interface 136F may present a settings box 164, allowing the administrator 12 to select various settings such as automatic refresh, displaying groups in the topology, displaying device images, device health, displaying alarms, calculations, etc. Figure 3F In the example, Administrator 12 has opted to disable (as indicated by the corresponding toggle on the left) automatic refresh, display alerts, and calculations, while enabling (as indicated by the corresponding toggle on the right) display groups in the topology, display device images (which can reflect device types such as routers and switches) and device health.
[0092] Enabling device image settings can cause the user interface 136F to change the graphical description of node 138 to reflect the underlying device and / or device type, presenting an image of the underlying device (where nodes 138A and 138B are shown as routers, while nodes 138C-138L are shown as switches). In response to enabling device health settings, the user interface 136F can apply labels to one or more nodes 138 with device health status (checkmarks indicate that the underlying device is operational, and "X" indicates that the underlying device is inoperable in at least some respects). As a result of displaying device health information about the topology, the user interface 136F allows the administrator 12 to quickly identify device health status within the context of the structure to perform troubleshooting or other operations without having to switch between multiple different user interfaces.
[0093] Figures 4A to 4C This is a diagram illustrating an example of a graphical user interface providing a topology segmentation view of a network according to various aspects of the techniques described in this disclosure. Figure 4A In the example, user interface 236A can represent another example of user interface 36 and includes an input selection box 238 through which the administrator 12 selects a network topology, such as structure 2 (which is assumed to be named "SFO-Fabric" for illustrative purposes). User interface 236A can pass the input "SFO-Fabric" to user interface module 38, which instructs analysis unit 30 to retrieve configuration data 29A and operational data 39A of structure 2 (both via backend API 28).
[0094] The analysis unit 30 can construct a graphical data structure (or other data structure) representing structure 2 as described above, and pass the graphical data structure to the user interface module 38. The user interface module 38 can then render the graphical representation of the graphical data structure as a topology 240, which is assumed to represent structure 2. The topology 240 includes a representation of the ridge elements 242 and leaf elements 244, which are interconnected by edges representing the physical connection between the ridge elements 242 and leaf elements 244.
[0095] User interface 236A may also include a settings icon 246, through which administrator 12 can configure topology 240, including adding labels and / or groups. Assuming administrator 12 interacts with settings icon 246, user interface 236A passes input indicating selection of settings icon 246 to user interface module 38, allowing the user to interact with the user interface module to display a topology grouping popup. User interface module 38 can then update user interface 236A to include the topology grouping popup, such as... Figure 4B As shown in the example.
[0096] exist Figure 4B In the example, user interface 236B can again represent an example of user interface 36, wherein user interface 236B has displayed a topology grouping pop-up 248. The topology grouping pop-up 248 can specify an interaction list 250 for element 50, which the administrator 12 can select to group, for example via pod drop-down list 252 (which can represent logical groups) as pods and / or via rack drop-down list 254 as racks (which can represent physical groups, where a rack refers to a network rack, in which all elements providing structure 2 in the same network rack will be grouped).
[0097] like Figure 4B As shown in the example, rack dropdown list 254 has been selected, enabling the selection of "Rack 1," and further providing the ability to add racks via selecting element 14 from list 250, followed by entering the name of the rack to be added. Although in Figure 4B The example is not shown, but if it is not substantially the same as rack dropdown list 254, pod dropdown list 252 can be similar, as pod dropdown list 252 enables the selection of existing pods and provides the ability to assign pods to items selected in list 250. In this way, user interface 236B can facilitate the assignment of racks, rows (e.g., data center rows), groups, pods, tags, or any other logical or physical identifiers to element 14 providing structure 2, and subsequently the selection of such groups, pods, tags, or other logical or physical identifiers assigned to element 14 providing structure 2.
[0098] exist Figure 4C In the example, user interface 236C can represent a further example of user interface 36, where it is assumed that administrator 12 divides the items of list 250 into separate rack groups (“Rack 1” and “Rack 2”) via topology grouping pop-up 248. User interface 236C can engage with user interface module 38 to assign rack groups to configuration data 29A associated with each element 14 identified in list 250, which is passed back to configuration database 29 via analysis module 30 and backend API 28.
[0099] Analysis module 30 can update the graphical data structure representing network topology 240 to associate each element 14 assigned to the "Rack 1" group as a single node 260A, aggregating operation data 39A / 39A' across elements 14 assigned to the "Rack 1" group. Analysis module 30 can also update the graphical data structure representing network topology 240 to associate each element 14 assigned to the "Rack 2" group as a single node 260B, aggregating operation data 39A / 39A' across elements 14 assigned to the "Rack 2" group. Analysis module 30 can retain any nodes in the graphical data structure not assigned to a group, such that in this example, ridge node 242 remains unchanged, but leaf node 244 is modified (due to grouping), resulting in the remaining leaf nodes 244'. Analysis module 30 can provide this updated graphical data structure representing the updated topology (which can be represented as topology 240') to user interface module 38.
[0100] The user interface module 38 can then generate a graphical user interface 236C to include topology 240'. In response to generating the graphical user interface 236C to include topology 240', the user interface module 236C can output the graphical user interface 236C for the administrator 12 to view.
[0101] Figure 5A and Figure 5B This is an illustration of an example of a graphical user interface providing a multi-granular device health view of network elements according to various aspects of the technology described in this disclosure. Figure 5A In the example, the graphical user interface 336A represents Figure 2 An example of user interface 36 is provided, which offers a comprehensive representation of structural health. The graphical user interface 336A may include a level dropdown list 338, a structure selection dropdown list 340, and a sort dropdown list 342.
[0102] The level drop-down list 338 allows selection of different aggregation levels, such as the device level displaying individual components 14 of structure 2, the structural level displaying the overall health of structure 2, the group level allowing grouping of components 14 of structure 2 by labels, pods, rows, racks, etc., and the port level displaying individual ports of the interface provided by components 14 of structure 2. Figure 5A In the example, the device level was selected. The structure selection drop-down list 340 allows selection of different structures provided by element 14, such as structure 2. The sort drop-down list 342 allows selection of different types of structure health, which sorts the levels selected via the level drop-down list 338, such as total alarms, central processing unit (CPU) utilization, memory utilization, downlink interface, etc.
[0103] like Figure 5A As shown in the example, the device level has been selected via the level drop-down list 338, "SFO-Fabric" has been selected via the structure selection drop-down list 340, and the device health data 69 of the individual element 14 of structure 2 (which is assumed to be "SFO-Fabric") has been sorted by the overall alarms in each sort drop-down list 342. Therefore, the user interface 336A can engage with the user interface module 38, passing the various selections provided via drop-down lists 338, 340, and 342 to the user interface module 38.
[0104] The user interface module 38 can invoke the analysis module 30, passing the aforementioned selection to the analysis module 30, which retrieves operational data 39A via the backend API 28 based on the selection. The analysis module 30 can then process (possibly using a machine learning model) the operational data 39A to generate device health data 69. The analysis module 30 can then provide the device health data 69 to the user interface module 38.
[0105] In response to receiving device health data 69, user interface module 38 can generate a graphical user interface 336A to include cards 344A-344F (“cards 344”). Cards 344 can each provide device health data 69 for each element 14 of structure 2, and sort them according to the total alarms (shown in the upper right corner). For example, card 344A represents a specific element 14 as “SFO-QFX-Spine2” with the IP address 192.169.155.9 and the assigned role “Spine” within structure 2. Card 344A indicates that this specific element has 11 alarms.
[0106] In addition, Card 344A provides a graphical representation of device health in three categories: “Physical,” “Computation,” and “Connectivity.” A checkmark indicates operability, an “X” indicates inoperability, and an exclamation mark indicates a warning (e.g., operable but approaching a condition that could lead to failure, e.g., determined by a threshold). Card 344A also presents a summary of “Interfaces,” showing 2 interfaces off (or in other words, inoperable), 9 interfaces connected, and 1 interface unused. Card 344A further provides the OS version “OS18.4.R12,” along with a graphical representation of CPU utilization along the 46% percentage side (“CPU Utilization”) and a graphical representation of memory utilization along the 67% percentage side (“Memory Utilization”). Each Card 344 can provide similar information to Card 344A, enabling administrators to quickly identify problems in Structure 2.
[0107] The graphical user interface 336A enables the selection of various aspects of each card 344 to present more information about the selected aspects. For example, the graphical user interface 336A enables the selection of a graphical representation of a "physical" device health icon to view such "physical" device health data in more detail. As another example, the graphical user interface 336A enables the selection of CPU utilization to view device health data 69 associated with CPU utilization (e.g., which may include the name of the process performed by the CPU of a specific element 14 represented by card 344A). Similarly, the graphical user interface 336A enables the selection of an interface to view a specific interface at the port level, which... Figure 5B The example is shown.
[0108] Next reference Figure 5B The example shown illustrates another example of a graphical user interface 336B that provides a user interface 36. The graphical user interface 336B includes an interface overlay 350 depicting the various ports of the interface. The interface overlay 350 allows selection of individual ports to view device health data 69 associated with each individual port (e.g., dropped packets, streams processed by the individual port, transmitted data, data transfer rate, or in other words, throughput).
[0109] Although various graphical elements of the aforementioned user interface have been described, such as pop-ups, drop-down lists, lists, and items, it should be understood that other graphical elements can be used to perform functions belonging to the specific graphical elements described above. For example, a list can be implemented as a drop-down list, a radio button, a pop-up, etc. Therefore, graphical element operations belonging to a specific style of graphical element should be understood as representing any graphical element, which, for example, can include lists, radio buttons, selectors, input buttons, drop-down lists, items, text boxes, pop-ups, scrollable boxes, etc.
[0110] Figure 6 and Figure 7 It is shown Figure 1 and Figure 2 The example shown is a flowchart illustrating the exemplary operation of the controller device when performing various aspects of the technology described in this disclosure. First, refer to... Figure 6 For example, controller device 10 can monitor elements 14 arranged according to the topology (as described above, which may also be referred to as managed device 14 or network device 14) to obtain operational data (400), such as the network flow data, device health data, interface data and / or alarm data described above.
[0111] The controller device 10 can then engage with each element 14 via a management interface presented by the element 14. In some instances, the controller device 10 can establish a push framework in which the element 14 periodically or in response to subsequent events pushes or otherwise provides operational data without the controller device 10 engaging with the element 14 each time operational data becomes available. In other instances, or in combination with such push instances, the controller device 10 can establish a pull framework in which the controller device 10 may periodically or in response to an event engage with each element 14 to request operational data each time the controller device 10 needs such operational data. Regardless of the framework, the controller device 10 can obtain operational data from each element 14 and store such operational data in a database or other data store.
[0112] The controller device 10 can then obtain configuration data (402) defining structure 14 (or in other words, network topology). The controller device 10 can store the configuration data locally in a database or other data store, or retrieve such configuration data from element 14 or from a remote database or other data store. For illustrative purposes, it is assumed that the configuration data is stored locally, and the controller device 10 can engage with a configuration database to retrieve configuration data defining the configuration of element 14 supporting structure 2. Although it is assumed that a single topology (e.g., structure 2) is supported, one or more (including subsets) elements 14 can support multiple different topologies to support various services provided by the data center across a variety of different end users and / or customers.
[0113] The controller device 10 can then apply various algorithms to analyze the configuration data and operational data to generate a graphical representation (404) that graphically depicts the network topology of the operational data. For example, the controller device 10 can arrange elements 14 as nodes in a graphical data structure, the edges of which define connections (e.g., physical links) between elements 14, where elements 14 and connections are defined by configuration data. The controller device 10 can generate graphical representations of the graphical data structure (discussed in more detail below), assigning different formats to the graphical representations of the nodes and edges of the graphical data structure based on the operational data.
[0114] The controller device 10 can then generate a single graphical user interface (GUI) that includes a graphical representation (e.g., a graphical data structure) of the structure 2 of the operational data. The controller device 10 can then present the single GUI to an administrator 12 (406) who can interact with it in a variety of different ways to potentially better understand the operation of the structure 2 and thus perform troubleshooting in a more unified manner without having to perform frequent interactions with multiple user interfaces that would otherwise be required to view multiple different types of operational data.
[0115] Next reference Figure 7 For example, controller device 10 can obtain configuration data for configuring element 2 to provide structure 2. As described above, controller 10 can obtain such configuration from local or remote data storage such as a database and from element 2. Controller device 10 can then segment structure 2 based on the configuration data (which may include the aforementioned tags and / or groups) to obtain a segmented structure representing a portion of structure 2 (wherein, with respect to at least one element 14 of structure 2 excluded from the segmented structure, the portion should be understood as smaller than the whole of structure 2) (500). Controller device 10 can then generate a first graphical user interface presenting a graphical representation of the segmented structure and output the first graphical user interface (502, 504).
[0116] Furthermore, as described above, the controller device 10 can monitor the components 14 configured to provide structure 2 to obtain operational data, which may include interface metrics, fan temperature, memory usage, protocols, and disk usage. The controller device 10 can analyze configuration and operational data to generate device health data for each network device at two or more granular levels (e.g., structure level and device level). The controller device 10 can generate device health data to identify the relative health of each component 14 relative to each role assigned to component 14 in structure 2. The controller device 10 can then generate a graphical user interface (or update an existing graphical user interface) to present the device health data and output the graphical user interface for viewing by the administrator 12.
[0117] In this regard, various aspects of this technology can be implemented in one or more of the following examples.
[0118] Example 1A. A method comprising: monitoring network devices arranged according to a network topology by a controller device to obtain operational data; obtaining configuration data defining the network topology by the controller device; analyzing the configuration data and operational data by the controller device to generate a graphical representation of the network topology of the operational data; and presenting a single graphical user interface by the controller device, the single graphical user interface including the graphical representation of the network topology of the operational data.
[0119] Example 2A. According to the method of Example 1A, wherein the operational data includes network flow data, and wherein the graphical representation of the network topology depicts each network device in the network device as a node in the network topology having an associated size having a range of network flow data transmitted by each network device in the network device and one or more edges between the pair of network devices having a thickness having represented the network flow data transmitted between the pair of network devices in the network device.
[0120] Example 3A. According to the method of Example 2A, wherein a single graphical user interface enables selection of individual network flows, and wherein the method further includes, in response to the selection of individual network flows, updating a graphical representation of the network topology to highlight nodes of the network topology and one or more pairs of network devices supporting the individual network flows.
[0121] Example 4A. A method according to any combination of Examples 2A and 3A, wherein a single graphical user interface enables each of one or more edges, wherein the method further includes updating a graphical representation of the network topology in response to interaction with a particular edge of the one or more edges to provide additional information about the particular edge, and wherein the additional information includes an interface of each of the corresponding pairs of network devices in the network devices that supports physical connections between corresponding pairs of network devices in the network devices.
[0122] Example 5A. A method according to any combination of Examples 1A to 4A, wherein the operational data includes device health data, and wherein the graphical representation of the network topology depicts each network device in the network as a node in the network topology having associated labels representing device health data associated with each network device in the network.
[0123] Example 6A. A method according to any combination of Examples 1A to 5A, wherein a single graphical user interface enables selection of a topology view and a flow analysis view, and wherein the method further includes updating a graphical representation of the network topology in response to the selection of the topology view to remove at least some portions of the graphical description of the operational data.
[0124] Example 7A. According to the method of Example 6A, at least some portions of the graphical description of the operational data include a graphical description of the network flow data.
[0125] Example 8A. A method according to any combination of Examples 1A to 7A, wherein a single graphical user interface enables the selection of a time range for aggregating operational data prior to analysis, and wherein analyzing the operational data includes cross-correlating the operational data by time range to provide a graphical representation of the network topology of the operational data graphically depicted within the time range.
[0126] Example 9A. According to the method of Example 8A, a single graphical user interface enables natural language processing for one or more of the following: selecting the time range for aggregating operational data before analysis, identifying operational data by source and destination, and identifying the type of operational data.
[0127] Example 10A. A method according to any combination of Examples 1A to 9A, wherein the operational data includes one or more of network flow data, device health data, interface data, and alarm data.
[0128] Example 11A. A method according to any combination of Examples 1A to 10A, wherein network devices arranged according to the network topology reside in the data center and are arranged as a support structure.
[0129] Example 12A. A controller device includes: one or more processors configured to: monitor network devices arranged according to a network topology to obtain operational data; and obtain configuration data defining the network topology; and a memory configured to store the operational data and the configuration data, wherein the one or more processors are further configured to: analyze the configuration data and the operational data to provide a graphical representation of the network topology of the operational data; and present a single graphical user interface that presents a graphical representation of the network topology of the operational data.
[0130] Example 13A. A controller device according to Example 12A, wherein the operational data includes network flow data, and wherein a graphical representation of the network topology depicts each network device in the network device as a node in the network topology having an associated size having a range of network flow data transmitted by each network device in the network device and one or more edges between the pair of network devices having a thickness having represented the network flow data transmitted between the pair of network devices in the network device.
[0131] Example 14A. A controller device according to Example 13A, wherein a single graphical user interface enables selection of individual network flows, and wherein one or more processors are further configured to update a graphical representation of the network topology in response to the selection of individual network flows to highlight nodes of the network topology and one or more pairs of network devices among the network devices supporting the individual network flows.
[0132] Example 15A. A controller device according to any combination of Examples 13A and 14A, wherein a single graphical user interface enables each of one or more edges, wherein one or more processors are further configured to update a graphical representation of the network topology in response to interaction with a particular edge of the one or more edges to provide additional information about the particular edge, and wherein the additional information includes an interface for each of the corresponding pairs of network devices in the network device that supports physical connections between corresponding pairs of network devices in the network device.
[0133] Example 16A. A controller device according to any combination of Examples 12A to 15A, wherein the operational data includes device health data, and wherein a graphical representation of the network topology depicts each network device in the network device as a node in the network topology having associated labels representing device health data associated with each network device in the network device.
[0134] Example 17A. A controller device according to any combination of Examples 12A to 16A, wherein a single graphical user interface enables selection of a topology view and a flow analysis view, and wherein one or more processors are further configured to update the graphical representation of the network topology in response to the selection of the topology view to remove at least some portions of the graphical description of the operational data.
[0135] Example 18A. A controller device according to Example 17A, wherein at least some portions of the graphical description of the operational data include a graphical description of the network flow data.
[0136] Example 19A. A controller device according to any combination of Examples 12A to 18A, wherein a single graphical user interface enables selection of a time range for aggregating operational data prior to analysis, and wherein one or more processors are configured to cross-correlate the operational data over the time range when analyzing the operational data to provide a graphical representation of the network topology of the operational data graphically depicted over the time range.
[0137] Example 20A. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a controller device to: monitor network devices arranged according to a network topology to obtain operational data; obtain configuration data defining the network topology; analyze the configuration data and operational data to provide a graphical representation of the network topology of the operational data; and present a single graphical user interface that presents a graphical representation of the network topology of the operational data.
[0138] Example 1B. A method comprising: obtaining configuration data by a controller device for configuring a network device to provide a network topology; segmenting the network topology by the controller device based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generating a first graphical user interface by the controller device that presents a graphical representation of the segmented network topology; and outputting the first graphical user interface by the controller device.
[0139] Example 2B. The method according to Example 1B further includes assigning one or more of groups and labels to each of the network devices providing segmented network topology by the controller device, wherein segmenting the network topology includes segmenting the network topology based on one or more of the groups and labels to obtain a segmented network topology.
[0140] Example 3B. The method according to any combination of Examples 1B and 2B further includes: generating a second graphical user interface that presents a graphical representation of the network topology; outputting the second graphical user interface; and receiving input of graphical recognition segmentation of the network topology via the second graphical user interface, wherein segmenting the network topology includes obtaining a segmented network topology based on the input segmented network topology.
[0141] Example 4B. The method according to any combination of Examples 1B to 3B further includes: generating a second graphical user interface that presents a graphical representation of the network topology; outputting the second graphical user interface; analyzing configuration data to identify segmented network topology; and presenting suggestions for segmenting the network topology to obtain segmented network topology via the second graphical user interface.
[0142] Example 5B. The method according to any combination of Examples 1B to 4B further includes: monitoring network devices configured to provide network topology to obtain operational data; analyzing the configuration data and operational data by a controller device to generate device health data for each of the network devices at two or more granularity levels; generating a second graphical user interface by the controller device, the second graphical user interface presenting the device health data at at least one of the two or more granularity levels; and outputting the second graphical user interface.
[0143] Example 6B. According to the method of Example 5B, wherein device health data identifies the relative health of each network device in the network devices relative to each role assigned to the network devices in the network topology.
[0144] Example 7B. A method based on any combination of Examples 5B and 6B, wherein two or more granularity levels include network topology level and device level.
[0145] Example 8B. A method based on any combination of Examples 5B to 7B, wherein the operational data includes interface metrics, fan temperature, memory usage, protocol, and disk usage.
[0146] Example 9B. A method based on any combination of Examples 5B to 8B, wherein analyzing configuration data and operational data includes applying machine learning to the configuration data and operational data to generate device health data.
[0147] Example 10B. A method based on any combination of Examples 5B to 9B, wherein device health data defines the impact of each network device in the network devices relative to the network topology.
[0148] Example 11B. A controller device includes: a memory configured to store configuration data for configuring a network device to provide a network topology; and one or more processors configured to: segment the network topology based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generate a first graphical user interface that presents a graphical representation of the segmented network topology; and output the first graphical user interface.
[0149] Example 12B. A controller device according to Example 11B, wherein one or more processors are further configured to assign one or more of groups and labels to each of the network devices providing segmented network topology, and wherein the one or more processors are configured to segment the network topology based on one or more of groups and labels to obtain segmented network topology when segmenting network topology.
[0150] Example 13B. A controller apparatus according to any combination of Examples 11B and 12B, wherein one or more processors are further configured to: generate a second graphical user interface presenting a graphical representation of the network topology; output the second graphical user interface; and receive input of graphical recognition segmentation of the network topology via the second graphical user interface, wherein the one or more processors are configured to segment the network topology based on the input to obtain a segmented network topology when segmenting the network topology.
[0151] Example 14B. A controller apparatus according to any combination of Examples 11B to 13B, wherein one or more processors are further configured to: generate a second graphical user interface presenting a graphical representation of the network topology; output the second graphical user interface; analyze configuration data to identify segmented network topology; and present, via the second graphical user interface, a suggestion for segmenting the network topology to obtain a segmented network topology.
[0152] Example 15B. A controller device according to any combination of Examples 11B to 14B, wherein one or more processors are further configured to: monitor network devices configured to provide network topology to obtain operational data; analyze configuration data and operational data by the controller device to generate device health data for each of the network devices at two or more granularity levels; generate a second graphical user interface by the controller device, the second graphical user interface presenting device health data at at least one of the two or more granularity levels; and output the second graphical user interface.
[0153] Example 16B. A controller device according to Example 15B, wherein device health data identifies the relative health of each network device in the network device with respect to each role assigned to the network devices in the network topology.
[0154] Example 17B. A controller device according to any combination of Examples 15B and 16B, wherein two or more granularity levels include a network topology level and a device level.
[0155] Example 18B. A controller device according to any combination of Examples 15B to 17B, wherein the operating data includes interface metrics, fan temperature, memory usage, protocol, and disk usage.
[0156] Example 19B. A controller device according to any combination of Examples 15B to 18B, wherein one or more processors are configured to apply machine learning to configuration data and operational data to generate device health data when analyzing configuration data and operational data.
[0157] Example 20B. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a controller device to: obtain configuration data for configuring a network device to provide a network topology; segment the network topology based on the configuration data to obtain a segmented network topology representing a portion of the network topology; generate a first graphical user interface presenting a graphical representation of the segmented network topology; and output the first graphical user interface.
[0158] The techniques described in this disclosure can be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, aspects of the described techniques can be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, and any combination of these components. The terms "processor" or "processing circuitry" can generally refer to any of the aforementioned logic circuitry (alone or in combination with other logic circuitry) or any other equivalent circuitry. A control unit, including hardware, can also perform one or more of the techniques of this disclosure.
[0159] Such hardware, software, and firmware can be implemented within the same device or in separate devices to support the various operations and functions described in this disclosure. Furthermore, any described unit, module, or component can be implemented together or separately as discrete but interoperable logical devices. Describing different features as modules or units is intended to highlight different functional aspects and does not necessarily mean that these modules or units must be implemented by separate hardware or software components. Rather, the functionality associated with one or more modules or units can be performed by separate hardware or software components, or integrated within common or separate hardware or software components.
[0160] The techniques described in this disclosure can also be embodied or encoded in a computer-readable medium, such as a computer-readable storage medium, containing instructions. Instructions embedded or encoded in a computer-readable medium can cause a programmable processor or other processor to perform the method, for example, when the instructions are executed. Computer-readable media can include non-transitory computer-readable storage media and transient communication media. Tangible and non-transitory computer-readable storage media can 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), flash memory, hard disk, CD-ROM, floppy disk, magnetic tape cassette, magnetic media, optical media, or other computer-readable storage media. The term "computer-readable storage medium" refers to a physical storage medium, and not a signal, carrier, or other transient medium.
[0161] Various examples have been described. These and other examples are within the scope of the appended claims.
Claims
1. A method for providing a topology-based graphical user interface, comprising: The controller device monitors network devices arranged according to the network topology to obtain operational data, wherein the operational data includes network flow data and device health data of each network device. The controller device obtains configuration data defining the network topology; The controller device analyzes the configuration data and the operational data to generate a graphical representation of the network topology that graphically depicts the operational data, wherein the network topology represents only a portion of at least one segment forming the network structure, wherein the graphical representation of the network topology depicts each network device as a node in the network topology, the node having an associated label representing device health data associated with each network device based on a role assigned to the network device in at least the segment of the network structure, wherein the role of each network device is assigned to support the operational importance of at least the segment of the network structure, and wherein the device health data identifies the relative health of each network device relative to each role assigned to the network device in the network topology; The controller device presents a single graphical user interface, which includes a graphical representation of the network topology depicting the operational data, wherein the single graphical user interface is capable of selecting individual network flows; and In response to the selection of the respective network flows, the graphical representation of the network topology is updated to highlight the nodes of the network topology and one or more pairs of network devices among the network devices supporting the respective network flows.
2. The method according to claim 1, in, The graphical representation of the network topology depicts each network device in the network device as a node in the network topology having an associated size that specifies the range of network flow data transmitted by each network device in the network device, and one or more edges between the pair of network devices in the network device having a thickness that represents the network flow data transmitted between one or more pairs of network devices in the network device.
3. The method according to claim 2, wherein, The single graphical user interface enables interaction with each of the one or more edges. The method further includes updating the graphical representation of the network topology in response to an interaction with a specific edge among the one or more edges to provide additional information about the specific edge, and The additional information includes the interface of each of the corresponding pairs of network devices in the network device that supports the physical connection between the corresponding pairs of network devices in the network device.
4. The method according to claim 1, in, The single graphical user interface enables the selection of topology view and flow analysis view, and The method further includes updating the graphical representation of the network topology in response to the selection of the topology view to remove at least some portions of the graphical description of the operational data.
5. The method according to claim 4, wherein, At least some portions of the graphical description of the operational data include a graphical description of the network flow data.
6. The method according to claim 1, in, The single graphical user interface allows selection of the time range for gathering the operational data before analysis. The analysis of the operational data includes cross-correlating the operational data over the time range to provide a graphical representation of the network topology of the operational data within the time range.
7. The method according to claim 6, wherein, The single graphical user interface enables natural language processing for one or more of the following: selecting the time range for aggregating the operational data before analysis, identifying the operational data by source and destination, and identifying the type of the operational data.
8. The method according to claim 1, wherein, The operational data also includes one or more of the interface data and alarm data.
9. The method according to claim 1, wherein, The network devices, arranged according to the network topology, reside in the data center.
10. A controller device, comprising: One or more processors are configured as follows: Monitoring network devices arranged according to the network topology to obtain operational data, wherein the operational data includes network flow data and device health data of each network device; and Obtain the configuration data that defines the network topology; and The memory is configured to store the operation data and the configuration data. Wherein, the one or more processors are further configured to: The configuration data and the operational data are analyzed to provide a graphical representation of the network topology that graphically depicts the operational data, wherein the network topology represents only a portion of at least one segment forming a network structure, wherein the graphical representation of the network topology depicts each network device in the network devices as a node in the network topology, the node having an associated label representing device health data associated with each network device based on a role assigned to the network device in at least the segment of the network structure, wherein the role of each network device in the network devices is assigned to support the operational importance of at least the segment of the network structure, and wherein the device health data identifies the relative health of each network device in the network devices relative to each role assigned to the network devices in the network topology; A single graphical user interface is presented, which graphically depicts the network topology of the operational data, wherein the single graphical user interface allows selection of individual network flows; and In response to the selection of the respective network flows, the graphical representation of the network topology is updated to highlight the nodes of the network topology and one or more pairs of network devices among the network devices supporting the respective network flows.
11. The controller device according to claim 10, in, The graphical representation of the network topology depicts each network device in the network device as a node in the network topology having an associated size that specifies the range of network flow data transmitted by each network device in the network device, and one or more edges between the pair of network devices in the network device having a thickness that represents the network flow data transmitted between one or more pairs of network devices in the network device.
12. The controller device according to claim 11, wherein, The single graphical user interface enables interaction with each of the one or more edges. The one or more processors are further configured to update the graphical representation of the network topology in response to an interaction with a specific edge among the one or more edges to provide additional information about that specific edge, and The additional information includes the interface of each of the corresponding pairs of network devices in the network device that supports the physical connection between the corresponding pairs of network devices in the network device.
13. The controller device according to claim 10, wherein, in, The single graphical user interface enables the selection of topology view and flow analysis view, and The one or more processors are further configured to update the graphical representation of the network topology in response to the selection of the topology view to remove at least some portions of the graphical description of the operational data.
14. The controller device according to claim 13, wherein, At least some portions of the graphical description of the operational data include a graphical description of the network flow data.
15. The controller device according to claim 10, wherein, in, The single graphical user interface allows selection of the time range for gathering the operational data before analysis. The one or more processors are configured to cross-correlate the operational data over the time range when analyzing the operational data to provide a graphical representation of the network topology of the operational data within the time range.
16. A non-transitory computer-readable storage medium storing instructions, which, when executed, cause one or more processors of a controller device to: Monitoring network devices deployed according to the network topology to obtain operational data, among which... The operational data includes network flow data and device health data for each of the network devices. Obtain the configuration data that defines the network topology; The configuration data and the operational data are analyzed to provide a graphical representation of the network topology that graphically depicts the operational data, wherein the network topology represents only a portion of at least one segment forming a network structure, wherein the graphical representation of the network topology depicts each network device in the network devices as a node in the network topology, the node having an associated label representing device health data associated with each network device based on a role assigned to the network device in at least the segment of the network structure, wherein the role of each network device in the network devices is assigned to support the operational importance of at least the segment of the network structure, and wherein the device health data identifies the relative health of each network device in the network devices relative to each role assigned to the network devices in the network topology; A single graphical user interface is presented, which graphically depicts the network topology of the operational data, wherein the single graphical user interface allows selection of individual network flows; and In response to the selection of the respective network flows, the graphical representation of the network topology is updated to highlight the nodes of the network topology and one or more pairs of network devices among the network devices supporting the respective network flows.