US20230327965A1 - Computer network architecture mapping using metadata - Google Patents
Computer network architecture mapping using metadata Download PDFInfo
- Publication number
- US20230327965A1 US20230327965A1 US18/185,196 US202318185196A US2023327965A1 US 20230327965 A1 US20230327965 A1 US 20230327965A1 US 202318185196 A US202318185196 A US 202318185196A US 2023327965 A1 US2023327965 A1 US 2023327965A1
- Authority
- US
- United States
- Prior art keywords
- network
- network device
- error correction
- node
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Definitions
- the present disclosure relates generally to process management for a computer network, and more specifically to computer architecture mapping using metadata.
- a network device In a computer network, data is routinely being processed and transferred between different network devices. Over time, network devices may experience different types of issues that cause failed data communications. For example, a network device’s memory resources (e.g. available disk space) are gradually consumed and reduced. Eventually, the network device’s memory resource may become so low that the network device is no longer able to receive or store new data from other network devices. In existing systems, data transmissions begin to fail when the receiving network device has an insufficient amount of memory resources available. As data transfer begins to fail, a bottleneck is formed as other network devices continue to try to send data to the network device that is low on memory resources. This bottleneck reduces the flow of data through a communication system which degrades the throughput and performance of the system and may cause the system to come to a halt. In other examples, network devices may experience software and/or hardware issues that lead to failed data communications.
- memory resources e.g. available disk space
- the network device may experience software and/or hardware issues that lead to failed data communications.
- the disclosed system provides several practical applications and technical advantages that overcome the previously discussed technical problems.
- the following disclosure provides a practical application of a network error correction device for a computer system.
- the disclosed network error correction device provides practical applications that improve the throughput and resource utilization of network devices and the computer system by dynamically rerouting data traffic in the event that there is an issue with one or more network devices.
- This process generally involves generating a computer network map that contains information about the network devices within a network and the communication channels between the network devices.
- the computer network map also contains error correction instructions for how to reroute data traffic in the event that an issue is detected with a network device.
- the network error correction device When a triggering event that is associated with a failed data communication within the network is detected, the network error correction device will identify any network devices that are associated with the failed data communication and their corresponding error correction instructions. The network error correction device will then apply the identified error correction instructions to reroute data traffic within the network.
- the disclosed network error correction device provides a technical improvement by dynamically rerouting data traffic within the network when a data communication issue is detected. This process allows the network error correction device to manage the data traffic for the network devices in the computer system to provide improved data throughput for the computer system and improved hardware utilization. Thus, this process provides improved resource utilization and improved data throughput which improves the overall performance of network devices and the computer system.
- the computer system comprises a network error correction device that is configured to obtain network traffic information that is associated with a first network device and to identify a second network device that communicates data with the first network device.
- the network error correction device is further configured to identify device settings for sending data traffic to the second network device and to identify error correction instructions for rerouting data traffic to another network device.
- the network error correction device is further configured to generate node properties for the first network device that include a first network device identifier, a second network device identifier, the device settings for the second network device, and the error correction instructions.
- the network error correction device is further configured to add a first node to a computer network map for the first network device and to associate the node properties with the first node and output the computer network map.
- the network error correction device may repeat this process for any other network devices within the network.
- the computer system comprises a network error correction device that is configured to detect a triggering event within a network that is associated with a communication error between a first network device and a second network device.
- the network error correction device is further configured to identify a first node in a computer network map corresponding with the first network device and to identify node properties for the first node.
- the network error correction device is further configured to identify the error correction instructions in the node properties for the first node that include an address for rerouting data traffic to a third network device.
- the network error correction device is further configured to apply the error correction instructions, where applying the error correction instructions suspends data traffic to the second network device and reroutes data traffic to the third network device.
- FIG. 1 is a schematic diagram for a computer system configured to use a network error correction device
- FIG. 2 is a flowchart of an embodiment of a computer network mapping process for the computer system
- FIG. 3 is an example of a graphical representation of a computer network map
- FIG. 4 is a flowchart of an embodiment of a network error correction process for the computer system.
- FIG. 5 is an embodiment of a network error correction device for the computer system.
- FIG. 1 is a schematic diagram of an embodiment of a computer system 100 that is generally configured to generate a computer network map 112 that contains information about the network devices 102 within a network 106 and the communication channels between the network devices 102 .
- the computer network map 112 also contains error correction instructions 126 for how to reroute data traffic in the event that an issue is detected with a network device 102 . For example, when a triggering event that is associated with a failed data communication within the network 106 is detected, a network error correction device 104 will identify any network devices 102 that are associated with the failed data communication and their corresponding error correction instructions 126 .
- the network error correction device 104 After identifying the error correction instructions 126 , the network error correction device 104 will then apply the identified error correction instructions 126 to reroute data traffic within the network 106 . This process allows the computer system 100 to dynamically reroute data traffic within the network 106 when a data communication issue is detected.
- the computer system 100 comprises one or more network devices 102 and a network error correction device 104 .
- the network devices 102 and the network error correction device 104 are in signal communication with each other within a network 106 .
- the network 106 allows communication between and amongst the various components of the computer system 100 .
- This disclosure contemplates the network 106 being any suitable network operable to facilitate communication between the components of the computer system 100 .
- the network 106 may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding.
- the network 106 may include all or a portion of a local area network (LAN), a wide area network (WAN), an overlay network, a software-defined network (SDN), a virtual private network (VPN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., cellular networks, such as 4G or 5G), a Plain Old Telephone (POT) network, a wireless data network (e.g., WiFi, WiGig, WiMax, etc.), a Long Term Evolution (LTE) network, a Universal Mobile Telecommunications System (UMTS) network, a peer-to-peer (P2P) network, a Bluetooth network, a Near Field Communication (NFC) network, a Zigbee network, and/or any other suitable network.
- LAN local area network
- WAN wide area network
- VPN virtual private network
- packet data network e.g., the Internet
- a mobile telephone network e.g., cellular networks, such as 4G or 5G
- a network device 102 is a hardware device that is generally configured to provide hardware and software resources to a user.
- Examples of a network device 102 include, but are not limited to, a server, an access point, a laptop, a computer, a smartphone, a tablet, a smart device, an Internet-of-Things (IoT) device, or any other suitable type of device.
- the network device 102 may comprise a graphical user interface (e.g. a display), a touchscreen, a touchpad, keys, buttons, a mouse, or any other suitable type of hardware that allows a user to view data and/or to provide inputs into the network device 102 .
- One or more network devices 102 may be configured to be in signal communication with each other. For example, a network device 102 may receive data traffic from one or more upstream network devices 102 and may send data traffic to one or more downstream network devices 102 .
- Examples of a network error correction device 104 include, but are not limited to, a server, an access point, a computer, or any other suitable type of network device.
- a network error correction device 104 comprises an error detection engine 108 and a memory 110 . Additional details about the hardware configuration of the network error correction device 104 are described in FIG. 5 .
- the memory 110 is configured to store computer network maps 112 , node properties 114 , and/or any other suitable type of data.
- the error detection engine 108 is generally configured to generate a computer network map 112 for the network 106 .
- the computer network map 112 generally comprises information about the network devices 102 within the network 106 and their relationship with each other based on the network traffic within the network 106 .
- An example of a computer network map 112 is shown in FIG. 3 .
- a computer network map 112 generally comprises a plurality of nodes 302 and edges 304 . Each node 302 corresponds with a network device 102 within the network 106 .
- Each edge 304 corresponds with a communication channel between a pair of network devices 102 .
- an edge 304 between a first node 302 and a second node 302 represents a data channel for traffic between a first network device 102 and a second network device 102 .
- the error detection engine 108 is further configured to associate each node 302 with node properties 114 .
- the node properties 114 comprise information that identifies any network devices 102 that are linked with a network device 102 using a communication channel (i.e. an edge 304 ).
- An example of node properties 114 is shown in FIG. 1 .
- the node properties 114 comprise network device identifiers 116 , linked network device identifiers 118 , device setting values 120 , error type identifiers 122 , device type identifiers 124 , and error correction instructions 126 .
- the network device identifier 116 identifies a network device 102 that a node 302 represents in the computer network map 112 .
- Examples of a network device identifier 116 include, but are not limited to, an Internet Protocol (IP) address, a Media Access Control (MAC) address, a device name, a serial number, an alphanumeric code, or any other suitable type of identifier.
- IP Internet Protocol
- MAC Media Access Control
- the linked network device identifiers 118 identifies other network devices 102 that have a communication channel with a network device 102 .
- Examples of a linked network device identifier 118 include, but are not limited to, an IP address, a MAC address, a device name, a serial number, an alphanumeric code, or any other suitable type of identifier.
- the device setting values 120 identify settings for access or communicating with another network device 102 .
- Examples of device setting values 120 include, but are not limited to, an IP address, a MAC address, and a Uniform Resource Locator (URL).
- the error type identifiers 122 identify a type of error that a network device 102 is experiencing when trying to communicate with another network device 102 .
- the error type identifiers 122 allow the error detection engine 108 to perform different types of remediation techniques based on the type of error that occurs.
- the device type identifiers 124 identifies a type of device that a network device 102 is communicating with. Examples of devices types include, but are not limited to, a server, an access point, a laptop, a computer, a smartphone, a tablet, a smart device, an IoT device, or any other suitable type of device.
- the error correction instructions 126 comprises instructions for rerouting data traffic to another network device 102 in the event that an error occurs.
- the error correction instructions 126 may identify an address (e.g. an IP address or MAC address) or device setting values 120 for another network device 102 .
- the error correction instructions 126 may comprise machine-executable instructions, scripts, source code, macros, or any other suitable type of instructions that can be executed by a network device 102 to reroute data traffic to another network device 102 .
- the node properties 114 may comprise any other suitable type of information or combination, thereof.
- the error detection engine 108 is further configured to monitor the network 106 for triggering events that correspond with failed communications between network devices 102 , to use the computer network map 112 to identify error correction instructions 126 for any affected network devices 102 , and to apply error correction instructions 126 to reroute data traffic within the network 106 .
- An example of the error detection engine 108 performing this operation is described in more detail in FIG. 4 .
- FIG. 2 is a flowchart of an embodiment of a computer network mapping process 200 .
- the computer system 100 may employ process 200 to generate a computer network map 112 that contains information about the network devices 102 within the network 106 and the communication channels between the network devices 102 .
- the computer network map 112 also contains error correction instructions 126 for how to reroute data traffic in the event that an issue is detected with a network device 102 .
- the network error correction device 104 obtains network traffic information 128 for the network device 102 .
- the network error correction device 104 may obtain network traffic information 128 for the network 106 from one or more access points and/or network devices 102 in the network 106 .
- the network traffic comprises information about the data communications between the network devices 102 in the network 106 .
- the network traffic information 128 may be a network log that comprises timestamps corresponding with data communications between a sending network device 102 and a receiving network device 102 .
- the network error correction device 104 identifies network devices 102 within the network 106 based on the network traffic information 128 .
- the network error correction device 104 identifies any network devices 102 that are referenced in the network traffic information 128 , for example as a sending or receiving network device 102 , to generate a list of all of the network devices 102 within the network 106 .
- the network error correction device 104 generates a list of network device identifiers 116 for all of the network devices 102 that are present in the network traffic information 128 .
- the network error correction device 104 After identifying all of the network devices 102 in the network 106 , the network error correction device 104 begins the process of generating nodes 302 for each of the identified network devices 102 for the computer network map 112 . At operation 206 , the network error correction device 104 selects a network device 102 from among the network devices 102 in the network 106 . Here, the network error correction device 104 begins iteratively selecting network devices 102 to aggregate the data that is associated with the network device 102 and to generate a node 302 and node properties 114 for the network error correction device 104 . For example, on the first iteration, the network error correction device 104 may select a first network device identifier 116 for a first network device 102 . On subsequent iterations, the network error correction device 104 may select another network device identifier 116 for another network device 102 .
- the network error correction device 104 identifies linked network devices 102 based on the network traffic information 128 .
- the network error correction device 104 filters the network traffic information 128 that was obtained in operation 202 to identify any network traffic information 128 that is associated with the selected network device 102 .
- the network error correction device 104 may identify any network traffic information 128 that corresponds with when the selected network device 102 was either a sending or receiving network device 102 in a data communication with another network device 102 .
- the network error correction device 104 After identifying the network traffic information 128 that is associated with the selected network device 102 , the network error correction device 104 then generates a list of all the other network devices 102 that the selected network device 102 communicated with.
- These other network devices 102 may also be referred to as linked network devices 102 for the selected network device 102 since they each have a link or communication channel with the selected network device 102 .
- the network error correction device 104 After identifying the linked network devices 102 for the selected network device 102 , the network error correction device 104 generates a list of linked network device identifiers 118 for the identified network devices 102 .
- the network error correction device 104 identifies device setting values associated with the linked network devices 102 . Once the network error correction device 104 identifies the other network devices 102 that communicate with the selected network device 102 , the network error correction device 104 uses the network traffic information 128 to identify any device setting values 120 that are used for communicating with the identified network devices 102 . For example, the network error correction device 104 may identify IP addresses that are used for communicating with each of the identified network devices 102 . In other examples, the network error correction device 104 may identify any other suitable type of device setting value or information that can be used to communicate with a network device 102 .
- the network error correction device 104 identifies error correction instructions for the linked network devices 102 .
- the network error correction device 104 identifies instructions for rerouting data traffic in the event that a network device 102 is unavailable or has issues.
- the network error correction device 104 may identify any alternative network devices 102 and communication channels in the network traffic information 128 that can be used to substitute one of the linked network devices 102 .
- the network error correction device 104 may receive user input that specifies alternative network devices 102 and communication channels that can be used to substitute one of the linked network devices 102 .
- the network error correction device 104 may obtain or generate machine-executable code for rerouting data traffic to the identified alternative network device 102 .
- the network error correction device 104 may generate machine-executable code or scripts that modify the IP address for outbound data traffic to reroute the data traffic to the alternative network device 102 .
- the network error correction device 104 may generate any other suitable type of machine-executable code or scripts for rerouting data traffic to an alternative network device 102 .
- the network error correction device 104 generates a node 302 in the computer network map 112 for the network device 102 .
- the network error correction device 104 begins by adding a representation of a node 302 to computer network map 112 .
- the network error correction device 104 then adds edges 304 that connect to nodes 302 that represent other network devices 102 that have a communication channel with the network device 102 .
- the network error correction device 104 then generates node properties 114 for the network device 102 .
- the node properties 114 may comprise a network device identifier 116 for the selected network device 102 , linked network device identifiers 118 for the linked network devices 102 , device setting values 120 for communicating with each of the linked network devices 102 , error type identifiers 122 for different types of communication issues, device type identifiers 124 for the linked network devices 102 , and error correction instructions 126 for rerouting data traffic to alternative network devices 102 .
- the node properties 114 may further comprise any other suitable type of information.
- the network error correction device 104 associates the node properties 114 with the node 302 in the computer network map 112 that represents the network device 102 .
- the network error correction device 104 determines whether to generate another node 302 in the computer network map 112 for another network device 102 .
- the network error correction device 104 determines whether a node 302 has been generated for all of the network devices 102 that were identified in operation 202 .
- the network error correction device 104 will determine to generate another node 302 when one or more network devices 102 have not been mapped to a node 302 in the computer network map 112 .
- the network error correction device 104 returns to operation 206 in response to determining to generate another node 302 . In this case, the network error correction device 104 returns to operation 204 to generate another node 302 in the computer network map 112 for another network device 102 .
- the network error correction device 104 terminates process 200 in response to determining not to generate another node 302 .
- the network error correction device 104 outputs the computer network map 112 before terminating process 200 .
- the network error correction device 104 may output the computer network map 112 by storing the computer network map 112 in memory 110 .
- the network error correction device 104 may output the computer network map 112 by sending the computer network map 112 to another network device 102 or database.
- the network error correction device 104 may output the computer network map 112 by generating a graphical representation of the computer network map 112 and displaying the graphical representation on a graphical user interface (e.g. a display screen). An example of a graphical representation of a computer network map 112 is shown in FIG. 3 .
- the network error correction device 104 may output the computer network map 112 using any other suitable technique.
- FIG. 4 is a flowchart of an embodiment of network error correction process 400 .
- the computer system 100 may employ process 400 to reroute data traffic in the event that a failed data communication is detected within the network 106 .
- This process generally involves identifying any network devices 102 that are associated with the failed data communication and their corresponding error correction instructions 126 .
- the network error correction device 104 can then apply the identified error correction instructions 126 to reroute data traffic within the network 106 .
- the network error correction device 104 monitors the network 106 for triggering events.
- a triggering event corresponds with a communication error between network devices 102 within the network 106 .
- the network error correction device 104 monitors the network 106 by monitoring network traffic information 128 for network device 102 within the network 106 .
- the network error correction device 104 may listen for alerts from within the network 106 that indicate a failed communication between network devices 102 .
- the network error correction device 104 detects a triggering event in response to receiving an alert that indicates a failed communication between a pair of network devices 102 .
- the network error correction device 104 may use historical network traffic information 128 to detect triggering events.
- the network error correction device 104 first obtains historical network traffic information 128 that comprises information about previous data communications within the network 106 .
- the network error correction device 104 then obtains current network traffic information 128 that comprises information about the current data communications within the network 106 .
- the network error correction device 104 may then detect a triggering event based on any decreases in data communications between network devices 102 .
- the network error correction device 104 may determine that the current data traffic between a first network device 102 and a second network device 102 is less than the historical or average data traffic between the first network device 102 and the second network device 102 .
- the network error correction device 104 may use any other suitable technique to monitor the network 106 and to detect triggering events within the network 106 .
- the network error correction device 104 determines whether a triggering event has been detected.
- the network error correction device 104 returns to operation 402 in response to determining that a triggering event has not been detected. In this case, the network error correction device 104 returns to operation 402 to continue monitoring the network 106 for triggering events.
- the network error correction device 104 proceeds to operation 406 in response to determining that a triggering event has been detected. In this case, the network error correction device 104 proceeds to operation 406 to identify corrective actions for resolving any failed communications within the network 106 .
- the network error correction device 104 identifies a network device 102 that is associated with the triggering event.
- the network error correction device 104 may determine that the triggering event was caused by a communication error between a first network device 102 and a second network device 102 .
- the network error correction device 104 will identify a network device identifier 116 that corresponds with the first network device 102 .
- the network error correction device 104 identifies a linked network device 102 that is associated with the triggering event. Continuing with the previous example, the network error correction device 104 identifies the other network device 102 that was associated with the failed communications as a linked network device 102 . In this example, the network error correction device 104 identifies a linked network device identifier 118 for the second network device 102 .
- the network error correction device 104 identifies error correction instructions 126 for the linked network device 102 .
- the network error correction device 104 uses the network device identifier 116 to identify a node 302 in the computer network map 112 and its corresponding node properties 114 .
- the network error correction device 104 identifies an entry in the node properties 114 that corresponds with then linked network device identifier 118 that was determined in operation 408 .
- the network error correction device 104 then identifies the error correction instructions 126 that are associated with the entry for the linked network device identifier 118 .
- the identified error correction instructions 126 comprise instructions for rerouting data traffic from the second network device 102 to a third network device 102 .
- the error correction instructions 126 may comprise an address (e.g. IP address) for sending data traffic to the third network device 102 .
- multiple error correction instructions 126 may be associated with a linked network device 102 based on the type of communication error that occurred.
- each set of error correction instructions 126 is associated with a different error type (i.e. error type identifier 122 ).
- the network error correction device 104 first identifies the type of communication error that caused the triggering event and then identifies the error correction instructions 126 that are linked with the corresponding error type identifier 122 .
- the network error correction device 104 applies the error correction instructions 126 .
- applying the error correction instructions 126 may suspend sending data traffic to the address associated with the second network device 102 , and instead, reroute data traffic to the address associated with the third network device 102 .
- the network error correction device 104 may execute the machine-executable code to apply the error correction instructions 126 .
- the network error correction device 104 may update the node properties 114 after applying the error correction instructions 126 .
- the network error correction device 104 may update the node properties 114 by adding a linked network device identifier 118 , device setting values 120 (e.g. an address), and error correction instructions 126 for the network device 102 where data traffic is being rerouted to in the node properties 114 . This process allows the network error correction device 104 to maintain a contingency plan in event that there is a communication failure with the alternative network device 102 .
- the network error correction device 104 determines whether to select another linked network device 102 .
- the network error correction device 104 checks whether there are any other linked network devices 102 linked with the network device 102 and the triggering event.
- the network error correction device 104 will determine to select another linked network device 102 when data traffic has not been rerouted for a linked network device 102 that is associated with the triggering event.
- the network error correction device 104 returns to operation 408 in response to determining to select another linked network device 102 .
- the network error correction device 104 returns to operation 408 to repeat the process of rerouting data traffic for another linked network device 102 .
- the network error correction device 104 terminates process 400 in response to determining not to select another linked network device 102 . In this case, the network error correction device 104 determines that no other linked network devices 102 have been affected and no further actions are necessary.
- FIG. 5 is an embodiment of a network error correction device 104 for the computer system 100 .
- the network error correction device 104 may be a server, an access point, or a computer.
- the network error correction device 104 comprises a processor 502 , a memory 110 , and a network interface 504 .
- the network error correction device 104 may be configured as shown or in any other suitable configuration.
- the processor 502 is a hardware device that comprises one or more processors operably coupled to the memory 110 .
- the processor 502 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs).
- the processor 502 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding.
- the processor 502 is communicatively coupled to and in signal communication with the memory 110 and the network interface 504 .
- the one or more processors are configured to process data and may be implemented in hardware or software.
- the processor 502 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture.
- the processor 502 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.
- ALU arithmetic logic unit
- the one or more processors are configured to implement various instructions.
- the one or more processors are configured to execute error detection instructions 506 to implement the error detection engine 108 .
- processor 502 may be a special-purpose computer designed to implement the functions disclosed herein.
- the error detection engine 108 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware.
- the error detection engine 108 is configured to operate as described in FIGS. 1 - 4 .
- the error detection engine 108 may be configured to perform the operations of processes 200 and 400 as described in FIGS. 2 and 4 , respectively.
- the memory 110 is a hardware device that is operable to store any of the information described above with respect to FIGS. 1 - 4 along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by the processor 502 .
- the memory 110 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution.
- the memory 110 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).
- the memory 110 is operable to store error detection instructions 506 , computer network maps 112 , node properties 114 , network traffic information 128 , and/or any other data or instructions.
- the error detection instructions 506 may comprise any suitable set of instructions, logic, rules, or code operable to execute the error detection engine 108 .
- the computer network maps 112 , the node properties 114 , and the network traffic information 128 are configured similar to the computer network maps 112 , the node properties 114 , and the network traffic information 128 described in FIGS. 1 - 4 , respectively.
- the network interface 504 is a hardware device that is configured to enable wired and/or wireless communications.
- the network interface 504 is configured to communicate data between network devices 102 and other devices, systems, or domains.
- the network interface 504 may comprise an NFC interface, a Bluetooth interface, a Zigbee interface, a Z-wave interface, a radio-frequency identification (RFID) interface, a WIFI interface, a LAN interface, a WAN interface, a PAN interface, a modem, a switch, or a router.
- the processor 502 is configured to send and receive data using the network interface 504 .
- the network interface 504 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- The application is a continuation of U.S. Pat. Application No. 17/705,340, filed Mar. 27, 2022, by Sunny Bhattacharjee, and entitled “COMPUTER NETWORK ARCHITECTURE MAPPING USING METADATA,” which is incorporated herein by reference.
- The present disclosure relates generally to process management for a computer network, and more specifically to computer architecture mapping using metadata.
- In a computer network, data is routinely being processed and transferred between different network devices. Over time, network devices may experience different types of issues that cause failed data communications. For example, a network device’s memory resources (e.g. available disk space) are gradually consumed and reduced. Eventually, the network device’s memory resource may become so low that the network device is no longer able to receive or store new data from other network devices. In existing systems, data transmissions begin to fail when the receiving network device has an insufficient amount of memory resources available. As data transfer begins to fail, a bottleneck is formed as other network devices continue to try to send data to the network device that is low on memory resources. This bottleneck reduces the flow of data through a communication system which degrades the throughput and performance of the system and may cause the system to come to a halt. In other examples, network devices may experience software and/or hardware issues that lead to failed data communications.
- The disclosed system provides several practical applications and technical advantages that overcome the previously discussed technical problems. The following disclosure provides a practical application of a network error correction device for a computer system. The disclosed network error correction device provides practical applications that improve the throughput and resource utilization of network devices and the computer system by dynamically rerouting data traffic in the event that there is an issue with one or more network devices. This process generally involves generating a computer network map that contains information about the network devices within a network and the communication channels between the network devices. The computer network map also contains error correction instructions for how to reroute data traffic in the event that an issue is detected with a network device. When a triggering event that is associated with a failed data communication within the network is detected, the network error correction device will identify any network devices that are associated with the failed data communication and their corresponding error correction instructions. The network error correction device will then apply the identified error correction instructions to reroute data traffic within the network. The disclosed network error correction device provides a technical improvement by dynamically rerouting data traffic within the network when a data communication issue is detected. This process allows the network error correction device to manage the data traffic for the network devices in the computer system to provide improved data throughput for the computer system and improved hardware utilization. Thus, this process provides improved resource utilization and improved data throughput which improves the overall performance of network devices and the computer system.
- In one embodiment, the computer system comprises a network error correction device that is configured to obtain network traffic information that is associated with a first network device and to identify a second network device that communicates data with the first network device. The network error correction device is further configured to identify device settings for sending data traffic to the second network device and to identify error correction instructions for rerouting data traffic to another network device. The network error correction device is further configured to generate node properties for the first network device that include a first network device identifier, a second network device identifier, the device settings for the second network device, and the error correction instructions. The network error correction device is further configured to add a first node to a computer network map for the first network device and to associate the node properties with the first node and output the computer network map. The network error correction device may repeat this process for any other network devices within the network.
- In another embodiment, the computer system comprises a network error correction device that is configured to detect a triggering event within a network that is associated with a communication error between a first network device and a second network device. The network error correction device is further configured to identify a first node in a computer network map corresponding with the first network device and to identify node properties for the first node. The network error correction device is further configured to identify the error correction instructions in the node properties for the first node that include an address for rerouting data traffic to a third network device. The network error correction device is further configured to apply the error correction instructions, where applying the error correction instructions suspends data traffic to the second network device and reroutes data traffic to the third network device.
- Certain embodiments of the present disclosure may include some, all, or none of these advantages. These advantages and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
- For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in conjunction with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
-
FIG. 1 is a schematic diagram for a computer system configured to use a network error correction device; -
FIG. 2 is a flowchart of an embodiment of a computer network mapping process for the computer system; -
FIG. 3 is an example of a graphical representation of a computer network map; -
FIG. 4 is a flowchart of an embodiment of a network error correction process for the computer system; and -
FIG. 5 is an embodiment of a network error correction device for the computer system. -
FIG. 1 is a schematic diagram of an embodiment of acomputer system 100 that is generally configured to generate acomputer network map 112 that contains information about thenetwork devices 102 within anetwork 106 and the communication channels between thenetwork devices 102. Thecomputer network map 112 also containserror correction instructions 126 for how to reroute data traffic in the event that an issue is detected with anetwork device 102. For example, when a triggering event that is associated with a failed data communication within thenetwork 106 is detected, a networkerror correction device 104 will identify anynetwork devices 102 that are associated with the failed data communication and their correspondingerror correction instructions 126. After identifying theerror correction instructions 126, the networkerror correction device 104 will then apply the identifiederror correction instructions 126 to reroute data traffic within thenetwork 106. This process allows thecomputer system 100 to dynamically reroute data traffic within thenetwork 106 when a data communication issue is detected. - In one embodiment, the
computer system 100 comprises one ormore network devices 102 and a networkerror correction device 104. Thenetwork devices 102 and the networkerror correction device 104 are in signal communication with each other within anetwork 106. Thenetwork 106 allows communication between and amongst the various components of thecomputer system 100. This disclosure contemplates thenetwork 106 being any suitable network operable to facilitate communication between the components of thecomputer system 100. Thenetwork 106 may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. Thenetwork 106 may include all or a portion of a local area network (LAN), a wide area network (WAN), an overlay network, a software-defined network (SDN), a virtual private network (VPN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., cellular networks, such as 4G or 5G), a Plain Old Telephone (POT) network, a wireless data network (e.g., WiFi, WiGig, WiMax, etc.), a Long Term Evolution (LTE) network, a Universal Mobile Telecommunications System (UMTS) network, a peer-to-peer (P2P) network, a Bluetooth network, a Near Field Communication (NFC) network, a Zigbee network, and/or any other suitable network. - A
network device 102 is a hardware device that is generally configured to provide hardware and software resources to a user. Examples of anetwork device 102 include, but are not limited to, a server, an access point, a laptop, a computer, a smartphone, a tablet, a smart device, an Internet-of-Things (IoT) device, or any other suitable type of device. In some embodiments, thenetwork device 102 may comprise a graphical user interface (e.g. a display), a touchscreen, a touchpad, keys, buttons, a mouse, or any other suitable type of hardware that allows a user to view data and/or to provide inputs into thenetwork device 102. One ormore network devices 102 may be configured to be in signal communication with each other. For example, anetwork device 102 may receive data traffic from one or moreupstream network devices 102 and may send data traffic to one or moredownstream network devices 102. - Examples of a network
error correction device 104 include, but are not limited to, a server, an access point, a computer, or any other suitable type of network device. In one embodiment, a networkerror correction device 104 comprises anerror detection engine 108 and amemory 110. Additional details about the hardware configuration of the networkerror correction device 104 are described inFIG. 5 . Thememory 110 is configured to store computer network maps 112,node properties 114, and/or any other suitable type of data. - In one embodiment, the
error detection engine 108 is generally configured to generate acomputer network map 112 for thenetwork 106. An example of theerror detection engine 108 performing this operation is described in more detail inFIG. 2 . Thecomputer network map 112 generally comprises information about thenetwork devices 102 within thenetwork 106 and their relationship with each other based on the network traffic within thenetwork 106. An example of acomputer network map 112 is shown inFIG. 3 . Referring to the example inFIG. 3 , acomputer network map 112 generally comprises a plurality ofnodes 302 and edges 304. Eachnode 302 corresponds with anetwork device 102 within thenetwork 106. Eachedge 304 corresponds with a communication channel between a pair ofnetwork devices 102. For example, anedge 304 between afirst node 302 and asecond node 302 represents a data channel for traffic between afirst network device 102 and asecond network device 102. - The
error detection engine 108 is further configured to associate eachnode 302 withnode properties 114. Thenode properties 114 comprise information that identifies anynetwork devices 102 that are linked with anetwork device 102 using a communication channel (i.e. an edge 304). An example ofnode properties 114 is shown inFIG. 1 . In this example, thenode properties 114 comprisenetwork device identifiers 116, linkednetwork device identifiers 118,device setting values 120,error type identifiers 122,device type identifiers 124, anderror correction instructions 126. Thenetwork device identifier 116 identifies anetwork device 102 that anode 302 represents in thecomputer network map 112. Examples of anetwork device identifier 116 include, but are not limited to, an Internet Protocol (IP) address, a Media Access Control (MAC) address, a device name, a serial number, an alphanumeric code, or any other suitable type of identifier. The linkednetwork device identifiers 118 identifiesother network devices 102 that have a communication channel with anetwork device 102. Examples of a linkednetwork device identifier 118 include, but are not limited to, an IP address, a MAC address, a device name, a serial number, an alphanumeric code, or any other suitable type of identifier. Thedevice setting values 120 identify settings for access or communicating with anothernetwork device 102. Examples ofdevice setting values 120 include, but are not limited to, an IP address, a MAC address, and a Uniform Resource Locator (URL). Theerror type identifiers 122 identify a type of error that anetwork device 102 is experiencing when trying to communicate with anothernetwork device 102. Theerror type identifiers 122 allow theerror detection engine 108 to perform different types of remediation techniques based on the type of error that occurs. Thedevice type identifiers 124 identifies a type of device that anetwork device 102 is communicating with. Examples of devices types include, but are not limited to, a server, an access point, a laptop, a computer, a smartphone, a tablet, a smart device, an IoT device, or any other suitable type of device. Theerror correction instructions 126 comprises instructions for rerouting data traffic to anothernetwork device 102 in the event that an error occurs. For example, theerror correction instructions 126 may identify an address (e.g. an IP address or MAC address) ordevice setting values 120 for anothernetwork device 102. In some embodiments, theerror correction instructions 126 may comprise machine-executable instructions, scripts, source code, macros, or any other suitable type of instructions that can be executed by anetwork device 102 to reroute data traffic to anothernetwork device 102. In other examples, thenode properties 114 may comprise any other suitable type of information or combination, thereof. - The
error detection engine 108 is further configured to monitor thenetwork 106 for triggering events that correspond with failed communications betweennetwork devices 102, to use thecomputer network map 112 to identifyerror correction instructions 126 for any affectednetwork devices 102, and to applyerror correction instructions 126 to reroute data traffic within thenetwork 106. An example of theerror detection engine 108 performing this operation is described in more detail inFIG. 4 . -
FIG. 2 is a flowchart of an embodiment of a computernetwork mapping process 200. Thecomputer system 100 may employprocess 200 to generate acomputer network map 112 that contains information about thenetwork devices 102 within thenetwork 106 and the communication channels between thenetwork devices 102. Thecomputer network map 112 also containserror correction instructions 126 for how to reroute data traffic in the event that an issue is detected with anetwork device 102. - At
operation 202, the networkerror correction device 104 obtainsnetwork traffic information 128 for thenetwork device 102. In one embodiment, the networkerror correction device 104 may obtainnetwork traffic information 128 for thenetwork 106 from one or more access points and/ornetwork devices 102 in thenetwork 106. The network traffic comprises information about the data communications between thenetwork devices 102 in thenetwork 106. For example, thenetwork traffic information 128 may be a network log that comprises timestamps corresponding with data communications between a sendingnetwork device 102 and areceiving network device 102. - At
operation 204, the networkerror correction device 104 identifiesnetwork devices 102 within thenetwork 106 based on thenetwork traffic information 128. Here, the networkerror correction device 104 identifies anynetwork devices 102 that are referenced in thenetwork traffic information 128, for example as a sending or receivingnetwork device 102, to generate a list of all of thenetwork devices 102 within thenetwork 106. In one embodiment, the networkerror correction device 104 generates a list ofnetwork device identifiers 116 for all of thenetwork devices 102 that are present in thenetwork traffic information 128. - After identifying all of the
network devices 102 in thenetwork 106, the networkerror correction device 104 begins the process of generatingnodes 302 for each of the identifiednetwork devices 102 for thecomputer network map 112. Atoperation 206, the networkerror correction device 104 selects anetwork device 102 from among thenetwork devices 102 in thenetwork 106. Here, the networkerror correction device 104 begins iteratively selectingnetwork devices 102 to aggregate the data that is associated with thenetwork device 102 and to generate anode 302 andnode properties 114 for the networkerror correction device 104. For example, on the first iteration, the networkerror correction device 104 may select a firstnetwork device identifier 116 for afirst network device 102. On subsequent iterations, the networkerror correction device 104 may select anothernetwork device identifier 116 for anothernetwork device 102. - At
operation 208, the networkerror correction device 104 identifies linkednetwork devices 102 based on thenetwork traffic information 128. After selecting anetwork device 102, the networkerror correction device 104 filters thenetwork traffic information 128 that was obtained inoperation 202 to identify anynetwork traffic information 128 that is associated with the selectednetwork device 102. For example, the networkerror correction device 104 may identify anynetwork traffic information 128 that corresponds with when the selectednetwork device 102 was either a sending or receivingnetwork device 102 in a data communication with anothernetwork device 102. After identifying thenetwork traffic information 128 that is associated with the selectednetwork device 102, the networkerror correction device 104 then generates a list of all theother network devices 102 that the selectednetwork device 102 communicated with. Theseother network devices 102 may also be referred to as linkednetwork devices 102 for the selectednetwork device 102 since they each have a link or communication channel with the selectednetwork device 102. After identifying the linkednetwork devices 102 for the selectednetwork device 102, the networkerror correction device 104 generates a list of linkednetwork device identifiers 118 for the identifiednetwork devices 102. - At
operation 210, the networkerror correction device 104 identifies device setting values associated with the linkednetwork devices 102. Once the networkerror correction device 104 identifies theother network devices 102 that communicate with the selectednetwork device 102, the networkerror correction device 104 uses thenetwork traffic information 128 to identify anydevice setting values 120 that are used for communicating with the identifiednetwork devices 102. For example, the networkerror correction device 104 may identify IP addresses that are used for communicating with each of the identifiednetwork devices 102. In other examples, the networkerror correction device 104 may identify any other suitable type of device setting value or information that can be used to communicate with anetwork device 102. - At
operation 212, the networkerror correction device 104 identifies error correction instructions for the linkednetwork devices 102. Here, the networkerror correction device 104 identifies instructions for rerouting data traffic in the event that anetwork device 102 is unavailable or has issues. For example, the networkerror correction device 104 may identify anyalternative network devices 102 and communication channels in thenetwork traffic information 128 that can be used to substitute one of the linkednetwork devices 102. In some embodiments, the networkerror correction device 104 may receive user input that specifiesalternative network devices 102 and communication channels that can be used to substitute one of the linkednetwork devices 102. In some embodiments, after identifying analternative network devices 102, the networkerror correction device 104 may obtain or generate machine-executable code for rerouting data traffic to the identifiedalternative network device 102. For example, the networkerror correction device 104 may generate machine-executable code or scripts that modify the IP address for outbound data traffic to reroute the data traffic to thealternative network device 102. In other examples, the networkerror correction device 104 may generate any other suitable type of machine-executable code or scripts for rerouting data traffic to analternative network device 102. - At
operation 214, the networkerror correction device 104 generates anode 302 in thecomputer network map 112 for thenetwork device 102. Here, the networkerror correction device 104 begins by adding a representation of anode 302 tocomputer network map 112. The networkerror correction device 104 then addsedges 304 that connect tonodes 302 that representother network devices 102 that have a communication channel with thenetwork device 102. The networkerror correction device 104 then generatesnode properties 114 for thenetwork device 102. In one embodiment, thenode properties 114 may comprise anetwork device identifier 116 for the selectednetwork device 102, linkednetwork device identifiers 118 for the linkednetwork devices 102,device setting values 120 for communicating with each of the linkednetwork devices 102,error type identifiers 122 for different types of communication issues,device type identifiers 124 for the linkednetwork devices 102, anderror correction instructions 126 for rerouting data traffic toalternative network devices 102. In other embodiments, thenode properties 114 may further comprise any other suitable type of information. After generating thenode properties 114, the networkerror correction device 104 associates thenode properties 114 with thenode 302 in thecomputer network map 112 that represents thenetwork device 102. - At operation 216, the network
error correction device 104 determines whether to generate anothernode 302 in thecomputer network map 112 for anothernetwork device 102. Here, the networkerror correction device 104 determines whether anode 302 has been generated for all of thenetwork devices 102 that were identified inoperation 202. The networkerror correction device 104 will determine to generate anothernode 302 when one ormore network devices 102 have not been mapped to anode 302 in thecomputer network map 112. The networkerror correction device 104 returns tooperation 206 in response to determining to generate anothernode 302. In this case, the networkerror correction device 104 returns tooperation 204 to generate anothernode 302 in thecomputer network map 112 for anothernetwork device 102. - The network
error correction device 104 terminatesprocess 200 in response to determining not to generate anothernode 302. In some embodiments, the networkerror correction device 104 outputs thecomputer network map 112 before terminatingprocess 200. For example, the networkerror correction device 104 may output thecomputer network map 112 by storing thecomputer network map 112 inmemory 110. As another example, the networkerror correction device 104 may output thecomputer network map 112 by sending thecomputer network map 112 to anothernetwork device 102 or database. As another example, the networkerror correction device 104 may output thecomputer network map 112 by generating a graphical representation of thecomputer network map 112 and displaying the graphical representation on a graphical user interface (e.g. a display screen). An example of a graphical representation of acomputer network map 112 is shown inFIG. 3 . In other examples, the networkerror correction device 104 may output thecomputer network map 112 using any other suitable technique. -
FIG. 4 is a flowchart of an embodiment of networkerror correction process 400. Thecomputer system 100 may employprocess 400 to reroute data traffic in the event that a failed data communication is detected within thenetwork 106. This process generally involves identifying anynetwork devices 102 that are associated with the failed data communication and their correspondingerror correction instructions 126. After identifying the appropriateerror correction instructions 126, the networkerror correction device 104 can then apply the identifiederror correction instructions 126 to reroute data traffic within thenetwork 106. - At
operation 402, the networkerror correction device 104 monitors thenetwork 106 for triggering events. A triggering event corresponds with a communication error betweennetwork devices 102 within thenetwork 106. In one embodiment, the networkerror correction device 104 monitors thenetwork 106 by monitoringnetwork traffic information 128 fornetwork device 102 within thenetwork 106. For example, the networkerror correction device 104 may listen for alerts from within thenetwork 106 that indicate a failed communication betweennetwork devices 102. In this example, the networkerror correction device 104 detects a triggering event in response to receiving an alert that indicates a failed communication between a pair ofnetwork devices 102. As another example, the networkerror correction device 104 may use historicalnetwork traffic information 128 to detect triggering events. In this example, the networkerror correction device 104 first obtains historicalnetwork traffic information 128 that comprises information about previous data communications within thenetwork 106. The networkerror correction device 104 then obtains currentnetwork traffic information 128 that comprises information about the current data communications within thenetwork 106. The networkerror correction device 104 may then detect a triggering event based on any decreases in data communications betweennetwork devices 102. For example, the networkerror correction device 104 may determine that the current data traffic between afirst network device 102 and asecond network device 102 is less than the historical or average data traffic between thefirst network device 102 and thesecond network device 102. In other examples, the networkerror correction device 104 may use any other suitable technique to monitor thenetwork 106 and to detect triggering events within thenetwork 106. - At operation 404, the network
error correction device 104 determines whether a triggering event has been detected. The networkerror correction device 104 returns tooperation 402 in response to determining that a triggering event has not been detected. In this case, the networkerror correction device 104 returns tooperation 402 to continue monitoring thenetwork 106 for triggering events. The networkerror correction device 104 proceeds tooperation 406 in response to determining that a triggering event has been detected. In this case, the networkerror correction device 104 proceeds tooperation 406 to identify corrective actions for resolving any failed communications within thenetwork 106. - At
operation 406, the networkerror correction device 104 identifies anetwork device 102 that is associated with the triggering event. As an example, the networkerror correction device 104 may determine that the triggering event was caused by a communication error between afirst network device 102 and asecond network device 102. In this case, the networkerror correction device 104 will identify anetwork device identifier 116 that corresponds with thefirst network device 102. - At
operation 408, the networkerror correction device 104 identifies a linkednetwork device 102 that is associated with the triggering event. Continuing with the previous example, the networkerror correction device 104 identifies theother network device 102 that was associated with the failed communications as a linkednetwork device 102. In this example, the networkerror correction device 104 identifies a linkednetwork device identifier 118 for thesecond network device 102. - At
operation 410, the networkerror correction device 104 identifieserror correction instructions 126 for the linkednetwork device 102. Continuing with the previous example, after identifying thenetwork device identifier 116 for thefirst network device 102, the networkerror correction device 104 then uses thenetwork device identifier 116 to identify anode 302 in thecomputer network map 112 and itscorresponding node properties 114. After identifying thenode properties 114 for thefirst network device 102, the networkerror correction device 104 identifies an entry in thenode properties 114 that corresponds with then linkednetwork device identifier 118 that was determined inoperation 408. The networkerror correction device 104 then identifies theerror correction instructions 126 that are associated with the entry for the linkednetwork device identifier 118. The identifiederror correction instructions 126 comprise instructions for rerouting data traffic from thesecond network device 102 to athird network device 102. For example, theerror correction instructions 126 may comprise an address (e.g. IP address) for sending data traffic to thethird network device 102. - In some embodiments, multiple
error correction instructions 126 may be associated with a linkednetwork device 102 based on the type of communication error that occurred. In this example, each set oferror correction instructions 126 is associated with a different error type (i.e. error type identifier 122). In this case, the networkerror correction device 104 first identifies the type of communication error that caused the triggering event and then identifies theerror correction instructions 126 that are linked with the correspondingerror type identifier 122. - At operation 412, the network
error correction device 104 applies theerror correction instructions 126. Continuing with the previous example, applying theerror correction instructions 126 may suspend sending data traffic to the address associated with thesecond network device 102, and instead, reroute data traffic to the address associated with thethird network device 102. In some embodiments where theerror correction instructions 126 comprise machine-executable code, the networkerror correction device 104 may execute the machine-executable code to apply theerror correction instructions 126. - In some embodiments, the network
error correction device 104 may update thenode properties 114 after applying theerror correction instructions 126. For example, the networkerror correction device 104 may update thenode properties 114 by adding a linkednetwork device identifier 118, device setting values 120 (e.g. an address), anderror correction instructions 126 for thenetwork device 102 where data traffic is being rerouted to in thenode properties 114. This process allows the networkerror correction device 104 to maintain a contingency plan in event that there is a communication failure with thealternative network device 102. - At operation 414, the network
error correction device 104 determines whether to select another linkednetwork device 102. Here, the networkerror correction device 104 checks whether there are any other linkednetwork devices 102 linked with thenetwork device 102 and the triggering event. The networkerror correction device 104 will determine to select another linkednetwork device 102 when data traffic has not been rerouted for a linkednetwork device 102 that is associated with the triggering event. The networkerror correction device 104 returns tooperation 408 in response to determining to select another linkednetwork device 102. In this case, the networkerror correction device 104 returns tooperation 408 to repeat the process of rerouting data traffic for another linkednetwork device 102. The networkerror correction device 104 terminatesprocess 400 in response to determining not to select another linkednetwork device 102. In this case, the networkerror correction device 104 determines that no other linkednetwork devices 102 have been affected and no further actions are necessary. -
FIG. 5 is an embodiment of a networkerror correction device 104 for thecomputer system 100. As an example, the networkerror correction device 104 may be a server, an access point, or a computer. The networkerror correction device 104 comprises aprocessor 502, amemory 110, and anetwork interface 504. The networkerror correction device 104 may be configured as shown or in any other suitable configuration. - The
processor 502 is a hardware device that comprises one or more processors operably coupled to thememory 110. Theprocessor 502 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). Theprocessor 502 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. Theprocessor 502 is communicatively coupled to and in signal communication with thememory 110 and thenetwork interface 504. The one or more processors are configured to process data and may be implemented in hardware or software. For example, theprocessor 502 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Theprocessor 502 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. - The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute
error detection instructions 506 to implement theerror detection engine 108. In this way,processor 502 may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, theerror detection engine 108 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. Theerror detection engine 108 is configured to operate as described inFIGS. 1-4 . For example, theerror detection engine 108 may be configured to perform the operations ofprocesses FIGS. 2 and 4 , respectively. - The
memory 110 is a hardware device that is operable to store any of the information described above with respect toFIGS. 1-4 along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by theprocessor 502. Thememory 110 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. Thememory 110 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). - The
memory 110 is operable to storeerror detection instructions 506, computer network maps 112,node properties 114,network traffic information 128, and/or any other data or instructions. Theerror detection instructions 506 may comprise any suitable set of instructions, logic, rules, or code operable to execute theerror detection engine 108. The computer network maps 112, thenode properties 114, and thenetwork traffic information 128 are configured similar to the computer network maps 112, thenode properties 114, and thenetwork traffic information 128 described inFIGS. 1-4 , respectively. - The
network interface 504 is a hardware device that is configured to enable wired and/or wireless communications. Thenetwork interface 504 is configured to communicate data betweennetwork devices 102 and other devices, systems, or domains. For example, thenetwork interface 504 may comprise an NFC interface, a Bluetooth interface, a Zigbee interface, a Z-wave interface, a radio-frequency identification (RFID) interface, a WIFI interface, a LAN interface, a WAN interface, a PAN interface, a modem, a switch, or a router. Theprocessor 502 is configured to send and receive data using thenetwork interface 504. Thenetwork interface 504 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art. - While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated with another system or certain features may be omitted, or not implemented.
- In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
- To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/185,196 US11792095B1 (en) | 2022-03-27 | 2023-03-16 | Computer network architecture mapping using metadata |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/705,340 US11658889B1 (en) | 2022-03-27 | 2022-03-27 | Computer network architecture mapping using metadata |
US18/185,196 US11792095B1 (en) | 2022-03-27 | 2023-03-16 | Computer network architecture mapping using metadata |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/705,340 Continuation US11658889B1 (en) | 2022-03-27 | 2022-03-27 | Computer network architecture mapping using metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230327965A1 true US20230327965A1 (en) | 2023-10-12 |
US11792095B1 US11792095B1 (en) | 2023-10-17 |
Family
ID=86385390
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/705,340 Active US11658889B1 (en) | 2022-03-27 | 2022-03-27 | Computer network architecture mapping using metadata |
US18/185,196 Active US11792095B1 (en) | 2022-03-27 | 2023-03-16 | Computer network architecture mapping using metadata |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/705,340 Active US11658889B1 (en) | 2022-03-27 | 2022-03-27 | Computer network architecture mapping using metadata |
Country Status (1)
Country | Link |
---|---|
US (2) | US11658889B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11658889B1 (en) * | 2022-03-27 | 2023-05-23 | Bank Of America Corporation | Computer network architecture mapping using metadata |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827411A (en) | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
JP3224226B2 (en) | 1989-09-22 | 2001-10-29 | 株式会社リコー | Fault diagnosis expert system |
ATE194237T1 (en) | 1990-09-17 | 2000-07-15 | Cabletron Systems Inc | METHOD FOR ISOLATING A NETWORK FAULT |
US5666481A (en) | 1993-02-26 | 1997-09-09 | Cabletron Systems, Inc. | Method and apparatus for resolving faults in communications networks |
US5539877A (en) | 1994-06-27 | 1996-07-23 | International Business Machine Corporation | Problem determination method for local area network systems |
US5872911A (en) | 1995-12-29 | 1999-02-16 | Mci Communications Corporations | Method and system of service impact analysis in a communications network |
AUPN786896A0 (en) | 1996-02-02 | 1996-02-29 | Telstra Corporation Limited | A network fault system |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5864662A (en) | 1996-06-28 | 1999-01-26 | Mci Communication Corporation | System and method for reported root cause analysis |
US6012152A (en) | 1996-11-27 | 2000-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Software fault management system |
US6393386B1 (en) | 1998-03-26 | 2002-05-21 | Visual Networks Technologies, Inc. | Dynamic modeling of complex networks and prediction of impacts of faults therein |
US7500143B2 (en) | 2000-05-05 | 2009-03-03 | Computer Associates Think, Inc. | Systems and methods for managing and analyzing faults in computer networks |
US7340649B2 (en) | 2003-03-20 | 2008-03-04 | Dell Products L.P. | System and method for determining fault isolation in an enterprise computing system |
US7191364B2 (en) | 2003-11-14 | 2007-03-13 | Microsoft Corporation | Automatic root cause analysis and diagnostics engine |
US7254750B1 (en) | 2004-03-30 | 2007-08-07 | Unisys Corporation | Health trend analysis method on utilization of network resources |
US7552447B2 (en) | 2004-05-26 | 2009-06-23 | International Business Machines Corporation | System and method for using root cause analysis to generate a representation of resource dependencies |
US7516025B1 (en) | 2004-06-29 | 2009-04-07 | Sun Microsystems, Inc. | System and method for providing a data structure representative of a fault tree |
US7379846B1 (en) | 2004-06-29 | 2008-05-27 | Sun Microsystems, Inc. | System and method for automated problem diagnosis |
US7200525B1 (en) | 2004-06-29 | 2007-04-03 | Sun Microsystems, Inc. | System and method for generating a data structure representative of a fault tree |
US7203624B2 (en) | 2004-11-23 | 2007-04-10 | Dba Infopower, Inc. | Real-time database performance and availability change root cause analysis method and system |
US20060117059A1 (en) | 2004-11-30 | 2006-06-01 | Tidal Software, Inc. | System and method for monitoring and managing performance and availability data from multiple data providers using a plurality of executable decision trees to consolidate, correlate, and diagnose said data |
US7380172B2 (en) | 2004-12-31 | 2008-05-27 | Microsoft Corporation | Expert software diagnostic tool |
US7620856B2 (en) | 2006-12-28 | 2009-11-17 | Sap Portals Israel Ltd. | Framework for automated testing of enterprise computer systems |
US8135988B2 (en) | 2007-10-19 | 2012-03-13 | Oracle International Corporation | Non-intrusive gathering of diagnostic data using asynchronous mechanisms |
US7856575B2 (en) | 2007-10-26 | 2010-12-21 | International Business Machines Corporation | Collaborative troubleshooting computer systems using fault tree analysis |
US8418001B2 (en) | 2007-11-08 | 2013-04-09 | Siemens Aktiengesellschaft | Context-related troubleshooting |
US8386848B2 (en) | 2009-05-11 | 2013-02-26 | Microsoft Corporation | Root cause analysis for complex event processing |
JP5347949B2 (en) | 2009-12-24 | 2013-11-20 | 富士通株式会社 | Troubleshooting program and troubleshooting method |
JP5880866B2 (en) | 2010-04-22 | 2016-03-09 | 日本電気株式会社 | Method, system, and program for failure tree analysis of runtime system |
CN103020436B (en) | 2012-11-30 | 2015-08-12 | 工业和信息化部电子第五研究所 | Component failure zero analytical approach and system |
CN103049346B (en) | 2012-12-11 | 2015-03-18 | 工业和信息化部电子第五研究所 | Failure physics based component fault tree construction method and system |
WO2014120207A1 (en) | 2013-01-31 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Dependency monitoring |
US10212022B2 (en) | 2013-09-13 | 2019-02-19 | Microsoft Technology Licensing, Llc | Enhanced network virtualization using metadata in encapsulation header |
US20170317899A1 (en) * | 2016-04-29 | 2017-11-02 | Ca, Inc. | Using traffic data to determine network topology |
US10331542B2 (en) | 2016-06-23 | 2019-06-25 | International Business Machines Corporation | System and method for detecting and alerting unexpected behavior of software applications |
US10565045B2 (en) | 2017-06-28 | 2020-02-18 | Microsoft Technology Licensing, Llc | Modularized collaborative performance issue diagnostic system |
US10521289B2 (en) | 2017-10-31 | 2019-12-31 | Hewlett Packard Enterprise Development Lp | Identification of performance affecting flaws in a computing system |
US10810074B2 (en) | 2018-12-19 | 2020-10-20 | Microsoft Technology Licensing, Llc | Unified error monitoring, alerting, and debugging of distributed systems |
US10922164B2 (en) | 2019-04-30 | 2021-02-16 | Accenture Global Solutions Limited | Fault analysis and prediction using empirical architecture analytics |
US11658889B1 (en) * | 2022-03-27 | 2023-05-23 | Bank Of America Corporation | Computer network architecture mapping using metadata |
-
2022
- 2022-03-27 US US17/705,340 patent/US11658889B1/en active Active
-
2023
- 2023-03-16 US US18/185,196 patent/US11792095B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11658889B1 (en) | 2023-05-23 |
US11792095B1 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200195511A1 (en) | Network management method and related device | |
TWI728036B (en) | Information processing method, device and system | |
US11210308B2 (en) | Metadata tables for time-series data management | |
US20160352578A1 (en) | System and method for adaptive paths locator for virtual network function links | |
JP6325001B2 (en) | Method and system using recursive event listeners in nodes of hierarchical data structures | |
CN111258627B (en) | Interface document generation method and device | |
CN110597918B (en) | Account management method, account management device and computer readable storage medium | |
US20240039782A1 (en) | Computer network troubleshooting and diagnostics using metadata | |
WO2015081908A2 (en) | Method, device, and system for updating parameter value | |
US10771372B2 (en) | Transmitting test traffic on a communication link | |
US11792095B1 (en) | Computer network architecture mapping using metadata | |
WO2019141089A1 (en) | Network alarm method, device, system and terminal | |
JP2019525604A (en) | Network function NF management method and NF management apparatus | |
US20180324132A1 (en) | System and method for automating actions in distributed computing | |
US11838176B1 (en) | Provisioning and deploying RAN applications in a RAN system | |
WO2016091156A1 (en) | Node fault judgement method and device | |
CN110971702A (en) | Service calling method and device, computer equipment and storage medium | |
CN110933188A (en) | Remote service calling method, system, server and storage medium | |
US10659289B2 (en) | System and method for event processing order guarantee | |
US20230280997A1 (en) | Automated process and system update scheduling in a computer network | |
US11151199B2 (en) | Query result overlap detection using unique identifiers | |
CN113626295A (en) | Pressure measurement data processing method and system and computer readable storage medium | |
US11922161B2 (en) | Scheduling a pausable automated process in a computer network | |
US20230224275A1 (en) | Preemptive threat detection for an information system | |
US20240205807A1 (en) | Admission control for ric components in a ran system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHATTACHARJEE, SUNNY;JAIN, RAKESH;GARAGA, ADI NARAYANA RAO;AND OTHERS;SIGNING DATES FROM 20220310 TO 20220325;REEL/FRAME:063006/0760 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PONNANAKKAL, SIDHAN;REEL/FRAME:064650/0768 Effective date: 20230728 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |