Methods and systems for network monitoring

Methods and system for network monitoring is provided. The system includes a communication circuit configured to receive network information from one or more components of a medical network for a select time period, and a controller circuit having one or more processors coupled to the communication circuit. The controller circuit is configured to determine a configuration and data usage of the medical network based on the network information at reference points along the time period of interest. The controller circuit is configured to generate a graphical representation of a topology of the medical network on a display based on the configuration of the medical network at one of the reference points. The graphical representation includes a plurality of component markers, representing the one or more components, interconnected with each other, and a visual status indicator for the one or more components based on the data usage.

BACKGROUND OF THE INVENTION

Embodiments described herein generally relate to monitoring a network using a specialized graphical user interface to manage, view, and troubleshoot the network.

The use of computer networks and devices has become widespread, and many of the advantages of such networks and devices are well-known. The networks can include multiple nodes each interconnected by a bi-directional communication link. However, when a network fault occurs, such as when a bi-directional communication link fails, the network may experience congestion, corresponding performance issues, and/or the like. For networks having a few devices (e.g., one node), the network faults are manageable. However, for large networks having multiple nodes, such as medical networks in hospitals extending multiple floors and/or buildings, the network faults can be difficult to locate and/or diagnose. Managing the configuration and multiple communication links within these large networks is conventionally done by having multiple status boxes distributed at each node throughout the network. The status boxes monitor the bi-directional communication links, when a network fault occurs an information technology (IT) technician, user, and/or the like is required to diagnose and/or reconfigure the network at the status box detecting the network fault.

BRIEF DESCRIPTION OF THE INVENTION

In an embodiment a system (e.g., for network monitoring) is provided. The system includes a communication circuit configured to receive network information from one or more components of a medical network for a select time period. The system includes a controller circuit having one or more processors coupled to the communication circuit. The controller circuit is configured to determine a configuration and data usage of the medical network based on the network information at reference points along the time period of interest. The controller circuit is further configured to generate a graphical representation of a topology of the medical network on a display based on the configuration of the medical network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage.

In at least one embodiment a method (e.g., for network monitoring) is provided. The method includes receiving network information from one or more components of a medical network for a select time period. The method also includes determining a configuration and data usage of the medical network based on the network information at reference points along the time period of interest, and generating a graphical representation of a topology of the medical network on a display based on the configuration of the medical network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage.

In at least one embodiment a system (e.g., for network monitoring) is provided. The system includes a communication circuit configured to receive network information from one or more components of a network for a select time period. The system includes a user interface and a controller circuit having one or more processors coupled to the communication circuit. The controller circuit is configured to determine a configuration and data usage of the network based on the network information at reference points along the time period of interest. The controller circuit is further configured to generate a graphical representation of a topology of the network on a display based on the configuration of the network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage. The controller circuit is further configured to generate a time graph of the network based on the network information. The time graph having a time line defined by the time period of interest. The time graph includes a graphical indicator positioned along the time line. A position of the graphical indicator is based on the one of the reference points. The controller circuit is further configured to adjust a position of the graphical indicator to a second reference point based on a user input from the user interface, and automatically display changes made to the configuration based on differences between the network at the one reference point and the second reference point.

DETAILED DESCRIPTION OF THE INVENTION

Various embodiments described herein generally relate to monitoring a network using a specialized graphical user interface (GUI) to manage, view, and troubleshoot the network. For example, embodiments herein provide a network managing interface for a user (e.g., information technology (IT) technician, network installer, and/or the like). The network managing interface may be a GUI configured to include one or more component markers representing bi-directional communication links, components and/or participants of the network. The one or more component markers of the network managing interface may be configured to inform the user on a status of the network. For example, the one or more component markers may be indicative of a network fault (e.g., bi-directional communication link fails, one of the components not exchanging data, and/or the like). Additionally or alternatively, the one or more component markers may enable the user to reconfigure the network. For example, establish and/or disconnect bi-directional communication links, add and/or remove system components (e.g., bus bridges) within the network, and/or the like. Optionally, the network managing interface may enable the user to select and/or view multiple components. For example, the network managing interface may sort various components of the network by type, display software and/or firmware information of one or more components of the network, display corresponding geographical and/or positional information of one or more components of the network, and/or the like. Additionally or alternatively, the network managing interface may display troubleshoot information based on the network fault.

In various embodiments, the network managing interface may display graphical information representing data usage within the network over time. The data usage can correspond to an amount of data exchanged (e.g., transmitted and/or received, throughput) between components of the network, versions (e.g., software version, hardware driver, and/or the like) of the components within the network, syntaxical mismatches within the network, processing loads (e.g., number of processors, CPU load, and/or the like) of individual components within the data flow of the network, and/or the like. For example, the network managing interface may generate a time graph representing an amount of data exchanged between two components along a bi-directional communication link. In another example, the network managing interface may overlay a heat map on one or more component markers representing the data usage of the components within the network.

A technical effect of at least one embodiment is increase serviceability and reduce management costs of the network by displaying network faults within a single interface. A technical effect of at least one embodiment decrease downtime for one or more components within the network by allowing the user to reconfigure the network from a single interface.

It should be noted that although the various embodiments may be described in connection with medical networks, the methods and systems may not be limited to the medical field, medical industry, and/or the like. In various embodiments of the methods and systems described herein may be implemented in connection with financial and/or commercial networks, telecommunication networks, industrial networks, and/or the like.

FIG. 1illustrates a medical network100(e.g., a computer network) in which various embodiments may be implemented. The medical network100may correspond to multiples departments within a medical facility or multiple locations at different medical facilities. In the illustrated embodiment, the medical network100includes a plurality of nodes102-104. The nodes102-104may represent a hub, server, router, switch, and/or the like. The nodes102-104may be communicatively coupled with each other along one or more bi-directional communication links110. For example, the various nodes102-104may be connected within a local area network (LAN) or similar type of arrangement. The bi-directional communication links110may allow data (e.g., data packets) to be exchanged between the nodes102-104. For example, the communication links110may be based on a wired and/or wireless network protocol (e.g., Wireless Medical Telemetry Service, Medical Body-Area Network, WiFi, 802.11, Bluetooth low energy, Bluetooth, Ethernet, and/or the like), optical communication (e.g., optical fiber, LED pulses, and/or the like), and/or the like.

The nodes102-104may each include one or more end points112interconnected within each corresponding node102-104. The end points112may be configured to generate, process, and/or store data exchanged between the nodes102-104. The end points112may be one or more medical devices, monitoring systems, terminals, and/or the like. The medical devices are operable to perform one or more medical examinations or scans of a patient. For example, the medical devices may include ultrasound imaging systems or devices, nuclear medicine imaging devices (e.g., Positron Emission Tomography (PET) or Single Photon Emission Computed Tomography (SPECT) imaging systems), Magnetic Resonance (MR) imaging devices, Computed Tomography (CT) imaging devices, and/or x-ray imaging devices, among others. The monitoring system may be configured to acquire physiological measurements of a patient. For example, the monitoring system may include one or more sensors (e.g., electrocardiograph (ECG) sensor, electroencephalograph (EER), a pulse oximeter, blood pressure monitor, and/or the like) that generate physiological data.

The network100may utilize a publisher and subscriber data address protocol, such a data distribution service (DDS) standard, which defines how data is exchanged between the nodes102-104within the network100. It may be noted that one or more of the nodes102-104may be a publisher, a subscriber, and/or both. The data published by the nodes102-104may be generated by one or more of the end points112within the corresponding nodes102-104. The data may be categorized based on the end point112generating the data, type of data (e.g., physiological data, medical images, patient data, waveform data and/or the like), data topic (e.g., temperature, location, pressure), and/or the like. The nodes102-104may subscribe to one or more of the data categories, which receives the published data that matches the data categories subscribed by the nodes102-104.

The network may include one or more bus bridges108. The bus bridge108may be configured to communicatively couple two or more nodes102-104together. For example, the bus bridge108is coupled to two or more of the bi-directional communication links110, and configured to forward data between the nodes102-104along the bi-directional communication links110. For example, the bus bridge108may forward data published by the first node102to one or more of the other nodes103-104within the network100. Additionally or alternatively, the bus bridge108may filter data between the nodes102-104based on the data category of the published data and a rules database stored within a memory of the bus bridge108. For example, the rule database may include a plurality of candidate categories with corresponding nodes102-104that can be forwarded the data. When the bus bridge108receives the published data, the bus bridge108may compare the category of the data with the rule database to determine which of the nodes102-104can be forwarded the published data. For example, the first node102publishes physiologic data, which is subscribed by the nodes103-104. The bus bridge108receives the physiologic data from the first node102and compares the data category to the rule database, which defines that physiologic data published by the first node102can be forwarded to the node103. Based on the rule database, the bus bridge108may forward the physiologic data to the node103and not to the node104.

In connection withFIG. 2, the medical network100may be managed by a network managing system200.

FIG. 2is a schematic block diagram of the network managing system200, in accordance with an embodiment. The system200may be a part of one of the nodes102-104of the network100(e.g., one of the end points112corresponding to a terminal), the communicatively coupled directly with the bus bridge108, and/or the like. The system200may include a controller circuit202configured to control the operation of the system200. The controller circuit202may include and/or represent one or more hardware circuits or circuitry that include, are connected with, or that both include and are connected with one or more processors, controllers, or other hardware logic-based devices. Additionally or alternatively, the controller circuit202may execute instructions stored on a tangible and non-transitory computer readable medium (e.g., memory206) to perform one or more operations as described herein.

The controller circuit202may be operably coupled to and control a communication circuit212. The communication circuit202is configured to receive network information from one or more components of the network100for a select time period (e.g., designated by the user via the user interface204, predetermined time period, and/or the like). The communication circuit212may represent hardware that is used to transmit and/or receive data along a bi-directional communication link. The communication circuit212may include a transceiver, receiver, transceiver and/or the like and associated circuitry (e.g., antennas)214for wired and/or wirelessly communicating (e.g., communicating and/or receiving) with one or more end points112, nodes102-105, bus bridges108, and/or the like based on a network protocol. For example, protocol firmware may be stored in the memory206, which is accessed by the controller circuit202. The protocol firmware provides the network protocol syntax for the controller circuit202to assemble data packets, establish and/or partition data received along the bi-directional communication links. Additionally or alternatively, the communication circuit210may include one or more LEDs transmit and/or a photodector to detect light for optical communication.

The controller circuit202may periodically receive network information to monitor the one or more components of the network. The network information is indicative of the operation status, configuration, and/or the like of the network100from the communication circuit210. The controller circuit202may utilize a network monitoring protocol stored in the memory206, such as the simple network management protocol, the common management information protocol, and/or the like to receive the network information from the one or more components of the network100. For example, the controller circuit202may receive network information from one or more of the components within the network100. The network information may include data usage of the components within the network100. For example, the data usage may correspond to an amount of data exchanged (e.g., transmitted and/or received, throughput) along the along the bi-directional communication links110between components (e.g., the nodes102-104and/or the bus bridge108) of the network100, versions (e.g., software version, hardware driver, and/or the like) of the components within the network100, syntaxical mismatches within the network100, processing loads (e.g., number of processors, CPU load, and/or the like) of individual components within the data flow of the network, and/or the like over time. In another example, the control circuit202may further receive information on the one or more end points112within each of the nodes102-104, such as a description of the end point112, topic of the information transmitted by the end point112, physical location of the one or more endpoints112within the nodes102-104, subscription information (e.g., topics subscribed to) and/or the like.

The network information may be stored in the memory206by the controller circuit202. For example, the controller circuit202may store the information within a network information database in the memory206. The network information database may be organized based on the components of the network100with corresponding time information.

The controller circuit202may be operably coupled to a display216and a user interface204. The display216may include one or more liquid crystal displays (e.g., light emitting diode (LED) backlight), organic light emitting diode (OLED) displays, plasma displays, CRT displays, and/or the like.

The user interface204controls operations of the controller circuit202and is configured to receive inputs from a user. The user interface204may include a keyboard, a mouse, a touchpad, one or more physical buttons, and/or the like. Optionally, the display216may be a touch screen display, which includes at least a portion of the user interface204.

The user interface204may include hardware, firmware, software, or a combination thereof that enables an individual (e.g., a user) to directly or indirectly control operation of the system200and the various components thereof. The user interface204controls operations of the controller circuit202and is configured to receive inputs from the user. For example, the user interface242may include a keyboard, a mouse, a touchpad, one or more physical buttons, and/or the like.

A portion of the user interface204may correspond to a graphical user interface (GUI) generated by the controller circuit202, which is shown on the display216. The touch screen display can detect a presence of a touch from the operator on the display216and can also identify a location of the touch with respect to a surface area of the display216. For example, the user may select one or more component markers shown on the display by touching or making contact with the display216. The touch may be applied by, for example, at least one of an individual's hand, glove, stylus, or the like. In connection withFIG. 3, the GUI may be a network managing interface300.

FIG. 3is an illustration of a network managing interface300, in accordance with an embodiment. The network managing interface300may utilize the network information acquired by the controller circuit202stored in the memory206. The interface300communicates information to the user allowing the user to control and/or manage a medical network350by selecting one or more component markers (e.g., bi-directional communication links320-324, nodes301-304, end points305-308, and/or bus bridges310-311) of the interface300. It may be noted that the medical network350may be similar to and/or the same as the medical network100shown inFIG. 1. It may be noted that although the various embodiments may be described in connection with medical networks, the methods and systems may not be limited to the medical field, medical industry, and/or the like.

The one or more component markers can be selected, manipulated, and/or activated by the user operating the user interface204(e.g., touch screen, keyboard, mouse). The component markers may be presented in varying shapes and colors, such as a graphical or selectable icons, a slide bar, a cursor, and/or the like. Optionally, one or more component markers may include text or symbols, such as a drop-down menu, a toolbar, a menu bar, a title bar, a window (e.g., a pop-up window) and/or the like. Additionally or alternatively, one or more component markers may indicate areas within the interface300for entering or editing information (e.g., component information, configuration information, labels), such as a text box, a text field, and/or the like.

The interface300includes component markers visually representing bi-directional communication links320-324, nodes301-304, end points305-308, and/or bus bridges310-311. The component markers are arranged to visually represent a topology of the network350. For example, the interface300may represent a map of the components of the network350in real time. The topology of the network350corresponds to the arrangement and/or relationship of the various components with respect to each other that form the structure of the network350. For example, the nodes301-303are communicatively coupled to each other via the bus bridge310along the bi-directional communication links320-322.

Optionally, the user may select and/or move one or more component markers to adjust a topology of the network350. For example, the controller circuit202may generate instructions to one or more components to adjust network configuration settings to conform to the adjusted topology. For example, the user may disconnect the bi-directional communication link323by removing the component marker corresponding to the link323on the interface300. Based on the adjustment, the controller circuit202may generate instructions for the bus bridges310-311to terminate the link323. Optionally, the user may adjust one of the bi-directional communication links320-324to be directly coupled to another component. For example, the user may adjust the bi-directional communication link324to disconnect from the bus bridge311and connect to the bus bridge310. Based on the adjustment, the controller circuit202may generate instructions for the bus bridge310and the node304to terminate the links323and324and establish a new bi-directional communication link with each other. Optionally, the user may add additional components to the network350. For example, the user mad add additional nodes, end points, and/or bus bridges.

Additionally or alternatively, one or more of the component markers may be selected by the user to view component information of the selected component marker (e.g., the nodes301-304, end points305-308, and/or bus bridges310-311). The component information may include software and/or firmware information utilized by the component, current network configuration settings of the component (e.g., utilized by the component to establish a bi-directional communication link), location of the component (e.g., physical location904shown inFIG. 9), type of information published by the component, subscription information, and/or the like.

Optionally, the component markers may have visual status indicators (e.g.,330) representing an operational status of a component of the network350. The visual status indicator may be a color (e.g., the visual status indicator330is the color red), an animation (e.g., scrolling, flashing), a graphical icon, and/or the like. The operational status may represent on whether the component of the network350is at fault. The fault can be a connection failure, no data transmitted within a predetermined time period (e.g., timeout, intermittent connection), internal errors (e.g., power failure, network protocol conflicts), routine issues, data type mismatch, and/or the like. For example, the fault may be caused by an amount of information exchanged between components, mismatch between versions of software and/or firmware utilized by the components, syntaxical mismatches between components of the network350, processing loads of individual components of the network350, and/or the like

Additionally or alternatively, the user may select the component markers with the visual status indicator to receive troubleshoot information. The troubleshoot information may include instructions on how to resolve the fault. Optionally, the controller circuit202may generate the troubleshoot information based on the network information of the component. For example, the controller circuit202may compare one or more of the network configuration settings of the component with a default template stored in the memory206. If the controller circuit202determines one or more select settings of the component that are different from the template, the controller circuit202may display troubleshoot information to adjust the one or more select settings. In another example, the controller circuit202may compare a version of the software and/or firmware utilized by the component with other components within the network350. If there are conflicting versions, the controller circuit202may present troubleshoot information to update the software of the component.

Additionally, the controller circuit202may generate one or more time graphs (e.g., the time graph400shown inFIG. 4, the time graph500shown inFIG. 5, the time graph600shown inFIG. 6, the time graph700shown inFIG. 7, the time graph800shown inFIG. 8) in the network managing interface on the display216based on a selection of one or more component markers. The time graphs400,500,600,700,800may be indicative of the operation and/or configuration of a network (e.g., the medical network350) over time.

In connection withFIG. 4, the time graph400may represent an amount of data exchanged between two selected components (e.g., nodes301-304, end points305-308) within the network350over time.

FIG. 4illustrates the time graph400between a first and second end point307-308, in accordance with an embodiment. The time graph400includes a data waveform402representing an amount of data exchanged (e.g., data throughput) between the first and second end points307-308. The waveform402is plotted along a horizontal axis402representing time. The waveform402may represent a number of data packets, a data throughput, a data rate and/or the like of information exchanged between the first and second end points307-308over time.

A morphology and/or characteristics of the waveform402may be indicative of faults of the network350. For example, an amplitude of the waveform402, changes in slope and/or amplitude within a predetermined time period, and/or the like may indicate portions of the network350are not transmitting and/or receiving data. In connection withFIG. 4, the waveform402includes a plurality of dead regions406,408,410,412. The dead regions406,408,410,412correspond to portions of the waveform402where no data is exchanged between the first and second end points307-308. For example, the dead regions406,408,410,412are interposed between portions of the waveform402where data is exchanged between the first and second end points307-308. The dead regions406,408,410,412are interposed between portions of the waveform402where data is exchanged, which is indicative of an intermittent connection and/or problems with the data flow between components within the network350(shown inFIG. 3). During an intermittent connection one or more of the bi-directional communication links322-324and/or intermediate components (e.g., the bus bridges310-311) may switch between a fault and normal operation (e.g., forwarding published data). For example, one or more of the bi-directional communication links322-324and/or intermediate components may not be forwarding data published by the first end point307and/or the second end point308during the dead regions406,408,410,412.

Optionally, the controller circuit202may automatically position anchor points414,416,418,420within the dead regions406,408,410,412. For example, the controller circuit202may determine when to position the anchor points414,416,418,420based on a rule database stored in the memory206. The rule database may include a plurality of morphology characteristics of a waveform, such as slope, amplitude, and/or the like that indicate a point of interest. Additionally or alternatively, the anchor points414,416,418,420may be positioned by the user utilizing the user interface204. Optionally, the user may add annotations, such as textual information to the one or more anchor points414,416,418,420.

The anchor points414,416,418,420may correspond to a visual status indicator such as a color, a graphical animation (e.g., scrolling, flashing), a graphical icon, text (e.g., annotation) and/or the like on the time graph400. The anchor points414,416,418,420may correspond to time segments of the waveform402representing the points of interest determined by the controller circuit202. The points of interest may be indicative of operational issues within the network350. For example, the points of interest may correspond to portions of the waveform402indicative of a fault occurring in the network350, such as during the dead regions406,408,410,412. Additionally or alternatively, the points of interest may correspond to portions of the waveform402indicative of potential choke-points. The choke-points may correspond to portions of the network having a high data rate over a predetermined threshold. For example, the controller circuit202may automatically position one or more anchor points at positions and/or portions of the waveform402that is over a predetermined threshold. Optionally, the visual status indicator of the anchor points414,416,418,420may be indicative of the type of points of interest represented by the anchor points414,416,418,420. For example, a color (e.g., red) of the anchor points414,416,418,420indicate that the associated points of interest correspond to a fault.

FIGS. 5-6illustrate the time graphs500,600, respectively, of the network350, in accordance with an embodiment. The time graphs500,600may represent an operational status and/or configuration of the components within the network350at different points along a time line504based on a position of a graphical indicator502. The time line504may represent a time period of interest (e.g., a length of time) of the network information collected by the controller circuit202. The amount of time of the time period of interest represented by the time line504may be defined by the user.

The graphical indicator502indicates the selected time of the time line504being shown in the time graph500,600. The graphical indicator502may be manipulated and/or adjusted by the user using the user interface204. For example, the user may adjust a position of the graphical indicator502along the time line504. The graphical indicator502may traverse along the time line504in a direction of the arrow506,508. The controller circuit202may update the component markers (e.g., the bi-directional communication links320-324, the nodes301-304, the end points305-308, the bus bridges310-311) shown in the time graphs500,600based on a position of the graphical indicator502along the time line504. The graphical indicator502is shown as a graphical icon of an arrow inFIGS. 5 and 6, however it may be noted in other embodiments the graphical indicator502may be a different graphical icon.

The time line504may include one or more anchor points510-513. The anchor points510-513may be similar to and/or the same as the anchor points414,416,418,420shown inFIG. 4. For example, the anchor points510-513may correspond to times of the time line504that correspond to points of interest. The points of interest may be indicative of operational issues within the network350. The points of interest may correspond to one or more components of the network350not operational, such as in fault.

For example, in connectionFIG. 5the graphical indicator502is positioned not at one of the anchor points510-513along the time line504. The time graph500displays the component markers visually representing the bi-directional communication links320-324, the nodes301-304, the end points305-308, and the bus bridges310-311. The component markers do not include a visual status indicator representing a fault.

In connection withFIG. 6, the user may reposition the graphical indicator502from the position shown inFIG. 5along the time line504to a position corresponding to the anchor point510. The controller circuit202may update the bi-directional communication links320-324, the nodes301-304, the end points305-308, and the bus bridges310-311corresponding to the time at the graphical indicator502. For example, the controller circuit202may add the visual status indicator330to the bus bridge311.

FIGS. 7, 8A and 8Billustrate the time graphs700,800and810, respectively, of medical networks750,850, in accordance with an embodiment. The time graphs700,800,810may be indicative of the data usage (e.g., an amount of information exchanged between components, versions of the components, syntaxical mismatches, processing loads of individual components, and/or the like) within the networks750,850. The networks750,850may be similar to and/or the same as the network350.

The controller circuit202may overlay a heat map to the component markers (e.g., nodes710-715, bi-directional communication links716-721, bus bridge722) shown in the time graphs700,800. The heat map may be a visual status indicator of the component marker such as a color, an animation (e.g., scrolling, flashing), a graphical icon (e.g., the graphical icon332), and/or the like. In connection withFIGS. 7 and 8, the heat map is based on a color scale or pattern defined by the color bar730representing data usage of the components within the networks750,850. The color bar730may define a range of colors. In one embodiment, the color bar730may be generated by the controller circuit202according to a predetermined formula stored in the memory206. Each color representing an amount of data usage by each of the component markers of the networks750,850. For example, the color bar730may range from green, to yellow, and to red as the data usage increases. Optionally, a portion of the color bar730may correspond to an amount over a predetermined threshold indicative of a choke-point. A red color of the color bar730may represent the data usage is above a predetermined threshold corresponding to a choke-point. For example, the red color of the color bar730may represent an amount of data exchanged (e.g., being received and/or transmitted) at the component is above the predetermined threshold. In another example, the red color of the color bar730may represent a processing load at the component is above the predetermined threshold.

The time graphs700,800may represent a heat map of the network750,850, respectively at different points along a time line704based on a position of the graphical indicator502. The graphical indicator502indicates the selected time of the time line504being shown in the time graph500,600. The time line704may include one or more anchor points706. The anchor points706may be similar to and/or the same as the anchor points414,416,418,420shown inFIG. 4. For example, the anchor points706may correspond to times of the time line704that correspond to points of interest. The points of interest may be indicative of operational issues within the networks750,850. For example, the points of interest may correspond to one or more components within the network750having the data usage above the predetermine threshold, such as in the red based on the color bar730.

In connection withFIG. 7, the graphical indicator502is positioned within the anchor point706along the time line704. The time graph700displays the component markers (e.g., nodes710-715, bi-directional communication links716-721, bus bridge722) each having a color and/or a color pattern visually representing the data usage by the component. For example, the bi-directional communication links716and718are generated by the controller circuit202having a yellow color, and the bi-directional communication links717,719-721are generated by the controller circuit202having a green color. Based on the differences in color, the bi-directional communication links716-721are indicative that the amount of data traversing along the bi-directional communication links716and718is higher than the bi-directional communication links717,719-721.

In another example, the node713is generated by the controller circuit202having a red color indicating that the data usage at the node713is above the predetermined threshold which may correspond to a choke-point, configuration problem, and/or the like. Additionally or alternatively, the controller circuit202may automatically re-configure a topology of the network750based on the detection of the data usage above the predetermined threshold. For example, the controller circuit202may add a bus bridge (e.g., the bus bridge804) to the network750to form the network850. A position of the bus bridge may be based on the bi-directional communication links716,718and/or the nodes710,712communicatively coupled to the node713. The controller circuit202may position the bus bridge804based on the differences in data usage of the components relative to each other. For example, the controller circuit202may couple the bus bridge804to the links716,718positioning the bus bridge804between the nodes710,712having the higher data usage relative to the link719. It may be noted in other embodiments, the user may instruct the controller circuit202to add a bus bridge (e.g., the bus bridge804) to the network750to form the network850.

In connection withFIG. 8A, the user may reposition the graphical indicator502from the position shown inFIG. 7along the time line704to a position outside of the anchor point706. For example, the user may select a position along the time line704when the network850is formed. The controller circuit202may update the component markers, such as the node713, the bus bridge804, and the bi-directional communication link802to form the time graph800based on the network information corresponding to the position of the graphical indicator502. The controller circuit202may automatically display changes made to the configuration based on differences between the network at the one reference point and the second reference point. For example, the controller circuit202adjusts the network750based on differences between the network750at the position of the graphical indicator502inFIG. 7and the position of the graphical indicator502inFIG. 8. Differences between the networks750and850allows the user to understand and/or possibly rectify, modify, and/or the like a configuration or topology of the networks750,850. Additionally or alternatively, the time graph800may be indicative on the whether the configuration of the network850successively resolved the issues (e.g., choke-point at the node713) of the network750shown in the time graph700. For example, the heat map of the time graph800does not include component markers having a red color indicating that none of the components of the network850have a data usage over the predetermined threshold.

In connection withFIG. 8B, controller circuit202may generate the time graph810enabling the user to view two or more different times of the time lines704a-b. The time graph810may display component markers representing a plurality networks (e.g., the networks750,850) in the display216concurrently and/or simultaneously. For example, the user may select a first position of the graphical indicator502aalong the time line704awithin the anchor point706and a second position of the graphical indicator502balong the time line704bcorresponding to when the network850is formed. The controller circuit202may provide a side-by-side configuration, split screen configuration, and/or the like, which enables the display216to include the component markers of the networks750and850to be shown concurrently and/or simultaneously forming the time graph810. It may be noted that the user may adjust a position of one and/or both of the graphical indicators502a-balong the time lines704a-b, respectively, independently with respect to each other.

Additionally or alternatively, the network managing interface may display a physical location of a selected component marker by the user. The physical location shown on the network managing interface may be a room and/or building number, a GPS location, an address, and/or the like. Optionally, in connection withFIG. 9, the physical location shown relative to a building plan.

FIG. 9is an illustration of a physical location904of a selected component marker of a network managing interface900, in accordance with an embodiment. The user may select one of the component markers (e.g., bi-directional communication links320-324, nodes301-304, end points305-308, and/or bus bridges310-311) utilizing the user interface204. When one of the component markers is selected, the controller circuit202may add a visual status indicator902to the selected component marker. For example, the visual status indicator902may add a color and/or color pattern to the component marker as shown inFIG. 9. Additionally or alternatively, the visual status indicator902may be an animation (e.g., scrolling, flashing), a graphical icon, and/or the like.

The physical location904may be based on network information received by the controller circuit202. The physical location904is shown inFIG. 9as a birdseye footprint or building plan. Optionally, the physical location904may be shown with textual information906providing further description of the physical location. The physical location904may further provide information on the physical environment of the selected component marker, such as room configuration, position within a room and/or building, proximity to other components, and/or the like.

The physical location904may further include information on components apart of and/or associated with the selected component marker. For example, the selected component marker is the node304. The physical location904includes graphical representations910-915of the end points of the node304. The graphical representations910-915provide positional information of the end points within the physical location904.

FIG. 10illustrates a flowchart of a method1000utilized by a network managing system (e.g., the network managing system200) to monitor a network, in accordance with an embodiment. The method1000, for example, may employ structures or aspects of various embodiments (e.g., systems and/or methods) discussed herein. In various embodiments, certain steps (or operations) may be omitted or added, certain steps may be combined, certain steps may be performed simultaneously, certain steps may be performed concurrently, certain steps may be split into multiple steps, certain steps may be performed in a different order, or certain steps or series of steps may be re-performed in an iterative fashion. In various embodiments, portions, aspects, and/or variations of the method1000may be used as one or more algorithms to direct hardware to perform one or more operations described herein. It should be noted, other methods may be used, in accordance with embodiments herein.

Beginning at1002, the controller circuit202records a network configuration. The network configuration may correspond to the topology of the network (e.g., the network100) based on the network information received by the controller circuit202. For example, the controller circuit202may determine a configuration and data usage of the network (e.g., the network100) based on the network information. The network information may include which nodes and/or bus bridges are directly coupled by a bi-directional communication link. Based on which components form the bi-directional communication link, the controller circuit202can determine the network configuration. For example, the network information may include information that the node102(FIG. 1) is directly coupled to the bus bridge108and the node104is directly coupled to the bus bridge108along respective bi-directional communication links110. Based on the common component, the bus bridge108, the controller circuit202may determine that the bus bridge is interposed between the nodes102and104.

At1004, the controller circuit202monitors and records an operational status and data exchange of one or more components of the network. The operational status and data exchange of the one or more components of the network is based on the network information received by the controller circuit202. For example, the network information may include an amount of data transmitted and/or received (e.g., data throughput) along the bi-directional communication links110, the nodes102-104and/or the bus bridge108over time.

At1006, the controller circuit202determines whether a fault is detected. The fault can be a connection failure, no data transmitted within a predetermined time period (e.g., timeout, intermittent connection), internal errors (e.g., power failure, network protocol conflicts), routine issues, data type mismatch, and/or the like. The controller circuit202may determine whether one or more of the components are at fault based on the data usage contained within the network information. For example, the bus bridge311(FIG. 3) may not be re-transmitting (e.g., forwarding) published data received along the bi-directional communication links323,324. The controller circuit202may detect that the bus bridge310has not received any data along the bi-directional communication link323and/or the node304has not received data along the bi-directional communication link324. Based on the network configuration determined at1002, the controller circuit202may determine that the bus bridge311is interposed between the bus bridge310and the node304. Further, the controller circuit202may determine that the bus bridge311has a connection failure based on data being exchanged at the bus bridge311.

At1008, the controller circuit202logs the fault information. The controller circuit202may record when a fault is detected and the component having the detected fault determined at1006in the memory206. The operations ofFIG. 10can be repeated continuously or periodically to build a log of network information over time.

FIG. 11is a flowchart of a method1100for a network managing interface (e.g., the interface300), in accordance with an embodiment. The method1100, for example, may employ structures or aspects of various embodiments (e.g., systems and/or methods) discussed herein. In various embodiments, certain steps (or operations) may be omitted or added, certain steps may be combined, certain steps may be performed simultaneously, certain steps may be performed concurrently, certain steps may be split into multiple steps, certain steps may be performed in a different order, or certain steps or series of steps may be re-performed in an iterative fashion. In various embodiments, portions, aspects, and/or variations of the method1000may be used as one or more algorithms to direct hardware to perform one or more operations described herein. It should be noted, other methods may be used, in accordance with embodiments herein.

Beginning at1102, the controller circuit202receives network information from one or more components of a network for a select time period of interest (TPI). In connection with the method1000, the controller circuit202may monitor a network (e.g., the network100) to receive network information over time. The controller circuit202may determine a configuration and data usage of the network (e.g., the network100) based on the network information. The select TPI may be a subset of the total time the controller circuit202has received the network information. For example, the select TPI may be designated by the user via the user interface204, a predetermined time period stored in the memory206, and/or the like. Optionally, the controller circuit202may display a time line representing the select TPI. For example, in connection withFIGS. 5-6, the controller circuit202may display the timeline504representing the select TPI.

At1104, the controller circuit202generates a graphical representation (e.g., component and interconnect map) of one or more component markers based on the network information at a reference point along the TPI. The component markers may be presented in varying shapes and colors, such as a graphical or selectable icons, a slide bar, a cursor, and/or the like shown on the display216interconnected with each other. The plurality of component markers representing the one or more components of the network (e.g., the network350). For example, in connection withFIG. 3, the controller circuit202may generate a map illustrating the component markers visually representing bi-directional communication links320-324, nodes301-304, end points305-308, and/or bus bridges310-311. The controller circuit202may select a style (e.g., shape, size, and/or the like) of the component marker based on the type of component within the network. For example, the controller circuit202may generate component markers that represent the nodes to each have a similar and/or the same shape and/or size.

The reference point may correspond to a select time during the TPI. The select time may correspond to a position along the TPI. For example, the controller circuit202may indicate the reference point along the TPI as the graphical indicator502along the time line504shown inFIG. 5.

At1106, the controller circuit202determines whether a fault is present. For example, in connection with1006ofFIG. 10, the controller circuit202may determine if one or more of the components during the TPI has a fault based on the data usage within the network.

If a fault is present, at1108the controller circuit202displays a visual status indicator (VSI) based on the fault (e.g., overlay VSI with component marker). The visual status indicator may be a color (e.g., the visual status indicator330is the color red), an animation (e.g., scrolling, flashing), a graphical icon, and/or the like. For example, in connection withFIG. 3, the controller circuit202may determine that the bus bridge311is at fault during the TPI. The controller circuit202may overlay the visual status indicator330, the color red, to the bus bridge311indicating that the bus bridge311is at fault. Additionally or alternatively, the controller circuit202may display the fault in reference to the TPI. For example, the controller circuit202may overlay one or more anchor points510-513(FIG. 5) to the time line504representing the TPI.

At1110, the controller circuit202receives a user input. For example, the controller circuit202may receive the user input from the user interface204(FIG. 2), while the user views the VSIs and component markers (e.g., a map).

At1112, the controller circuit202determines if the user input is indicative of a new reference point. For example, if the user input adjust a position of the graphical indicator502the controller circuit202may determine that the user input is indicative of a new reference point. If the user input is determined to be a new reference point, the controller circuit202returns to1104.

If the user input is not indicative of a new reference point, then at1114, the controller circuit202determines if the user input is indicative of a new TPI. For example, if the user input adjust the time line504the controller circuit202may determine that the user input is indicative of a new TPI. If the user input is determined to be a new TPI, the controller circuit202returns to1102

If the user input is not indicative of a new TPI, then at1116, the controller circuit202determines if the user input is indicative of a selection of a component marker. For example, if the user input selects one of the component markers (e.g., the bi-directional communication links320-324, the nodes301-304, the end points305-308, the bus bridges310-311) the controller circuit202may determine that the user input is indicative of an component marker selection.

If the user input is a selection of a component marker, then at1118the controller circuit202may present component information of the selected component marker. For example, in connection withFIG. 9, the controller circuit202may display a physical location904of the component represented by the select component marker. In another example, the controller circuit202may display a description of the type of information published by the component, software and/or configuration information of the component, subscription information, and/or the like.

At1120, the controller circuit202determines if the user input is indicative of a data throughput request. For example, if the user input selects a plurality of component markers the controller circuit202may determine that the user input is indicative of a data throughput request.

If the user input is a data throughput request, then at1122the controller circuit202may present a time graph of the data throughput during the TPI. For example, in connection withFIG. 4, the controller circuit202may generate the time graph400having a data waveform402representing an amount of data exchanged between the plurality components represented by the selected component markers at1120.

In an embodiment a system (e.g., for network monitoring) is provided. The system includes a communication circuit configured to receive network information from one or more components of a medical network for a select time period. The system includes a controller circuit having one or more processors coupled to the communication circuit. The controller circuit is configured to determine a configuration and data usage of the medical network based on the network information at reference points along the time period of interest. The controller circuit is further configured to generate a graphical representation of a topology of the medical network on a display based on the configuration of the medical network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage.

Optionally, the controller circuit is configured to determine a fault of a select component of the network based on the network information, and overlay a visual status indicator to a first component marker representing the select component, wherein the visual status indicator is indicative of the fault. Additionally or alternatively, the system includes a user interface. The controller circuit may receive a user selection of the first component marker. The controller circuit may be configured to generate troubleshoot information for the fault based on the network information. Additionally or alternatively, the controller circuit is configured to adjust the configuration of the network based on the fault.

Optionally, the controller circuit is configured to generate a time graph of the network based on the network information. The time graph may have a time line defined by the time period of interest. The time graph may include a graphical indicator positioned along the time line. A position of the graphical indicator may be based on the one of the reference points. Additionally or alternatively, a first component marker of the time graph includes a visual status indicator. The visual status indicator may represent an amount of data usage a select component represented by the first component marker. Additionally or alternatively, the time line includes an anchor point positioned by the controller circuit or based on a user input received from a user interface. Additionally or alternatively, the system includes a user interface. The controller circuit may receive a user selection adjusting a position of the graphical indicator to a second reference point. Additionally or alternatively, the controller circuit may adjust the configuration based on the second reference point and the network information.

Optionally, the system includes a user interface. The controller circuit may receive a user selection of a first component marker. The controller circuit may be configured to display a physical location of a select component represented by the first component marker. Additionally or alternatively, the physical location represents a position of the select component relative to a building plan.

Optionally, the system includes a user interface. The controller circuit may receive a user selection of a first and second component marker. The controller circuit may be configured to generate a time graph having a data waveform representing an amount of data exchanged between a first and second component represented by the first and second component marker.

Optionally, the system includes a user interface. The controller circuit may receive a user selection adjusting a first component with respect to the configuration of the network. The controller circuit may be configured to generate instructions for the first component based on the user selection.

In at least one embodiment a method (e.g., for network monitoring) is provided. The method includes receiving network information from one or more components of a medical network for a select time period. The method also includes determining a configuration and data usage of the medical network based on the network information at reference points along the time period of interest, and generating a graphical representation of a topology of the medical network on a display based on the configuration of the medical network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage.

Optionally, the method includes determining a fault of a select component of the network based on the network information, and overlaying a visual status indicator to a first component marker representing the select component. The visual status indicator is indicative of the fault. Additionally or alternatively, the method includes generating troubleshoot information for the fault based on the network information. Additionally or alternatively, the method includes adjusting the configuration of the network based on the fault.

Optionally, the method includes generating a time graph of the network based on the network information. The time graph may have a time line defined by the time period of interest. The time graph may include a graphical indicator positioned along the time line. A position of the graphical indicator may be based on the one of the reference points. Additionally or alternatively, the method includes adjusting a position of the graphical indicator to a second reference point based on a user input, and adjusting the configuration based on the second reference point and the network information.

In at least one embodiment a system (e.g., for network monitoring) is provided. The system includes a communication circuit configured to receive network information from one or more components of a network for a select time period. The system includes a user interface and a controller circuit having one or more processors coupled to the communication circuit. The controller circuit is configured to determine a configuration and data usage of the network based on the network information at reference points along the time period of interest. The controller circuit is further configured to generate a graphical representation of a topology of the network on a display based on the configuration of the network at one of the reference points. The graphical representation includes a plurality of component markers interconnected with each other. The plurality of component markers represent the one or more components. The graphical representation includes a visual status indicator for the one or more components based on the data usage. The controller circuit is further configured to generate a time graph of the network based on the network information. The time graph having a time line defined by the time period of interest. The time graph includes a graphical indicator positioned along the time line. A position of the graphical indicator is based on the one of the reference points. The controller circuit is further configured to adjust a position of the graphical indicator to a second reference point based on a user input from the user interface, and automatically display changes made to the configuration based on differences between the network at the one reference point and the second reference point.

As used herein, the term “computer,” “subsystem” or “module” may include any processor-based or microprocessor-based system including systems using microcontrollers, reduced instruction set computers (RISC), ASICs, logic circuits, and any other circuit or processor capable of executing the functions described herein. The above examples are exemplary only, and are thus not intended to limit in any way the definition and/or meaning of the term “computer”.

As used herein, a structure, limitation, or element that is “configured to” perform a task or operation is particularly structurally formed, constructed, or adapted in a manner corresponding to the task or operation. For purposes of clarity and the avoidance of doubt, an object that is merely capable of being modified to perform the task or operation is not “configured to” perform the task or operation as used herein. Instead, the use of “configured to” as used herein denotes structural adaptations or characteristics, and denotes structural requirements of any structure, limitation, or element that is described as being “configured to” perform the task or operation. For example, a controller circuit, processor, or computer that is “configured to” perform a task or operation may be understood as being particularly structured to perform the task or operation (e.g., having one or more programs or instructions stored thereon or used in conjunction therewith tailored or intended to perform the task or operation, and/or having an arrangement of processing circuitry tailored or intended to perform the task or operation). For the purposes of clarity and the avoidance of doubt, a general purpose computer (which may become “configured to” perform the task or operation if appropriately programmed) is not “configured to” perform a task or operation unless or until specifically programmed or structurally modified to perform the task or operation.