US7027411B1 - Method and system for identifying and processing changes to a network topology - Google Patents

Method and system for identifying and processing changes to a network topology Download PDF

Info

Publication number
US7027411B1
US7027411B1 US09/703,942 US70394200A US7027411B1 US 7027411 B1 US7027411 B1 US 7027411B1 US 70394200 A US70394200 A US 70394200A US 7027411 B1 US7027411 B1 US 7027411B1
Authority
US
United States
Prior art keywords
tuples
topology
new
list
network
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.)
Expired - Lifetime, expires
Application number
US09/703,942
Inventor
Eric A Pulsipher
Joseph R Hunt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
PTAB case IPR2015-00717 filed (Settlement) litigation Critical https://portal.unifiedpatents.com/ptab/case/IPR2015-00717 Petitioner: "Unified Patents PTAB Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
US case filed in California Northern District Court litigation https://portal.unifiedpatents.com/litigation/California%20Northern%20District%20Court/case/5%3A14-cv-00570 Source: District Court Jurisdiction: California Northern District Court "Unified Patents Litigation Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
First worldwide family litigation filed litigation https://patents.darts-ip.com/?family=24827404&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US7027411(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to US09/703,942 priority Critical patent/US7027411B1/en
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HUNT, JOSEPH R., PULSIPHER, ERIC A.
Priority to GB0125507A priority patent/GB2371440B/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Publication of US7027411B1 publication Critical patent/US7027411B1/en
Application granted granted Critical
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY CORRECTIVE ASSIGNMENT TO REVERSE THE ASSIGNOR AND ASSIGNEE INCORRECTLY ENTERED PREVIOUSLY RECORDED AT REEL: 031818 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to HEWLETT PACKARD ENTERPRISE COMPANY reassignment HEWLETT PACKARD ENTERPRISE COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT PACKARD ENTERPRISE COMPANY
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the present invention relates generally to computer networks. More particularly, it relates to a method and system for identifying changes to a network topology and for acting upon the network based on the changes.
  • Switching technology was developed in order to reduce congestion and associated competition for the available bandwidth. Switching technology works by restricting traffic. Instead of broadcasting a given data packet to all parts of the network, switches are used to control data flow such that the data packet is sent only along those network segments necessary to deliver it to the target node. The smaller volume of traffic on any given segment results in few packet collisions on that segment and, thus, the smoother and faster delivery of data. A choice between alternative paths is usually possible and is typically made based upon current traffic patterns.
  • the intelligent routing of data packets with resultant reduction in network congestion can only be effected if the network topology is known.
  • the topology of a network is a description of the network which includes the location of and interconnections between nodes on the network.
  • the word “topology” refers to either the physical or logical layout of the network, including devices, and their connections in relationship to one another. Information necessary to create the topology layout can be derived from tables stored in network devices such as hubs, bridges, and switches. The information in these tables is in a constant state of flux as new entries are being added and old entries time out. Many times there simply is not enough information to determine where to place a particular device.
  • Switches examine each data packet that they receive, read the source addresses, and log those addresses into tables along with the switch ports on which the packets were received. If a packet is received with a target address without an entry in the switches table, the switch receiving it broadcasts that packet to each of its ports. When the switch receives a reply, it will have identified where the new node lies.
  • this table can become quite large and may require a significant amount of the switch's resources to develop and maintain.
  • the physical layout of devices and their connections are typically in a state of constant change. Devices are continually being removed from, added to, and moved to new physical locations on the network. To be effectively managed, the topology of a network must be accurately and efficiently ascertained, as well as maintained.
  • Existing mapping methods have limitations that prevent them from accurately mapping-topological relationships.
  • Multiple connectivity problems are one sort of difficulty encountered by existing methods. For example, connectors such as routers, switches, and bridges may be interconnected devices in a network. Some existing methods assume that these devices have only a single connection between them. In newer devices, however, it is common for manufacturers to provide multiple connections between devices to improve network efficiency and to increase capacity of links between the devices. The multiple connectivity allows the devices to maintain connection in case one connection fails. Methods that do not consider multiple connectivity do not present a complete and accurate topological map of the network.
  • mapping systems require a complete copy of the topological database to be stored in memory.
  • the database is so large that this really is not feasible, because it requires the computer to be very large and expensive.
  • Still another disadvantage of existing methods is that they use a continuous polling paradigm. These methods continuously poll network addresses throughout the day and make decisions based on those continuous polling results. This creates traffic on the network that slows other processes.
  • Network layer 1 may represent the physical cabling of the network
  • layer 2 may represent the device connectivity
  • layer 3 may represent a higher level of abstraction, such as the groupings of devices into regions.
  • IP internet protocol
  • IP domains may co-exist on the same lower layer networking infrastructure.
  • LAN virtual local area network
  • a system may have any number of different IP domains sharing the same physical connectivity.
  • a method and system are disclosed for mapping the topology of a network having interconnected nodes by identifying changes in the network and updating a stored network topology based on the changes.
  • the nodal connections are represented by data tuples that store information such as a host identifier, a connector interface, and a port specification for each connection.
  • a topology database stores an existing topology of a network.
  • a topology converter accesses the topology database and converts the existing topology into a list of current tuples.
  • a connection calculator calculates tuples to represent connections in the new topology.
  • the topology converter receives the new tuples, identifies changes to the topology, and updates the topology database using the new tuples.
  • the topology converter identifies duplicate tuples that appear in both the new tuples and the existing tuples and marks the duplicate tuples to reflect that no change has occurred to these connections.
  • the topology converter attempts to resolve swapped port conditions and searches for new singly-heard and multi-heard host link tuples in the list of existing tuples.
  • the topology converter also searches for new conflict link tuples in the existing tuples.
  • the topology converter updates the topology database with the new topology.
  • FIG. 1 is a drawing of a typical topological bus segment for representing the connectivity of nodes on a network.
  • FIG. 2 is a drawing of a typical topological serial segment for representing the connectivity of nodes on a network.
  • FIG. 3 is a drawing of a typical topological star segment for representing the connectivity of nodes on a network.
  • FIG. 4 is a drawing of another typical topological star segment for representing the connectivity of nodes on a network.
  • FIG. 5 is a drawing of the connectivity of an example network system.
  • FIG. 6 is a drawing of the connectivity of another example network system.
  • FIG. 7 is a block diagram of the system.
  • FIG. 8 is a flow chart of the method of the system.
  • FIG. 9 is a flow chart of the method used by the tuple manager.
  • FIG. 10 is a flow chart of the method used by the connection calculator.
  • FIG. 11 is a flow chart of the first weeding phase of the method used by the connection calculator.
  • FIGS. 12 a–d are flow charts of an infrastructure-building phase of the method used by the connection calculator.
  • FIG. 13 is a flow chart of a second weeding phase of the method used by the connection calculator.
  • FIG. 14 is a flow chart of the noise reduction phase of the method used by the connection calculator.
  • FIG. 15 is a flow chart of the look-for phase of the method used by the connection calculator.
  • FIGS. 16 a–b are flow charts of the consolidation phase of the method used by the connection calculator.
  • FIG. 17 is a flow chart of the method used by the topology converter.
  • FIGS. 18 a–b are flow charts of the morph topo phase of the method used by the topology converter.
  • FIG. 19 is a flow chart of the duplication discard phase of the method used by the topology converter.
  • FIGS. 20 a–d are flow charts of the identify different tuples phase of the method used by the topology converter.
  • the system provides an improved method for creating topological maps of communication networks based.
  • Connectivity information is retrieved from the network nodes and stored as “tuples” to track specifically the desired information necessary to map the topology.
  • These light weight data structures may store the host identifier, interface index, and a port. From this tuple information, the topology may be determined.
  • a tuple may be a binary element insofar as it has two parts representing the two nodes on either end of a network link or segment.
  • a “tuco” refers to a tuple component, such as half of a binary tuple.
  • a node is any electronic component, such as a connector or a host, or combination of electronic components with their interconnections.
  • a connector is any network device other than a host, including a switching device.
  • a switching device is one type of connector and refers to any device that controls the flow of messages on a network. Switching devices include, but are not limited to, any of the following devices: repeaters, hubs, routers, bridges, and switches.
  • tuple refers to any collection of assorted data. Tuples may be used to track information about network topology by storing data from network nodes.
  • tuples may include a host identifier, interface information, and a port specification for each node.
  • the port specification (also described as the group/port) may include a group number and a port number, or just a port number, depending upon the manufacturer's specifications.
  • a binary tuple may include this information about two nodes as a means of showing the connectivity between them, whether the nodes are connected directly or indirectly through other nodes.
  • a “conn-to-conn” tuple refers to a tuple that has connectivity data about connector nodes.
  • a “conn-to-host” tuple refers to a tuple that has connectivity data about a connector node and a host node.
  • tuples may have data about more than two nodes; that is, they may be n-ary tuples, such as those used with respect to shared media connections described herein.
  • a “singly-heard host” refers to a host, such as a workstation, PC, terminal, printer, other device, etc., that is connected directly to a connector, such as a switching device.
  • a singly heard host link refers to the link, also referred to as a segment, between a connector and an shh.
  • a “multi-heard host” refers to hosts that are heard by a connector on the same port that other hosts are heard.
  • a multi-heard host link refers to the link between the connector and an mhh.
  • a link generally refers to the connection between nodes.
  • a segment is a link that may include a shared media connection.
  • FIG. 1 is a drawing of a typical topological bus segment 100 for representing the connectivity of nodes on a network 110 .
  • first and second hosts 121 , 122 , as well as a first port 131 of a first connector 140 are interconnected via the network 110 .
  • the bus segment 100 comprises the first and second hosts 121 , 122 connected to the first port 131 of the first connector 140 .
  • FIG. 2 is a drawing of a typical topological serial segment 200 for representing the connectivity of nodes on the network 110 .
  • the first host 121 comprises a second port 132 on a second connector 145 which is connected via the network 110 to the first port 131 on the first connector 140 .
  • the serial segment 200 comprises the second port 132 on the second connector 145 connected to the first port 131 on the first connector 140 .
  • FIG. 2 is an example of a connector-to-connector (“conn-to-conn”) relationship.
  • FIG. 3 is a drawing of a typical topological star segment 301 for representing the connectivity of nodes on the network 110 .
  • the first host 121 is connected to the first port 131 of the first connector 140 .
  • the star segment 301 comprises the first host 121 connected to the first port 131 of the first connector 140 .
  • FIG. 3 is an example of a connector-to-host (“conn-to-host”) relationship.
  • FIG. 4 is a drawing of another typical topological star segment 301 for representing the connectivity of nodes on the network 110 .
  • a third host 123 is connected to a third port 133 of the first connector 140 and a fourth host 124 is connected to a fourth port 134 of the first connector 140 .
  • the star segment 301 comprises the first host 121 connected to the first port 131 of the first connector 140 , the third host 123 connected to the third port 133 of the first connector 140 , and the fourth host 124 connected to the fourth port 134 of the first connector 140 .
  • the star segment 301 comprises, on a given connector, at least one port, wherein one and only one host is connected to that port, and that host.
  • the star segment 301 comprises, on a given connector, all ports having one and only one host connected to each port, and those connected hosts. Since the segments, or links, drawn using the topological methods of FIG. 4 resemble a star, they are referred to as star segments.
  • nodes in the figures described above and in subsequent figures are shown as individual electronic devices or ports on connectors. Also, in the figures the nodes are represented as terminals. However, they could also be workstations, personal computers, printers, scanners, or any other electronic device that can be connected to networks 110 .
  • FIG. 5 is a drawing of the connectivity of an example network system.
  • first, third, and fourth hosts 121 , 123 , 124 are connected via the network 110 to first, third, and fourth ports 131 , 133 , 134 respectively, wherein the first, third, and fourth ports 131 , 133 , 134 are located on the first connector 140 .
  • the first, third and fourth hosts 121 , 123 , 124 are singly-heard hosts connected to separate ports 131 , 133 , 134 of a common connector 140 —the first connector 140 .
  • the fifth and sixth hosts 125 , 126 are singly-heard hosts connected to the third and fourth connectors 142 , 143 .
  • the seventh and eighth hosts 127 , 128 are multi-heard hosts connected to the same port 139 of the fifth connector 144 .
  • the multi-heard hosts 127 , 128 illustrate a shared media segment 180 , also referred to as a bus 180 .
  • the second, third, fourth, and fifth connectors 141 , 142 , 143 , 144 are interconnected and illustrate a switch mesh 181 .
  • Each of the connectors in the switch mesh 181 is connected to each other, either directly or indirectly, to create a fully meshed connection.
  • traffic may be dynamically routed to create an efficient flow.
  • FIG. 5 also shows an example of a port aggregation 182 , also referred to as trunking 182 .
  • the first connector 140 is connected via the network 110 to the second connector 141 by two direct links, each of which is connected to different ports on the connectors.
  • One link is connected to the sixth port 136 of the first connector 140 and to the seventh port of the second connector 137 .
  • the other link is connected to fifth port 135 of the first connector 140 and to the eighth port 138 of the second connector 141 .
  • two connectors illustrate the multiple connectivity between nodes.
  • devices such as connectors may be connected via any number of connectors.
  • the system resolves multiple connectivity problems by tracking port information for each connection.
  • FIG. 6 is a drawing of the connectivity of a portion of a network having three connectors 171 , 172 , 173 .
  • a first host 151 is connected directly to the first port 161 of the first connector 171 and the second host 152 is connected to a sixth port 166 of the third connector 173 .
  • the second port 162 of the first connector 171 is connected directly to the third port 163 of the second, or intermediate, connector 172 .
  • the fourth port 164 of the intermediate connector 172 is connected directly to the fifth port 165 of the third connector 173 .
  • FIG. 7 shows a block diagram of the system.
  • FIG. 8 shows a flow chart of the method used by the system to retrieve and update the topology of the network.
  • a tuple manager 300 also referred to as a data miner 300 , gathers 902 data from network nodes and builds 904 tuples to update the current topology.
  • the topology database “topodb” 350 stores the current topology for use by the system.
  • the “neighbor data” database 310 stores new tuple data retrieved by the tuple manager 300 .
  • the connection calculator 320 processes the data in the neighbor data database 310 to determine the new network topology.
  • the connection calculator 320 reduces 906 the tuple data and sends it to the reduced topology relationships database 330 .
  • the topology converter 340 then updates 908 the topology database 350 based on the new tuples sent to the reduced topology relationships database 330 by the connection calculator 320 .
  • FIG. 9 shows a flow chart of one operation of the tuple manager 300 , as described generally by the data gathering 902 and tuple building 904 steps of the method shown in FIG. 8 .
  • the tuple manager 300 receives 910 a signal to gather tuple data.
  • the tuple manager 300 retrieves 912 node information of the current topology stored in the topology database 350 . This information tells the tuple manager 300 which devices or nodes are believed to exist in the system based on the nodes that were detected during a previous query.
  • the tuple manager 300 queries 914 the known nodes to gather the desired information.
  • the connectors may maintain forwarding tables that store connectivity data used to perform the connectors' ordinary functions, such as switching.
  • Other devices may allow the system to perform queries to gather information about the flow of network traffic.
  • This data identifies the devices heard by a connector and the port on which the device was heard.
  • the tuple manager 300 gathers this data by accessing forwarding tables and other information sources for the nodes to determine such information as their physical address, interface information, and the port from which they “hear” other devices. Based on this information, the tuple manager 300 builds 916 tuples and stores 918 them in the “neighbor data” database 310 .
  • Some nodes may have incomplete information. In this case, the partial information is assembled into a tuple and may be used as a “hint” to determine its connectivity later, based on other connections.
  • the tuple manager 300 may also gather 920 additional information about the network or about particular nodes as needed. For example, the connection calculator 320 may require additional node information and may signal the tuple manager 300 to gather that information.
  • FIG. 10 shows a flow chart of the process of the connection calculator 320 , as shown generally in the reduction step 906 of the method shown in FIG. 8 .
  • the connection calculator 320 performs a first weeding phase 922 to identify singly-heard hosts to distinguish them from multi-heard hosts. Singly-heard hosts refer to host devices connected directly to a connector.
  • the connection calculator 320 then performs an infrastructure-building phase 924 to remove redundant connector-to-connector links and to complete the details for partial tuples that are missing information.
  • connection calculator 320 performs a second weeding phase 926 to resolve conflicting reports of singly-heard hosts.
  • the connection calculator 320 then performs a noise reduction phase 928 to remove redundant neighbor information for connector-to-host links.
  • the connection calculator 320 performs a “look for” phase 930 to ask the tuple manager 300 to gather additional data.
  • the tuple data is then consolidated 932 into segment and network containment relationships.
  • the connection calculator 320 may also tag redundant tuples to indicate their relevance to actual connectivity. These redundant tuples may still provide hints to connectivity of other tuples.
  • the connection calculator 320 creates new n-ary tuples (tuples having references to three or more tucos) for shared media segments.
  • FIG. 11 is a flow chart of the connection calculator's first weeding process 922 for distinguishing singly-heard hosts.
  • the purpose of the first weeding process 922 is to identify the direct connections between connectors and hosts; that is, those tuples having a first tuco that is a connector and a second tuco that is a host.
  • the connection calculator 320 looks through the tuple list in the neighbor database 310 , and for each tuple 402 , the connection calculator 320 determines 404 whether the tuple is a connector-to-host (conn-to-host) link tuple.
  • connection calculator 320 concludes 418 that it is a conn-to-conn link and processes 402 the next tuple. If the tuple is a conn-to-host link tuple, then the connection calculator 320 determines 406 whether the connector hears only this particular host on the port identified in the tuple. If the connector hears other hosts on this port, then the tuple is classified 416 as a multi-heard host link (mhhl) tuple.
  • mhhl multi-heard host link
  • connection calculator 320 determines 408 whether the host is heard singly by any other connectors. If no other connectors hear the host as a singly-heard host, then the tuple is classified as a singly-heard host link (shhl) tuple 412 and other tuples for this host are classified 414 as extra host links (ehl).
  • Another tuple for this host may be, for example, an intermediate connector connected indirectly to a host. For example, FIG. 6 shows three connectors 171 , 172 , 173 the first connector is connected directly to the first host 151 .
  • the intermediate connector 172 is indirectly connected to the first host 151 .
  • the tuple data indicates that the intermediate connector 172 is indirectly connected to the host and hears the host from a particular port.
  • An extra host links tuple is created so that this data may be used later in conjunction with other extra host links tuples from devices across the network, to verify connectivity by providing hints about connections.
  • the first weeding process also attempts to identify conflicts. If other connectors hear the host as a singly-heard host, then a conflict arises and the tuple is classified 410 as a singly-heard conflict link (shcl) tuple to be resolved later. This conflict may arise, for example, if a host has been moved within the network, in which case the forwarding table data may no longer be valid. Certain connectors previously connected directly to the host may still indicate that the moved host is connected. When all tuples have been processed 402 to identify singly-heard host links, the first weeding phase 922 is complete.
  • FIGS. 12 a–d show a flow chart of the infrastructure building phase 924 of the connection calculator 320 .
  • the purpose of the infrastructure building phase 924 is to determine how the connectors are set up in the network.
  • the first part of the infrastructure building phase 924 manufactures tuples based on the list of singly-heard host link tuples identified in the first weeding phase 922 .
  • the purpose is to identify the relationship between the connectors in the extra host links tuples and the connectors directly connected to the singly-heard hosts.
  • the connection calculator 320 processes 422 each extra host link that refers to the host. In the illustration of FIG.
  • a conn-to-conn link tuple would represent the connection between the first connector 171 and the intermediate connector 172 .
  • An extra host link tuple would represent the indirect connection between the intermediate connector 172 and the first host 151 .
  • the conn-to-conn link tuple between the first connector 171 and the intermediate connector 172 is an example of an ehlConn-to-shhlConn tuple. If a conn-to-conn link tuple exists 424 for the extra host link connector to the singly-heard host link connector (ehlConn-to-shhlConn), then the connection calculator 320 updates 428 the tuple if it is incomplete.
  • the tuple data may be incomplete and a conn-to-conn link may not exist.
  • a conn-to-conn tuple does not exist for the ehlConn-to-shhlConn, then such a tuple is created 426 .
  • the connection calculator 320 After processing extra host links for singly-heard host links, the connection calculator 320 considers 430 each connector (referred to as conn1) in the tuples to determine the relationship between connectors. As illustrated in FIG. 6 , a single connector may be connected directly and indirectly to multiple other connectors. In FIG. 6 , the first connector 151 is connected to the intermediate connector 171 directly and also to the third connector 173 indirectly. The third connector 173 hears the first host 151 on the same part 165 that it hears the first connector 171 and the intermediate connector 172 . The infrastructure building phase 924 tries to determine the relationship between other connectors heard on the same port of conn1.
  • connection calculator 320 can make inferences regarding the overall connection between connectors.
  • connection calculator 320 For every conn1, the connection calculator 320 considers 432 every other connector (conn2) to determine whether a conn1-to-conn2 tuple exists. If conn1-to-conn2 does not exist, then the connection calculator 320 considers 436 every other conn-to-conn tuple containing conn2. The other connector on this tuple may be referred to as conn3. If conn2 hears conn3 on a unique port 438 and if conn1 also hears conn3 440 , then the connection calculator 320 creates 442 a tuple for conn1-to-conn2 in the connector-to-connector links tuple list.
  • the connection calculator 320 processes 444 each conn1-to-conn2 links tuple to ensure that they have complete port data. For each incomplete tuple 446 , the connection calculator 320 looks 448 for a different tuple involving conn1 in the extra host links tupleson a different port. If a different tuple is found 450 , then the connection calculator 320 determines 452 whether conn2 also hears the host. If conn2 does hear the host, then the connection calculator 320 completes the missing port data for conn2. If conn2 does not also hear the host 452 , then the connection calculator 320 continues looking 448 through different tuples involving conn1 in extra host links on different ports.
  • the connection calculator 320 processes 456 each conn-to-conn links tuple. The purpose of this sub-phase is to attempt to disprove invalid conn-to-conn links.
  • the connection calculator 320 considers 458 conn1 and conn2 of each conn-to-conn links tuple. Every other connector in conn-to-conn links may be referred to as testconn.
  • the connection calculator 320 determines 462 whether the testconn hears conn1 and conn2 on different groups/ports. If testconn hears conn1 and conn2 on different ports, then the tuple is moved to extraconnlinks (ecl) 464 . Otherwise, the connection calculator 320 continues processing 460 the remaining testconns.
  • FIG. 13 shows a flow chart of the second weeding phase 926 .
  • the purpose of the second weeding phase 926 is to attempt to resolve conflicts involving singly-heard hosts identified in the first weeding phase 922 .
  • the second weeding phase 926 reviews the tuples created during the infrastructure-building phase 924 involving the connector and host in question and attempts to disprove the reported conflict.
  • the connection calculator 320 processes 466 each singleConflictLinks (scl) tuple (sometimes referred to as the search tuple) and considers 468 conn1 and host1 of the tuple.
  • the connection calculator 320 For each extra host links tuple containing host1 470 , the connection calculator 320 considers 472 conn2 of the tuple. If there is a tuple in conn-to-conn links for conn2 and conn1 474 , and if there is a conn2-to-conn1 tuple in the extra host links tuples 476 , and if the port is the same for conn2 hearing conn1 and host1 478 , then the search tuple is moved 480 into the singly heard host links and other tuples containing host1 are removed 482 from the singleConflictLinks.
  • FIG. 14 shows a flow chart of the noise reduction phase 928 .
  • the purpose of the noise reduction phase 928 is to handle those connections in which a connector is not directly connected to a host or to another connector.
  • networking technology may employ shared media connections between connectors, rather than dedicated media connectors.
  • the entries in the forwarding tables for connectors attached to the shared media connection will include every node accessing the shared media connection and may not present a useful or accurate representation of the nodal connection. For example, if the network configuration in FIG. 6 used a shared media connection between the first connector 171 and the intermediate connector 172 , then the first connector is not really connected directly to the intermediate connector because other devices (not shown in FIG. 6 ) may also use the shared media connection.
  • These other devices may include web servers, other connectors, other subnetworks, etc. Tuples will be created for the connectors 171 , 172 on opposing ends of the shared media. In this situation, it is inefficient to maintain point-to-point binary tuples for every connection.
  • the noise reduction phase 928 disproves invalid tuples created by the shared media connections.
  • multiHeardLinks (mhl) tuples also referred to as the search tuple 484 .
  • conn1 and host1 are considered 486 .
  • conn2 is considered 490 .
  • FIG. 15 shows a flow chart for the “look for” phase 930 .
  • the purpose of this phase is to complete missing data for mhhl tuples.
  • the network may simply have no traffic between certain nodes, in which case data might not be stored in forwarding tables.
  • a forwarding table may not have sufficient room to store all of the required information and might delete data on a FIFO basis.
  • the connection calculator 320 instructs the tuple manager 300 to query specific nodes to retrieve the missing data. Data that was not stored in a forwarding table on the first interrogation may be present on a subsequent query.
  • the connection calculator 320 For each mhhl tuple 500 , the connection calculator 320 considers 502 conn1 and host1. If the conn1 group/port is already in an “alreadyDidLookfors” list, then a list is created 508 for all connectors in conn-to-conn links that are heard by conn1 on the same group/port as host1. For each connector (conn2) in the list 510 , the connection calculator 320 determines 512 whether there is a conn2-to-host1 tuple in the mhhl tuples. If there is not such a tuple, then the connection calculator 320 initiates a look-for for conn2-to-host1 via the tuple manager 300 .
  • the conn1 group/port tuco is added 516 to an alreadyDidLookfors list.
  • the system may ask a user to verify or clarify information about connectivity. For example, the system may show the user the perceived connectivity or the unresolved connectivity issues and request the user to add information as appropriate.
  • connection calculator 330 collects the tuple information from the tuple manager 300 , builds tuples new tuples and removes redundant or unnecessary tuples to produce the new topology. This topology may have incomplete tuples possibly resulting from extraneous information that the connection calculator 330 could not disprove.
  • the connection calculator 330 can request the tuple manager 300 to obtain additional information about particular nodes or it may also request a user to refine the topology by adding or removing tuples.
  • tuples marked as non-essential may be removed from the new topology to save space and to simply the topology.
  • connection calculator 330 is not confused by multiple connectivity situations such as port aggregation 182 or switch meshing 181 as shown in FIG. 5 , because the tuples represent point-to-point, or neighbor-to-neighbor, connectivity showing each connection in the network. This point-to-point connectivity concept also helps enable the system to avoid difficulties that occur in systems that track higher levels of abstraction, such as layer 3 connectivity. Also, the tuples may contain only selected information to minimize the storage space required for the topology.
  • FIGS. 16 a–b show a flow chart of the consolidation phase 932 .
  • the purpose of this phase is to consolidate the tuples that involve shared media connections.
  • a considerable number of tuples involving shared media may remain.
  • an n-ary tuple is created for the link using a tuco for each connector and each host connected thereto. For each mhhl tuple 518 , conn1 and host1 are considered 520 .
  • each singly-heard host links (shhl) tuple also referred to as a singlyHeardLinks (shl) tuple
  • the connector and host are considered 542 . If there is no existing singlyHeardSegments (shs) tuple for the connector 544 , then an shs tuple is created 546 . The host tuco is then added to the shs 548 .
  • FIG. 17 shows a flow chart of the method used by the topology converter 340 , as described generally by the topology update step 908 of the method shown in FIG. 8 .
  • the topology converter 340 converts 934 the topology into tuple lists, also referred to as the “morph topo” phase 934 . It then compares 936 the list from the topology currently stored in the topology database 350 with the new list generated by the connection calculator 320 and discards 936 identical tuples in what is also referred to as the “discard duplicates” phase 936 . It then takes action 938 on the changes in the topology as determined by the changes in the tuple lists, in what is also referred to as the “identify different tuples” phase 938 .
  • FIG. 18 a shows a flow chart for the “morph topo” phase 934 .
  • the topology converter 340 determines 552 whether the node is a connector. If the node is a connector, then for each connected interface (conniface) of the connector (conn1) 554 , the topology converter 340 determines 556 whether the conniface is connected to a star segment. If it is connected to a star segment, then for every other interface in the segment 558 , the topology converter 340 determines 560 whether there is an existing shs tuple, referred to as the “topo tuple” for the segment.
  • topology converter 340 creates 562 a topo shs tuple.
  • the tuco for the interface's host-to-topo shs is then added 564 to the topo shs tuple.
  • the topology converter 340 determines 568 whether there is an existing mhs tuple for conn1. If there is not an existing mhs tuple for conn1, then a topo mhs tuple is created 570 . A tuco is added 572 for the host to the mhs tuple.
  • the topology converter After processing the bus segment, star segment, and conn-to-conn segment, for each conniface 554 , the topology converter 340 proceeds to the next node 550 .
  • FIG. 18 b shows a continuation of the flow chart of FIG. 18 a showing the steps of the method when the topology converter 340 determines that the node is not a connector 552 . If the node is in the default segment, then an “unheardOfLinks” tuple is created 582 and the topology converter proceeds to the next node 550 . If the node is not in the default segment 580 , then the topology converter 340 determines whether the node is in a star segment 584 . If the node is in a star segment, then if there is not already an shs tuple, the topology converter 340 creates 588 an shs tuple. The tuco for the node is then added 590 to the shs tuple, and the topology converter 340 proceeds to the next node 550 .
  • the topology converter 340 knows that it is in the bus segment. If there is not already an mhs tuple for the node, 594 , then the topology converter 340 creates 596 an mhs tuple. The tuco for the node is then added 598 to the mhs tuple, and the topology converter proceeds to the next node 550 .
  • FIG. 19 shows a flow chart for the discard duplicates phase 936 of the topology converter 340 .
  • the topology converter looks for 602 an exact match in the current tuples stored in the topodb. If an exact match is found 604 , then the new tuple is marked 606 as “no change” indicating that this is an identical tuple.
  • FIGS. 20 a–d show a flow chart for the identify different tuples phase 938 .
  • the system looks through each tuple in the new SinglyHeardSegments (newSHS) tuple list 608 and tries to identify and fix 610 swapped ports on connectors. Swapped ports are identified by considering those segment tuples in both the new topology and the existing topology that differ only by the port specification in the tuco. Each tuple that is fixed as a swapped port is marked 612 as “handled.”
  • the system also looks through each tuple in the new multiHeardSegments tuple list (newMHS) 614 and tries to identify and fix 616 swapped ports on connectors. Each tuple that is fixed as a swapped port is marked 618 as “handled.”
  • the system then processes 620 each unmarked tuple in the newSHL tuples.
  • the host of the newSHL can be found in the current singlyHeardLinks (curSHL) 622 , the current multiHeardLinks (curMHL) 630 , the current connlinks (curCL) 638 , or the current UnheardOfLinks (curUOL) 642 .
  • the system determines 624 if there is a matching connector tuco between the newSHL tuples and the curSHL tuples. If there is a matching tuco, then the system changes 626 the host connection attribute. If there is not a matching tuco, then the host connection is moved 628 in the topology.
  • the system determines 632 whether there is a matching connector tuco between the newSHL tuples and the curSHL tuples. If there is a matching connector, then the segment type of connection is changed 634 . If there is not a matching connector, then the host connection is moved 636 in the topology. If the host is found in the curCL tuples 638 , then the host is moved 640 into a star segment of the connector. If it is found in the curUOL 642 , then the host is moved 644 into the star segment of the connector.
  • FIG. 20 c shows another stage of the processing undertaken during the identify different tuples phase 938 .
  • newMHL new multiHeardLinks tuples
  • the host of the newMHL may be found in the curSHL 648 , the curMHL 656 , the curCL 664 , or the curUOL 668 . If the host is found in the curSHL 648 , then the system determines 650 whether there is a matching connector tuco between the newMHL and the curMHL. If there is a matching tuco, then the segment type of connection is changed 652 . If there is not a matching tuco, then the host connection is moved 654 in the topology.
  • the system determines 658 whether there is a matching connector tuco in both the curMHL tuples and the newMHL tuples. If there is a matching connector tuco, then the host connection attribute is changed 660 . If there is not a matching tuco, then the host connection is moved 662 in the topology. If the host is found in the curCL tuples 664 , then the host is moved into a bus segment of a connector. If the host is found in the curUOL tuples 668 , then the host connection is moved 670 in the topology.
  • FIG. 20 d shows another portion of the identify different tuples phase 938 .
  • the connector of the unmarked tuple in newCL can be found in the curSHL or curMHL 674 , in the curCL 678 , or in the curUOL 682 . If each connector is found in the curSHL or curMHL list 674 , then the system creates 676 a new point-to-point segment for the connectors. If the connectors are found in the curCL 678 , then the connection attributes of the connectors are changed 680 . If each connector is found in the curUOL tuples 682 , then the host connection is moved 684 in the topology.
  • Another part of the identify different tuples phase 938 is shown in blocks 686 and 688 of FIG. 20 d .
  • the system checks 688 the timer/configuration to determine whether the host/conn should move into the default segment from its current segment.
  • An advantage of the system is that it may be schedulable.
  • the system may map network topology continuously, as done by existing systems, or it may be scheduled to run only at certain intervals, as desired by the user.
  • a further advantage of the system is that it is capable of processing multiple connections between the same devices and of processing connection meshes, because it tracks each nodal connection independently, without limitations on the types of connections that are permitted to exist.

Abstract

A method and system are disclosed for mapping the topology of a network having interconnected nodes by identifying changes in the network and updating a stored network topology based on the changes. The nodal connections are represented by data tuples that store information such as a host identifier, a connector interface, and a port specification for each connection. A topology database stores an existing topology of a network. A topology converter accesses the topology database and converts the existing topology into a list of current tuples. A connection calculator calculates tuples to represent connections in the new topology. The topology converter receives the new tuples, identifies changes to the topology, and updates the topology database using the new tuples. The topology converter identifies duplicate tuples that appear in both the new tuples and the existing tuples and marks the duplicate tuples to reflect that no change has occurred to these connections. The topology converter attempts to resolve swapped port conditions and searches for new singly-heard and multi-heard host link tuples in the list of existing tuples. The topology converter also searches for new conflict link tuples in the existing tuples. The topology converter updates the topology database with the new topology.

Description

FIELD OF INVENTION
The present invention relates generally to computer networks. More particularly, it relates to a method and system for identifying changes to a network topology and for acting upon the network based on the changes.
BACKGROUND
As communications networks, such as the Internet, carry more and more traffic, efficient use of the bandwidth available in the network becomes more and more important. Switching technology was developed in order to reduce congestion and associated competition for the available bandwidth. Switching technology works by restricting traffic. Instead of broadcasting a given data packet to all parts of the network, switches are used to control data flow such that the data packet is sent only along those network segments necessary to deliver it to the target node. The smaller volume of traffic on any given segment results in few packet collisions on that segment and, thus, the smoother and faster delivery of data. A choice between alternative paths is usually possible and is typically made based upon current traffic patterns.
The intelligent routing of data packets with resultant reduction in network congestion can only be effected if the network topology is known. The topology of a network is a description of the network which includes the location of and interconnections between nodes on the network. The word “topology” refers to either the physical or logical layout of the network, including devices, and their connections in relationship to one another. Information necessary to create the topology layout can be derived from tables stored in network devices such as hubs, bridges, and switches. The information in these tables is in a constant state of flux as new entries are being added and old entries time out. Many times there simply is not enough information to determine where to place a particular device.
Switches examine each data packet that they receive, read the source addresses, and log those addresses into tables along with the switch ports on which the packets were received. If a packet is received with a target address without an entry in the switches table, the switch receiving it broadcasts that packet to each of its ports. When the switch receives a reply, it will have identified where the new node lies.
In a large network with multiple possible paths from the switch to the target node, this table can become quite large and may require a significant amount of the switch's resources to develop and maintain. As an additional complication, the physical layout of devices and their connections are typically in a state of constant change. Devices are continually being removed from, added to, and moved to new physical locations on the network. To be effectively managed, the topology of a network must be accurately and efficiently ascertained, as well as maintained.
Existing mapping methods have limitations that prevent them from accurately mapping-topological relationships. Multiple connectivity problems are one sort of difficulty encountered by existing methods. For example, connectors such as routers, switches, and bridges may be interconnected devices in a network. Some existing methods assume that these devices have only a single connection between them. In newer devices, however, it is common for manufacturers to provide multiple connections between devices to improve network efficiency and to increase capacity of links between the devices. The multiple connectivity allows the devices to maintain connection in case one connection fails. Methods that do not consider multiple connectivity do not present a complete and accurate topological map of the network.
Another limitation of existing topology methods is the use of a single reference to identify a device. Existing methods use a reference interface or a reference address in a set of devices to orient all other devices in the same area. These methods assumed that every working device would be able to identify, or “hear,” this reference and identify it with a particular port of the device. With newer devices, however, it is possible that the same address or reference may be heard out of multiple ports of the same device. It is also possible that the address or reference may not be heard from any ports, for example, if switching technology is used.
Still another limitation of existing mapping systems is that they require a complete copy of the topological database to be stored in memory. In larger networks, the database is so large that this really is not feasible, because it requires the computer to be very large and expensive.
Still another difficulty with existing systems is that they focus on the minutia without considering the larger mapping considerations. Whenever an individual change in the system is detected, existing methods immediately act on that change, rather than taking a broader view of the change in the context of other system changes. For example, a device may be removed from the network temporarily and replaced with its ports reversed. In existing systems, this swapped port scenario could require hundreds or thousands of changes because the reference addresses will have changed for all interconnected devices.
Still another disadvantage of existing methods is that they use a continuous polling paradigm. These methods continuously poll network addresses throughout the day and make decisions based on those continuous polling results. This creates traffic on the network that slows other processes.
Still another limitation of existing methods is the assumption that network parts of a particular layer would be physically separated from other parts. Network layer 1 may represent the physical cabling of the network, layer 2 may represent the device connectivity, and layer 3 may represent a higher level of abstraction, such as the groupings of devices into regions. Existing methods assume that all layer 3 region groupings are self-contained, running on the same unique physical networking. However, in an internet protocol (IP) network, multiple IP domains may co-exist on the same lower layer networking infrastructure. It has become common for a network to employ a virtual local area network (LAN) to improve security or to simplify network maintenance, for example. Using virtual LANs, a system may have any number of different IP domains sharing the same physical connectivity. As a result, existing methods create confusion with respect to topological mapping because networks with multiple IP addresses in different subnets for the infrastructure devices cannot be properly represented because they assume the physical separation of connectivity for separate IP domains. Still another limitation of existing methods is that they do not allow topological loops, such as port aggregation or trunking, and switch meshing.
SUMMARY OF INVENTION
A method and system are disclosed for mapping the topology of a network having interconnected nodes by identifying changes in the network and updating a stored network topology based on the changes. The nodal connections are represented by data tuples that store information such as a host identifier, a connector interface, and a port specification for each connection. A topology database stores an existing topology of a network. A topology converter accesses the topology database and converts the existing topology into a list of current tuples. A connection calculator calculates tuples to represent connections in the new topology. The topology converter receives the new tuples, identifies changes to the topology, and updates the topology database using the new tuples. The topology converter identifies duplicate tuples that appear in both the new tuples and the existing tuples and marks the duplicate tuples to reflect that no change has occurred to these connections. The topology converter attempts to resolve swapped port conditions and searches for new singly-heard and multi-heard host link tuples in the list of existing tuples. The topology converter also searches for new conflict link tuples in the existing tuples. The topology converter updates the topology database with the new topology.
SUMMARY OF DRAWINGS
FIG. 1 is a drawing of a typical topological bus segment for representing the connectivity of nodes on a network.
FIG. 2 is a drawing of a typical topological serial segment for representing the connectivity of nodes on a network.
FIG. 3 is a drawing of a typical topological star segment for representing the connectivity of nodes on a network.
FIG. 4 is a drawing of another typical topological star segment for representing the connectivity of nodes on a network.
FIG. 5 is a drawing of the connectivity of an example network system.
FIG. 6 is a drawing of the connectivity of another example network system.
FIG. 7 is a block diagram of the system.
FIG. 8 is a flow chart of the method of the system.
FIG. 9 is a flow chart of the method used by the tuple manager.
FIG. 10 is a flow chart of the method used by the connection calculator.
FIG. 11 is a flow chart of the first weeding phase of the method used by the connection calculator.
FIGS. 12 a–d are flow charts of an infrastructure-building phase of the method used by the connection calculator.
FIG. 13 is a flow chart of a second weeding phase of the method used by the connection calculator.
FIG. 14 is a flow chart of the noise reduction phase of the method used by the connection calculator.
FIG. 15 is a flow chart of the look-for phase of the method used by the connection calculator.
FIGS. 16 a–b are flow charts of the consolidation phase of the method used by the connection calculator.
FIG. 17 is a flow chart of the method used by the topology converter.
FIGS. 18 a–b are flow charts of the morph topo phase of the method used by the topology converter.
FIG. 19 is a flow chart of the duplication discard phase of the method used by the topology converter.
FIGS. 20 a–d are flow charts of the identify different tuples phase of the method used by the topology converter.
DETAILED DESCRIPTION
The system provides an improved method for creating topological maps of communication networks based. Connectivity information is retrieved from the network nodes and stored as “tuples” to track specifically the desired information necessary to map the topology. These light weight data structures may store the host identifier, interface index, and a port. From this tuple information, the topology may be determined. A tuple may be a binary element insofar as it has two parts representing the two nodes on either end of a network link or segment. A “tuco” refers to a tuple component, such as half of a binary tuple.
As used herein, a node is any electronic component, such as a connector or a host, or combination of electronic components with their interconnections. A connector is any network device other than a host, including a switching device. A switching device is one type of connector and refers to any device that controls the flow of messages on a network. Switching devices include, but are not limited to, any of the following devices: repeaters, hubs, routers, bridges, and switches.
As used herein, the term “tuple” refers to any collection of assorted data. Tuples may be used to track information about network topology by storing data from network nodes. In one use, tuples may include a host identifier, interface information, and a port specification for each node. The port specification (also described as the group/port) may include a group number and a port number, or just a port number, depending upon the manufacturer's specifications. A binary tuple may include this information about two nodes as a means of showing the connectivity between them, whether the nodes are connected directly or indirectly through other nodes. A “conn-to-conn” tuple refers to a tuple that has connectivity data about connector nodes. A “conn-to-host” tuple refers to a tuple that has connectivity data about a connector node and a host node. In one use, tuples may have data about more than two nodes; that is, they may be n-ary tuples, such as those used with respect to shared media connections described herein.
A “singly-heard host” (shh) refers to a host, such as a workstation, PC, terminal, printer, other device, etc., that is connected directly to a connector, such as a switching device. A singly heard host link (shhl) refers to the link, also referred to as a segment, between a connector and an shh. A “multi-heard host” (mhh) refers to hosts that are heard by a connector on the same port that other hosts are heard. A multi-heard host link (mhhl) refers to the link between the connector and an mhh. A link generally refers to the connection between nodes. A segment is a link that may include a shared media connection.
FIG. 1 is a drawing of a typical topological bus segment 100 for representing the connectivity of nodes on a network 110. In FIG. 1, first and second hosts 121, 122, as well as a first port 131 of a first connector 140 are interconnected via the network 110. The bus segment 100 comprises the first and second hosts 121, 122 connected to the first port 131 of the first connector 140.
FIG. 2 is a drawing of a typical topological serial segment 200 for representing the connectivity of nodes on the network 110. In FIG. 2, the first host 121 comprises a second port 132 on a second connector 145 which is connected via the network 110 to the first port 131 on the first connector 140. The serial segment 200 comprises the second port 132 on the second connector 145 connected to the first port 131 on the first connector 140. FIG. 2 is an example of a connector-to-connector (“conn-to-conn”) relationship.
FIG. 3 is a drawing of a typical topological star segment 301 for representing the connectivity of nodes on the network 110. In FIG. 3, the first host 121 is connected to the first port 131 of the first connector 140. The star segment 301 comprises the first host 121 connected to the first port 131 of the first connector 140. FIG. 3 is an example of a connector-to-host (“conn-to-host”) relationship.
FIG. 4 is a drawing of another typical topological star segment 301 for representing the connectivity of nodes on the network 110. In addition to the connections described with respect to FIG. 3, a third host 123 is connected to a third port 133 of the first connector 140 and a fourth host 124 is connected to a fourth port 134 of the first connector 140. In FIG. 4, the star segment 301 comprises the first host 121 connected to the first port 131 of the first connector 140, the third host 123 connected to the third port 133 of the first connector 140, and the fourth host 124 connected to the fourth port 134 of the first connector 140. Thus, the star segment 301 comprises, on a given connector, at least one port, wherein one and only one host is connected to that port, and that host. In the more general case, the star segment 301 comprises, on a given connector, all ports having one and only one host connected to each port, and those connected hosts. Since the segments, or links, drawn using the topological methods of FIG. 4 resemble a star, they are referred to as star segments.
For illustrative purposes, nodes in the figures described above and in subsequent figures are shown as individual electronic devices or ports on connectors. Also, in the figures the nodes are represented as terminals. However, they could also be workstations, personal computers, printers, scanners, or any other electronic device that can be connected to networks 110.
FIG. 5 is a drawing of the connectivity of an example network system. In FIG. 5, first, third, and fourth hosts 121, 123, 124 are connected via the network 110 to first, third, and fourth ports 131, 133, 134 respectively, wherein the first, third, and fourth ports 131, 133, 134 are located on the first connector 140.
The first, third and fourth hosts 121, 123, 124 are singly-heard hosts connected to separate ports 131, 133, 134 of a common connector 140—the first connector 140. The fifth and sixth hosts 125, 126 are singly-heard hosts connected to the third and fourth connectors 142, 143. The seventh and eighth hosts 127, 128 are multi-heard hosts connected to the same port 139 of the fifth connector 144. The multi-heard hosts 127, 128 illustrate a shared media segment 180, also referred to as a bus 180.
The second, third, fourth, and fifth connectors 141, 142, 143, 144 are interconnected and illustrate a switch mesh 181. Each of the connectors in the switch mesh 181 is connected to each other, either directly or indirectly, to create a fully meshed connection. In the mesh, traffic may be dynamically routed to create an efficient flow.
FIG. 5 also shows an example of a port aggregation 182, also referred to as trunking 182. The first connector 140 is connected via the network 110 to the second connector 141 by two direct links, each of which is connected to different ports on the connectors. One link is connected to the sixth port 136 of the first connector 140 and to the seventh port of the second connector 137. The other link is connected to fifth port 135 of the first connector 140 and to the eighth port 138 of the second connector 141. In this example, two connectors illustrate the multiple connectivity between nodes. Depending upon the device specifications, devices such as connectors may be connected via any number of connectors. As explained herein, the system resolves multiple connectivity problems by tracking port information for each connection.
FIG. 6 is a drawing of the connectivity of a portion of a network having three connectors 171, 172, 173. A first host 151 is connected directly to the first port 161 of the first connector 171 and the second host 152 is connected to a sixth port 166 of the third connector 173. The second port 162 of the first connector 171 is connected directly to the third port 163 of the second, or intermediate, connector 172. The fourth port 164 of the intermediate connector 172 is connected directly to the fifth port 165 of the third connector 173.
FIG. 7 shows a block diagram of the system. FIG. 8 shows a flow chart of the method used by the system to retrieve and update the topology of the network. A tuple manager 300, also referred to as a data miner 300, gathers 902 data from network nodes and builds 904 tuples to update the current topology. The topology database “topodb” 350 stores the current topology for use by the system. The “neighbor data” database 310 stores new tuple data retrieved by the tuple manager 300. The connection calculator 320 processes the data in the neighbor data database 310 to determine the new network topology. The connection calculator 320 reduces 906 the tuple data and sends it to the reduced topology relationships database 330. The topology converter 340 then updates 908 the topology database 350 based on the new tuples sent to the reduced topology relationships database 330 by the connection calculator 320.
FIG. 9 shows a flow chart of one operation of the tuple manager 300, as described generally by the data gathering 902 and tuple building 904 steps of the method shown in FIG. 8. The tuple manager 300 receives 910 a signal to gather tuple data. The tuple manager 300 then retrieves 912 node information of the current topology stored in the topology database 350. This information tells the tuple manager 300 which devices or nodes are believed to exist in the system based on the nodes that were detected during a previous query. The tuple manager 300 then queries 914 the known nodes to gather the desired information. For example, the connectors may maintain forwarding tables that store connectivity data used to perform the connectors' ordinary functions, such as switching. Other devices may allow the system to perform queries to gather information about the flow of network traffic. This data identifies the devices heard by a connector and the port on which the device was heard. The tuple manager 300 gathers this data by accessing forwarding tables and other information sources for the nodes to determine such information as their physical address, interface information, and the port from which they “hear” other devices. Based on this information, the tuple manager 300 builds 916 tuples and stores 918 them in the “neighbor data” database 310. Some nodes may have incomplete information. In this case, the partial information is assembled into a tuple and may be used as a “hint” to determine its connectivity later, based on other connections. The tuple manager 300 may also gather 920 additional information about the network or about particular nodes as needed. For example, the connection calculator 320 may require additional node information and may signal the tuple manager 300 to gather that information.
After the data is gathered and the tuples are stored in the neighbor database 310, the connection calculator 320 processes the tuples to reduce them to relationships in the topology. FIG. 10 shows a flow chart of the process of the connection calculator 320, as shown generally in the reduction step 906 of the method shown in FIG. 8. The connection calculator 320 performs a first weeding phase 922 to identify singly-heard hosts to distinguish them from multi-heard hosts. Singly-heard hosts refer to host devices connected directly to a connector. The connection calculator 320 then performs an infrastructure-building phase 924 to remove redundant connector-to-connector links and to complete the details for partial tuples that are missing information. Then, the connection calculator 320 performs a second weeding phase 926 to resolve conflicting reports of singly-heard hosts. The connection calculator 320 then performs a noise reduction phase 928 to remove redundant neighbor information for connector-to-host links. If clarification of device connectivity is required, the connection calculator 320 performs a “look for” phase 930 to ask the tuple manager 300 to gather additional data. The tuple data is then consolidated 932 into segment and network containment relationships. The connection calculator 320 may also tag redundant tuples to indicate their relevance to actual connectivity. These redundant tuples may still provide hints to connectivity of other tuples. As part of the consolidation phase 932, the connection calculator 320 creates new n-ary tuples (tuples having references to three or more tucos) for shared media segments.
FIG. 11 is a flow chart of the connection calculator's first weeding process 922 for distinguishing singly-heard hosts. The purpose of the first weeding process 922 is to identify the direct connections between connectors and hosts; that is, those tuples having a first tuco that is a connector and a second tuco that is a host. The connection calculator 320 looks through the tuple list in the neighbor database 310, and for each tuple 402, the connection calculator 320 determines 404 whether the tuple is a connector-to-host (conn-to-host) link tuple. If it is not a conn-to-host link, the connection calculator 320 concludes 418 that it is a conn-to-conn link and processes 402 the next tuple. If the tuple is a conn-to-host link tuple, then the connection calculator 320 determines 406 whether the connector hears only this particular host on the port identified in the tuple. If the connector hears other hosts on this port, then the tuple is classified 416 as a multi-heard host link (mhhl) tuple.
If the connector hears only the one host on the port—that is, if the host is a singly-heard host—then the connection calculator 320 determines 408 whether the host is heard singly by any other connectors. If no other connectors hear the host as a singly-heard host, then the tuple is classified as a singly-heard host link (shhl) tuple 412 and other tuples for this host are classified 414 as extra host links (ehl). Another tuple for this host may be, for example, an intermediate connector connected indirectly to a host. For example, FIG. 6 shows three connectors 171, 172, 173 the first connector is connected directly to the first host 151. This connection therefore forms an shhl tuple. The intermediate connector 172 is indirectly connected to the first host 151. The tuple data indicates that the intermediate connector 172 is indirectly connected to the host and hears the host from a particular port. An extra host links tuple is created so that this data may be used later in conjunction with other extra host links tuples from devices across the network, to verify connectivity by providing hints about connections.
The first weeding process also attempts to identify conflicts. If other connectors hear the host as a singly-heard host, then a conflict arises and the tuple is classified 410 as a singly-heard conflict link (shcl) tuple to be resolved later. This conflict may arise, for example, if a host has been moved within the network, in which case the forwarding table data may no longer be valid. Certain connectors previously connected directly to the host may still indicate that the moved host is connected. When all tuples have been processed 402 to identify singly-heard host links, the first weeding phase 922 is complete.
FIGS. 12 a–d show a flow chart of the infrastructure building phase 924 of the connection calculator 320. The purpose of the infrastructure building phase 924 is to determine how the connectors are set up in the network. The first part of the infrastructure building phase 924 manufactures tuples based on the list of singly-heard host link tuples identified in the first weeding phase 922. The purpose is to identify the relationship between the connectors in the extra host links tuples and the connectors directly connected to the singly-heard hosts. For each singly-heard host link 420, the connection calculator 320 processes 422 each extra host link that refers to the host. In the illustration of FIG. 6, a conn-to-conn link tuple would represent the connection between the first connector 171 and the intermediate connector 172. An extra host link tuple would represent the indirect connection between the intermediate connector 172 and the first host 151. The conn-to-conn link tuple between the first connector 171 and the intermediate connector 172 is an example of an ehlConn-to-shhlConn tuple. If a conn-to-conn link tuple exists 424 for the extra host link connector to the singly-heard host link connector (ehlConn-to-shhlConn), then the connection calculator 320 updates 428 the tuple if it is incomplete. It is possible that the tuple data may be incomplete and a conn-to-conn link may not exist. In that case, a conn-to-conn tuple does not exist for the ehlConn-to-shhlConn, then such a tuple is created 426.
After processing extra host links for singly-heard host links, the connection calculator 320 considers 430 each connector (referred to as conn1) in the tuples to determine the relationship between connectors. As illustrated in FIG. 6, a single connector may be connected directly and indirectly to multiple other connectors. In FIG. 6, the first connector 151 is connected to the intermediate connector 171 directly and also to the third connector 173 indirectly. The third connector 173 hears the first host 151 on the same part 165 that it hears the first connector 171 and the intermediate connector 172. The infrastructure building phase 924 tries to determine the relationship between other connectors heard on the same port of conn1. In a series of interconnected connectors, the connector on one end may not hear a connector on another end, but it may hear intermediate connectors, that in turn hear their own intermediate connectors. Tuples are created to represent the interconnection of conn-to-conn relationships. Based on this data, the connection calculator 320 can make inferences regarding the overall connection between connectors.
For every conn1, the connection calculator 320 considers 432 every other connector (conn2) to determine whether a conn1-to-conn2 tuple exists. If conn1-to-conn2 does not exist, then the connection calculator 320 considers 436 every other conn-to-conn tuple containing conn2. The other connector on this tuple may be referred to as conn3. If conn2 hears conn3 on a unique port 438 and if conn1 also hears conn3 440, then the connection calculator 320 creates 442 a tuple for conn1-to-conn2 in the connector-to-connector links tuple list.
After processing all of the conn1 tuples, the connection calculator 320 processes 444 each conn1-to-conn2 links tuple to ensure that they have complete port data. For each incomplete tuple 446, the connection calculator 320 looks 448 for a different tuple involving conn1 in the extra host links tupleson a different port. If a different tuple is found 450, then the connection calculator 320 determines 452 whether conn2 also hears the host. If conn2 does hear the host, then the connection calculator 320 completes the missing port data for conn2. If conn2 does not also hear the host 452, then the connection calculator 320 continues looking 448 through different tuples involving conn1 in extra host links on different ports.
After attempting to complete the missing data in each of the conn-to-conn links tuples, the connection calculator 320 processes 456 each conn-to-conn links tuple. The purpose of this sub-phase is to attempt to disprove invalid conn-to-conn links. The connection calculator 320 considers 458 conn1 and conn2 of each conn-to-conn links tuple. Every other connector in conn-to-conn links may be referred to as testconn. For each testconn 460, the connection calculator 320 determines 462 whether the testconn hears conn1 and conn2 on different groups/ports. If testconn hears conn1 and conn2 on different ports, then the tuple is moved to extraconnlinks (ecl) 464. Otherwise, the connection calculator 320 continues processing 460 the remaining testconns.
FIG. 13 shows a flow chart of the second weeding phase 926. The purpose of the second weeding phase 926 is to attempt to resolve conflicts involving singly-heard hosts identified in the first weeding phase 922. In the situation described herein in which more than one connector reports that a host is singly-heard, the second weeding phase 926 reviews the tuples created during the infrastructure-building phase 924 involving the connector and host in question and attempts to disprove the reported conflict. The connection calculator 320 processes 466 each singleConflictLinks (scl) tuple (sometimes referred to as the search tuple) and considers 468 conn1 and host1 of the tuple. For each extra host links tuple containing host1 470, the connection calculator 320 considers 472 conn2 of the tuple. If there is a tuple in conn-to-conn links for conn2 and conn1 474, and if there is a conn2-to-conn1 tuple in the extra host links tuples 476, and if the port is the same for conn2 hearing conn1 and host1 478, then the search tuple is moved 480 into the singly heard host links and other tuples containing host1 are removed 482 from the singleConflictLinks.
FIG. 14 shows a flow chart of the noise reduction phase 928. The purpose of the noise reduction phase 928 is to handle those connections in which a connector is not directly connected to a host or to another connector. For example, networking technology may employ shared media connections between connectors, rather than dedicated media connectors. With a shared media connection, the entries in the forwarding tables for connectors attached to the shared media connection will include every node accessing the shared media connection and may not present a useful or accurate representation of the nodal connection. For example, if the network configuration in FIG. 6 used a shared media connection between the first connector 171 and the intermediate connector 172, then the first connector is not really connected directly to the intermediate connector because other devices (not shown in FIG. 6) may also use the shared media connection. These other devices may include web servers, other connectors, other subnetworks, etc. Tuples will be created for the connectors 171, 172 on opposing ends of the shared media. In this situation, it is inefficient to maintain point-to-point binary tuples for every connection. The noise reduction phase 928 disproves invalid tuples created by the shared media connections.
For each multi-heard host links (mhhl) tuple, also referred to as multiHeardLinks (mhl) tuples (sometimes referred to as the search tuple) 484, conn1 and host1 are considered 486. For each extra host links tuple containing host1 488, conn2 is considered 490. If there is a tuple in conn-to-conn links for conn2 and conn1 492, and if there is a conn2-to-host1 tuple in extraHostLinks 494, and if the group/port for conn2 hearing conn1 and host1 is different 496, then the search tuple is moved 498 to extraHostLinks.
FIG. 15 shows a flow chart for the “look for” phase 930. The purpose of this phase is to complete missing data for mhhl tuples. There may exist connections on the network that have incomplete tuple data. For example, the network may simply have no traffic between certain nodes, in which case data might not be stored in forwarding tables. In another example, a forwarding table may not have sufficient room to store all of the required information and might delete data on a FIFO basis. In the look for phase 930, the connection calculator 320 instructs the tuple manager 300 to query specific nodes to retrieve the missing data. Data that was not stored in a forwarding table on the first interrogation may be present on a subsequent query. For each mhhl tuple 500, the connection calculator 320 considers 502 conn1 and host1. If the conn1 group/port is already in an “alreadyDidLookfors” list, then a list is created 508 for all connectors in conn-to-conn links that are heard by conn1 on the same group/port as host1. For each connector (conn2) in the list 510, the connection calculator 320 determines 512 whether there is a conn2-to-host1 tuple in the mhhl tuples. If there is not such a tuple, then the connection calculator 320 initiates a look-for for conn2-to-host1 via the tuple manager 300. When each connector in the list has been processed 510, the conn1 group/port tuco is added 516 to an alreadyDidLookfors list. As an additional portion of the look for phase 930 (not shown in figures) the system may ask a user to verify or clarify information about connectivity. For example, the system may show the user the perceived connectivity or the unresolved connectivity issues and request the user to add information as appropriate.
The connection calculator 330 process described above collects the tuple information from the tuple manager 300, builds tuples new tuples and removes redundant or unnecessary tuples to produce the new topology. This topology may have incomplete tuples possibly resulting from extraneous information that the connection calculator 330 could not disprove. To refine the new topology, the connection calculator 330 can request the tuple manager 300 to obtain additional information about particular nodes or it may also request a user to refine the topology by adding or removing tuples. Using the process of the connection calculator 330, tuples marked as non-essential may be removed from the new topology to save space and to simply the topology. The connection calculator 330 is not confused by multiple connectivity situations such as port aggregation 182 or switch meshing 181 as shown in FIG. 5, because the tuples represent point-to-point, or neighbor-to-neighbor, connectivity showing each connection in the network. This point-to-point connectivity concept also helps enable the system to avoid difficulties that occur in systems that track higher levels of abstraction, such as layer 3 connectivity. Also, the tuples may contain only selected information to minimize the storage space required for the topology.
FIGS. 16 a–b show a flow chart of the consolidation phase 932. The purpose of this phase is to consolidate the tuples that involve shared media connections. After the noise reduction phase 928, a considerable number of tuples involving shared media may remain. Rather than maintain a binary tuple for each of the connections, an n-ary tuple is created for the link using a tuco for each connector and each host connected thereto. For each mhhl tuple 518, conn1 and host1 are considered 520. If there are more conn1 group/port tuples in multiHeardLinks, and if are not any n-ary multiHeardSegments (mhs) tuples 524, then an mhs tuple is created 526. If host1 is not already in this particular mhs tuple 528, then conn2 of the tuple is considered 534. If there is a conn1-to-conn2 conn-to-connLinks tuple on the same port as conn1-to-host1 536, then all multiHeardLinks tuples for conn2-to-host1 with the same conn2 group/port as the conn 1-to-conn2 are added 538 to the current mhs tuple.
After processing each mhhl tuple 518, each singly-heard host links (shhl) tuple, also referred to as a singlyHeardLinks (shl) tuple, is considered 540. For each shhl tuple, the connector and host are considered 542. If there is no existing singlyHeardSegments (shs) tuple for the connector 544, then an shs tuple is created 546. The host tuco is then added to the shs 548.
FIG. 17 shows a flow chart of the method used by the topology converter 340, as described generally by the topology update step 908 of the method shown in FIG. 8. The topology converter 340 converts 934 the topology into tuple lists, also referred to as the “morph topo” phase 934. It then compares 936 the list from the topology currently stored in the topology database 350 with the new list generated by the connection calculator 320 and discards 936 identical tuples in what is also referred to as the “discard duplicates” phase 936. It then takes action 938 on the changes in the topology as determined by the changes in the tuple lists, in what is also referred to as the “identify different tuples” phase 938.
FIG. 18 a shows a flow chart for the “morph topo” phase 934. For each node in the topology 550, the topology converter 340 determines 552 whether the node is a connector. If the node is a connector, then for each connected interface (conniface) of the connector (conn1) 554, the topology converter 340 determines 556 whether the conniface is connected to a star segment. If it is connected to a star segment, then for every other interface in the segment 558, the topology converter 340 determines 560 whether there is an existing shs tuple, referred to as the “topo tuple” for the segment. If there is no such tuple, then the topology converter 340 creates 562 a topo shs tuple. The tuco for the interface's host-to-topo shs is then added 564 to the topo shs tuple.
If the connector node is not connected to a star segment 556 and is connected to a bus segment 566, the topology converter 340 determines 568 whether there is an existing mhs tuple for conn1. If there is not an existing mhs tuple for conn1, then a topo mhs tuple is created 570. A tuco is added 572 for the host to the mhs tuple.
If the connector node is not connected to either a star segment 556 or to a bus segment 566, then the topology converter knows that it is connected to another connector (conn2). If such a connector does not already have an existing connLinks tuple for conn1 and conn2 576, then a connLinks tuple is created 578. After processing the bus segment, star segment, and conn-to-conn segment, for each conniface 554, the topology converter 340 proceeds to the next node 550.
FIG. 18 b shows a continuation of the flow chart of FIG. 18 a showing the steps of the method when the topology converter 340 determines that the node is not a connector 552. If the node is in the default segment, then an “unheardOfLinks” tuple is created 582 and the topology converter proceeds to the next node 550. If the node is not in the default segment 580, then the topology converter 340 determines whether the node is in a star segment 584. If the node is in a star segment, then if there is not already an shs tuple, the topology converter 340 creates 588 an shs tuple. The tuco for the node is then added 590 to the shs tuple, and the topology converter 340 proceeds to the next node 550.
If the node is not in a star segment, then the topology converter 340 knows that it is in the bus segment. If there is not already an mhs tuple for the node, 594, then the topology converter 340 creates 596 an mhs tuple. The tuco for the node is then added 598 to the mhs tuple, and the topology converter proceeds to the next node 550.
FIG. 19 shows a flow chart for the discard duplicates phase 936 of the topology converter 340. For each tuple in the new tuples (nt) 600, the topology converter looks for 602 an exact match in the current tuples stored in the topodb. If an exact match is found 604, then the new tuple is marked 606 as “no change” indicating that this is an identical tuple.
FIGS. 20 a–d show a flow chart for the identify different tuples phase 938. The system looks through each tuple in the new SinglyHeardSegments (newSHS) tuple list 608 and tries to identify and fix 610 swapped ports on connectors. Swapped ports are identified by considering those segment tuples in both the new topology and the existing topology that differ only by the port specification in the tuco. Each tuple that is fixed as a swapped port is marked 612 as “handled.” The system also looks through each tuple in the new multiHeardSegments tuple list (newMHS) 614 and tries to identify and fix 616 swapped ports on connectors. Each tuple that is fixed as a swapped port is marked 618 as “handled.”
The system then processes 620 each unmarked tuple in the newSHL tuples. Four cases are possible for the host of the newSHL tuples. The host of the newSHL can be found in the current singlyHeardLinks (curSHL) 622, the current multiHeardLinks (curMHL) 630, the current connlinks (curCL) 638, or the current UnheardOfLinks (curUOL) 642. If the host of a newSHL tuple is found 622 in the current SinglyHeardLinks (curSHL) tuples, then the system determines 624 if there is a matching connector tuco between the newSHL tuples and the curSHL tuples. If there is a matching tuco, then the system changes 626 the host connection attribute. If there is not a matching tuco, then the host connection is moved 628 in the topology.
If the host is found in the curMHL tuples 630, then the system determines 632 whether there is a matching connector tuco between the newSHL tuples and the curSHL tuples. If there is a matching connector, then the segment type of connection is changed 634. If there is not a matching connector, then the host connection is moved 636 in the topology. If the host is found in the curCL tuples 638, then the host is moved 640 into a star segment of the connector. If it is found in the curUOL 642, then the host is moved 644 into the star segment of the connector.
FIG. 20 c shows another stage of the processing undertaken during the identify different tuples phase 938. For each unmarked tuple in the new multiHeardLinks tuples (newMHL) 946, four cases are possible for the host of the newMHL. The host of the newMHL may be found in the curSHL 648, the curMHL 656, the curCL 664, or the curUOL 668. If the host is found in the curSHL 648, then the system determines 650 whether there is a matching connector tuco between the newMHL and the curMHL. If there is a matching tuco, then the segment type of connection is changed 652. If there is not a matching tuco, then the host connection is moved 654 in the topology.
If the host is found in the curMHL tuples 656, then the system determines 658 whether there is a matching connector tuco in both the curMHL tuples and the newMHL tuples. If there is a matching connector tuco, then the host connection attribute is changed 660. If there is not a matching tuco, then the host connection is moved 662 in the topology. If the host is found in the curCL tuples 664, then the host is moved into a bus segment of a connector. If the host is found in the curUOL tuples 668, then the host connection is moved 670 in the topology.
FIG. 20 d shows another portion of the identify different tuples phase 938. For each unmarked tuple in the newCL tuples 672, there are three possibilities for the connector. The connector of the unmarked tuple in newCL can be found in the curSHL or curMHL 674, in the curCL 678, or in the curUOL 682. If each connector is found in the curSHL or curMHL list 674, then the system creates 676 a new point-to-point segment for the connectors. If the connectors are found in the curCL 678, then the connection attributes of the connectors are changed 680. If each connector is found in the curUOL tuples 682, then the host connection is moved 684 in the topology.
Another part of the identify different tuples phase 938 is shown in blocks 686 and 688 of FIG. 20 d. For each unmarked tuple in the newUOL tuples 686, the system checks 688 the timer/configuration to determine whether the host/conn should move into the default segment from its current segment.
An advantage of the system is that it may be schedulable. The system may map network topology continuously, as done by existing systems, or it may be scheduled to run only at certain intervals, as desired by the user. A further advantage of the system is that it is capable of processing multiple connections between the same devices and of processing connection meshes, because it tracks each nodal connection independently, without limitations on the types of connections that are permitted to exist.
Although the present invention has been described with respect to particular embodiments thereof, variations are possible. The present invention may be embodied in specific forms without departing from the essential spirit or attributes thereof. It is desired that the embodiments described herein be considered in all respects illustrative and not restrictive and that reference be made to the appended claims for determining the scope of the invention.

Claims (18)

1. In a network having interconnected nodes with data tuples that represent nodal connections, a method for mapping a network topology by identifying changes between an existing topology and a new topology, the method comprising:
creating a list of existing tuples from an existing topology representing nodal connections of a network at a prior time;
creating a new list of a plurality of tuples for a topology of the network at a current time, wherein the new list of tuples represent nodal connections of the network at the current time, and wherein each of the tuples comprises a host identifier, interface information, and a port specification;
receiving new tuples list that represent new nodal connections; and
comparing the list of existing tuples with the new tuples list to identify changes to the topology.
2. The method of claim 1, further comprising updating a topology database with a new topology corresponding to the list of existing tuples modified by the changes to the topology.
3. The method of claim 1, further comprising taking action on the changes to the topology.
4. The method of claim 1, wherein the step of creating a new list of tuples comprises identifying duplicate tuples that appear both in the list of existing tuples and in the new tuples, and maintaining a current status of the topology for these tuples.
5. The method of claim 1, wherein the step of creating a new list of tuples comprises identifying a swapped port condition on a connector.
6. The method of claim 1, wherein the step of creating a new list of tuples comprises searching for a host of a new singly-heard host link tuple or a new multi-heard host link tuple in the list of existing tuples.
7. A system for mapping a network topology by identifying changes between an existing topology and a new topology, based on changes to data tuples that represent nodal connections comprising:
a topology database that stores an existing topology of a network using tuples, wherein each tuple includes a host identifier, interface information, and a port specification for a node in the network from the existing topology representing nodal connections of the network at a prior time; and
a topology converter connected to the topology database the receives new tuples that represent new nodal connections for a topology of the network at a current time, compares the new tuples with the existing tuples to identify changes in the network by comparing the host identifiers, the interface information, and the port specifications, and determines differences between the new tuples with the existing tuples representing nodal connections of the network at the prior time,
wherein the topology converter creates the new tuples for the topology of the network.
8. The system of claim 7, wherein the topology converter updates the topology database with a new topology based on the new tuples.
9. The system of claim 7, wherein the topology converter attempts to identify swapped ports on connectors.
10. The system of claim 7, wherein the topology converter identifies duplicate tuples that appear both in the list of existing tuples and in the new tuples, and maintains a current status of the topology for these tuples.
11. The system of claim 7, wherein the topology converter searches for a host of a new singly-heard host link tuple or a new multi-heard host link tuple in the list of existing tuples.
12. The system of claim 7, wherein the topology converter searches for a connector of a new conflict links tuple in the list of existing tuples.
13. A computer-readable medium having computer-executable instructions for performing a method for mapping a network topology by identifying changes between an existing topology and a new topology in a network having a interconnected nodes, the method comprising:
creating a list of existing tuples from an existing topology representing nodal connections of a network at a prior time;
creating a new list of a plurality of tuples for a topology of the network at a current time, wherein the new list of tuples represent nodal connections of the network at the current time and wherein each of the tuples comprises a host identifier, interface information, and a port specification;
receiving new tuples list that represent new nodal connections;
comparing the list of existing tuples with the new tuples list to identify changes to the topology; and
updating a topology database with a new topology based on the comparing.
14. The medium of claim 13, wherein a topology converter receives the new tuples list from a connection calculator that calculates connections between nodes.
15. The medium of claim 13, wherein the step of creating the new tuples list comprises identifying duplicate tuples that appear both in the list of existing tuples and in the new tuples list, and maintaining a current status of the topology for these duplicate tuples.
16. The medium of claim 13, wherein the step of creating the new tuples list comprises identifying a swapped port condition on a connector.
17. The medium of claim 13, wherein the step of creating the new tuples list comprises searching for a host of a new singly-heard host link tuple or a new multi-heard link tuple in the list of existing tuples.
18. The medium of claim 13, wherein the steps of creating the new tuples list comprises searching for a connector of a new conflict links tuple in the list of existing tuples.
US09/703,942 2000-10-31 2000-10-31 Method and system for identifying and processing changes to a network topology Expired - Lifetime US7027411B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/703,942 US7027411B1 (en) 2000-10-31 2000-10-31 Method and system for identifying and processing changes to a network topology
GB0125507A GB2371440B (en) 2000-10-31 2001-10-24 Method and system for identifying and processing changes to a network topology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/703,942 US7027411B1 (en) 2000-10-31 2000-10-31 Method and system for identifying and processing changes to a network topology

Publications (1)

Publication Number Publication Date
US7027411B1 true US7027411B1 (en) 2006-04-11

Family

ID=24827404

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/703,942 Expired - Lifetime US7027411B1 (en) 2000-10-31 2000-10-31 Method and system for identifying and processing changes to a network topology

Country Status (2)

Country Link
US (1) US7027411B1 (en)
GB (1) GB2371440B (en)

Cited By (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129133A1 (en) * 2000-12-22 2002-09-12 Olsen Gregory P. Managing network traffic using hashing functions
US20020188656A1 (en) * 2001-05-15 2002-12-12 Charles Patton Combining specialized, spatially distinguished, point to point communications with other wireless networking communications to provide networking configuration in classroom-like settings
US20050036500A1 (en) * 2003-08-15 2005-02-17 Rodeheffer Thomas Lee Method and system for initializing host location information across smart bridge topology changes
US20060165016A1 (en) * 2002-09-14 2006-07-27 Friedrich Ackermann Method and system for determining the topology of a modular analysis system
US20080037562A1 (en) * 2000-12-30 2008-02-14 Saleh Ali N Method for routing information over a network employing centralized control
US20080219277A1 (en) * 2007-03-06 2008-09-11 Cisco Technology, Inc Modelling service flows in dynamic access domains
US20090192645A1 (en) * 2008-01-24 2009-07-30 Rockwell Automation Technologies, Inc. Automatic controller relationship resolution
US20100034388A1 (en) * 2001-03-29 2010-02-11 Toshihisa Nakano Data protection system that protects data by encrypting the data
US20100232371A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service service scheduling for home mesh network
US20100232354A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Node query in ad hoc home mesh network
US20100232396A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service architecture for home mesh network
US20100232370A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US20100232400A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Virtualizing single radio for multiple wireless interfaces in home mesh network
US20100232369A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Multi-channel single radio communication in home mesh network
US9215270B2 (en) 2010-08-09 2015-12-15 Servicenow, Inc. System and method for determining a topology of at least one application in a computerized organization
US10374898B2 (en) 2014-04-24 2019-08-06 The Boeing Company Network revision evaluator
US10389589B2 (en) 2017-05-05 2019-08-20 Servicenow, Inc. Unified device and service discovery across multiple network types
US10425292B1 (en) 2018-10-17 2019-09-24 Servicenow, Inc. Functional discovery and mapping of serverless resources
US10491455B2 (en) 2015-08-12 2019-11-26 Servicenow, Inc. Automated electronics computing and communication system event analysis and management
US10491692B1 (en) 2019-01-18 2019-11-26 Servicenow, Inc. Discovery of remote storage services and associated applications
US10601660B2 (en) 2014-12-22 2020-03-24 Servicenow, Inc. Auto discovery of configuration items
US10686647B1 (en) 2019-05-02 2020-06-16 Servicenow, Inc. Descriptor architecture for a remote network management platform
US20200192716A1 (en) * 2018-12-12 2020-06-18 Servicenow, Inc. Control token and hierarchical dynamic control
US10693745B2 (en) 2018-02-27 2020-06-23 Servicenow, Inc. Defining and enforcing operational associations between configuration item classes in managed networks
US10708753B2 (en) 2018-04-03 2020-07-07 Servicenow, Inc. Discovery and service mapping of serverless resources
US10708755B2 (en) 2018-04-03 2020-07-07 Servicenow, Inc. Discovery and service mapping of serverless resources
US10719503B1 (en) 2019-05-02 2020-07-21 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US10742504B2 (en) 2017-10-04 2020-08-11 Servicenow, Inc. Guided configuration item class creation in a remote network management platform
US10749943B1 (en) 2019-04-11 2020-08-18 Servicenow, Inc. Discovery and mapping of cloud-based resources
US10747530B2 (en) 2018-06-12 2020-08-18 Servicenow, Inc. Mission-based developer certification system and method
US10747757B1 (en) 2019-05-02 2020-08-18 Servicenow, Inc. Graphical query builder for multi-modal search
US10761903B2 (en) 2018-03-29 2020-09-01 Servicenow, Inc. Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system
US10764124B1 (en) 2019-05-02 2020-09-01 Servicenow, Inc. Intelligent export and import of service representations
US10771344B2 (en) 2018-12-21 2020-09-08 Servicenow, Inc. Discovery of hyper-converged infrastructure devices
US10771327B2 (en) 2018-05-07 2020-09-08 Servicenow, Inc. Multi-instance architecture supporting out-of-band delivery of configuration data
US10768994B2 (en) 2007-03-30 2020-09-08 Servicenow, Inc. Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US10795669B2 (en) 2018-06-15 2020-10-06 Servicenow, Inc. Systems and methods for integrating software source control, building, and testing applications
US10795885B2 (en) 2017-11-15 2020-10-06 Servicenow, Inc. Predictive query improvement
US10803041B2 (en) 2014-10-08 2020-10-13 Servicenow, Inc. Collision detection using state management of configuration items
US10809989B2 (en) 2017-05-05 2020-10-20 Servicenow, Inc. Service release tool
US10812625B2 (en) 2016-05-13 2020-10-20 Servicenow, Inc. System and method for deploying resources within a computing infrastructure
US10810228B2 (en) 2015-11-02 2020-10-20 Servicenow, Inc. Universal automatic data update detection and publication
US10819594B2 (en) 2015-11-02 2020-10-27 Servicenow, Inc. System and method for generating a graphical display region indicative of conditions of a computing infrastructure
US10819560B2 (en) 2018-03-29 2020-10-27 Servicenow, Inc. Alert management system and method of using alert context-based alert rules
US10817788B2 (en) 2017-10-02 2020-10-27 Servicenow, Inc. Machine learning classification with confidence thresholds
US10819814B2 (en) 2014-06-09 2020-10-27 Servicenow, Inc. System and method for providing database content on a client device
US10819557B1 (en) 2019-05-03 2020-10-27 Servicenow, Inc. Systems and methods for selective discovery of services
US10819604B2 (en) 2015-05-28 2020-10-27 Servicenow, Inc. Change to availability mapping
US10824305B1 (en) 2019-01-08 2020-11-03 Servicenow, Inc. Graphical user interfaces for software asset management
US10824650B2 (en) 2018-12-20 2020-11-03 Servicenow, Inc. Discovery of database and related services
US10824616B2 (en) 2018-04-02 2020-11-03 Servicenow, Inc. System and method for alert insight in configuration management databases (CMDBs)
US10824642B2 (en) 2017-08-10 2020-11-03 Servicenow, Inc. Data synchronization architecture
US10826757B2 (en) 2017-05-04 2020-11-03 Servicenow, Inc. Operational analytics in managed networks
US10826783B2 (en) 2016-04-20 2020-11-03 Servicenow, Inc. System and method for custom graph generation
US10826691B2 (en) 2017-05-30 2020-11-03 Servicenow, Inc. Edge encryption
US10826776B2 (en) 2018-02-26 2020-11-03 Servicenow, Inc. Integrated continual improvement management
US10826682B2 (en) 2018-07-03 2020-11-03 Servicenow, Inc. Multi-instance architecture supporting trusted blockchain-based network
US10826993B2 (en) 2017-05-02 2020-11-03 Servicenow, Inc. Cloud resource provisioning using blueprint chaining
US10832189B2 (en) 2017-05-05 2020-11-10 Servicenow, Inc. Systems and methods for dynamically scheduling tasks across an enterprise
US10911314B2 (en) 2017-10-02 2021-02-02 Servicenow, Inc. Systems and methods for determining entry points for mapping a network
US10915518B2 (en) 2018-08-09 2021-02-09 Servicenow, Inc. Partial discovery of cloud-based resources
US10917312B2 (en) 2019-03-21 2021-02-09 Servicenow, Inc. Graphical user interface for validation of credentials and scheduled discovery of remote networks
US10917358B1 (en) 2019-10-31 2021-02-09 Servicenow, Inc. Cloud service for cross-cloud operations
US10915515B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Database performance tuning framework
US10917419B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Systems and methods for anomaly detection
US10924344B2 (en) 2019-04-11 2021-02-16 Servicenow, Inc. Discovery and mapping of cloud-based resource modifications
US10931630B2 (en) 2017-11-16 2021-02-23 Servicenow, Inc. System and method for connecting using aliases
US10931774B2 (en) 2019-01-17 2021-02-23 Servicenow, Inc. Discovery and service mapping of application programming interface proxies
US10938850B2 (en) 2016-04-12 2021-03-02 Servicenow, Inc. Method and apparatus for reducing security risk in a networked computer system architecture
US10936613B2 (en) 2017-05-03 2021-03-02 Servicenow, Inc. Table-per-partition
US10938657B1 (en) 2019-09-13 2021-03-02 Servicenow, Inc. Enhancing discovery patterns with shell command exit status
US10936980B2 (en) 2018-05-07 2021-03-02 Servicenow, Inc. Graphical user interface for enterprise project portfolio management utilizing normalized project attributes mapped to a common framework
US10938663B2 (en) 2018-05-07 2021-03-02 Servicenow, Inc. Discovery and management of devices
US10942787B2 (en) 2018-11-13 2021-03-09 Servicenow, Inc. Instance mapping engine and tools
US10944771B2 (en) 2017-05-03 2021-03-09 Servicenow, Inc. Computing resource identification
US10944654B2 (en) 2018-06-06 2021-03-09 Servicenow, Inc. Discovery and mapping of containerized software applications
US10949903B2 (en) 2017-05-05 2021-03-16 Servicenow, Inc. System, computer-readable medium, and method for blueprint-based cloud management
US10949070B2 (en) 2019-03-13 2021-03-16 Servicenow, Inc. Customizable mobile application for event management
US10951483B2 (en) 2019-03-04 2021-03-16 Servicenow, Inc. Agent-assisted discovery of network devices and services
US10949074B2 (en) 2019-03-19 2021-03-16 Servicenow, Inc. Graphical user interfaces for defining complex data objects
US10949186B2 (en) 2018-12-20 2021-03-16 Servicenow, Inc. Automatic generation of a software configuration for license reconciliation
US10956602B2 (en) 2017-10-03 2021-03-23 Servicenow, Inc. Searching for encrypted data within a cloud based platform
US10956435B2 (en) 2017-05-05 2021-03-23 Servicenow, Inc. Global search
US10958532B2 (en) 2018-11-09 2021-03-23 Servicenow, Inc. Machine learning based discovery of software as a service
US10956683B2 (en) 2018-03-23 2021-03-23 Servicenow, Inc. Systems and method for vocabulary management in a natural learning framework
US10963314B2 (en) 2019-07-31 2021-03-30 Servicenow, Inc. Discovery and mapping of a platform-as-a-service environment
US10965530B2 (en) 2016-04-20 2021-03-30 Servicenow, Inc. Multi-stage network discovery
US10972564B2 (en) 2017-05-05 2021-04-06 Servicenow, Inc. System and method for automating actions in distributed computing
US10970107B2 (en) 2018-12-21 2021-04-06 Servicenow, Inc. Discovery of hyper-converged infrastructure
US10972435B2 (en) 2018-09-05 2021-04-06 Servicenow, Inc. Dynamic discovery of executing applications
US10970048B2 (en) 2018-09-17 2021-04-06 Servicenow, Inc. System and method for workflow application programming interfaces (APIS)
US10979296B2 (en) 2017-10-04 2021-04-13 Servicenow, Inc. Systems and method for service mapping
US10983775B2 (en) 2016-10-31 2021-04-20 Servicenow, Inc. System and method for creating and deploying a release package
US10992537B2 (en) 2017-08-01 2021-04-27 Servicenow, Inc. Automatic grouping of similar applications and devices on a network map
US10992544B2 (en) 2018-09-07 2021-04-27 Servicenow, Inc. Identification and display of configuration item information
US10996934B2 (en) 2018-07-16 2021-05-04 Servicenow, Inc. Systems and methods for comparing computer scripts
US10997002B2 (en) 2019-05-03 2021-05-04 Servicenow, Inc. Quick actions
US11025506B2 (en) 2018-02-26 2021-06-01 Servicenow, Inc. Interactive software renormalization
US11025507B2 (en) 2016-11-02 2021-06-01 Servicenow, Inc. System and method of associating metadata with computing resources across multiple providers
US11023461B2 (en) 2018-01-19 2021-06-01 Servicenow, Inc. Query translation
US11032691B2 (en) 2017-10-02 2021-06-08 Servicenow, Inc. Operation of device and application discovery for a managed network
US11032381B2 (en) 2019-06-19 2021-06-08 Servicenow, Inc. Discovery and storage of resource tags
US11036751B2 (en) 2018-05-07 2021-06-15 Servicenow, Inc. Advanced insights explorer
US11044144B2 (en) 2017-10-04 2021-06-22 Servicenow, Inc. Self-monitoring
US11044143B2 (en) 2017-04-17 2021-06-22 Servicenow, Inc. System for processing events using event rules
US11050632B2 (en) 2017-05-04 2021-06-29 Servicenow, Inc. Automated inventory for IoT devices
US11057276B2 (en) 2017-10-04 2021-07-06 Servicenow, Inc. Bulk service mapping
US11061890B2 (en) 2018-10-04 2021-07-13 Servicenow, Inc. Automated identification of hardware and software components relevant to incident reports
US11063946B2 (en) 2018-10-24 2021-07-13 Servicenow, Inc. Feedback framework
US11070632B2 (en) 2018-10-17 2021-07-20 Servicenow, Inc. Identifying computing devices in a managed network that are involved in blockchain-based mining
US11070435B2 (en) 2019-01-16 2021-07-20 Servicenow, Inc. Service model re-computation based on configuration item change type
US11068140B2 (en) 2019-01-04 2021-07-20 Servicenow, Inc. Intelligent overflow menu
US11074255B2 (en) 2014-12-31 2021-07-27 Servicenow, Inc. System independent configuration management database identification system
US11074239B2 (en) 2018-02-26 2021-07-27 Servicenow, Inc. De-duplication of configuration items related to a managed network
US11082289B2 (en) 2019-05-03 2021-08-03 Servicenow, Inc. Alert intelligence integration
US11086677B2 (en) 2018-11-09 2021-08-10 Servicenow, Inc. Lock scheduling using machine learning
US11089115B2 (en) 2019-12-30 2021-08-10 Servicenow, Inc. Discovery of cloud-based infrastructure and resources
US11095540B2 (en) 2019-01-23 2021-08-17 Servicenow, Inc. Hybrid anomaly detection for response-time-based events in a managed network
US11093617B2 (en) 2017-10-04 2021-08-17 Servicenow, Inc. Automated vulnerability grouping
US11100084B2 (en) 2017-05-05 2021-08-24 Servicenow, Inc. Configuration management identification rule testing
US11108647B2 (en) 2019-01-14 2021-08-31 Servicenow, Inc. Service mapping based on discovered keywords
US11115471B2 (en) 2019-03-28 2021-09-07 Servicenow, Inc. Identifying and mitigating configuration item flapping
US11115432B2 (en) 2019-07-08 2021-09-07 Servicenow, Inc. Multi-application recommendation engine for a remote network management platform
US11120049B2 (en) 2018-11-19 2021-09-14 Servicenow, Inc. Concurrent data imports
US11129159B2 (en) 2019-04-11 2021-09-21 Servicenow, Inc. Programmatic orchestration of cloud-based services
US11128542B2 (en) 2018-02-26 2021-09-21 Servicenow, Inc. Interactive user interface to visually display the impact of configuration changes on a managed network
US11126597B2 (en) 2019-01-17 2021-09-21 Servicenow, Inc. Efficient database table rotation and upgrade
US11132378B2 (en) 2017-11-16 2021-09-28 Servicenow, Inc. Systems and methods for interactive analysis
US11132613B2 (en) 2017-08-10 2021-09-28 Servicenow, Inc. Traffic based discovery noise reduction architecture
US11133992B2 (en) 2019-05-03 2021-09-28 Servicenow, Inc. Detection and notification of anomalies in shared computer networks
US11138006B2 (en) 2017-05-05 2021-10-05 Servicenow, Inc. Hybrid development systems and methods
US11140042B2 (en) 2019-09-18 2021-10-05 Servicenow, Inc. Dictionary-based service mapping
US11140223B2 (en) 2020-01-14 2021-10-05 Servicenow, Inc. Systems and methods for synchronizing data between hub and spoke environments
US11150954B2 (en) 2019-02-04 2021-10-19 Servicenow, Inc. Mitigating resource scheduling conflicts in a cloud platform
US11150894B2 (en) 2019-05-28 2021-10-19 Servicenow, Inc. Systems and methods for software build file analytics
US11157292B2 (en) 2018-11-13 2021-10-26 Servicenow, Inc. Instance mapping engine and tools
US11157273B2 (en) 2019-05-02 2021-10-26 Servicenow, Inc. Scaled agile framework program board
US11157255B2 (en) 2017-05-05 2021-10-26 Servicenow, Inc. Software asset management
US11159557B2 (en) 2019-11-13 2021-10-26 Servicenow, Inc. Network security through linking vulnerability management and change management
US11163747B2 (en) 2017-05-05 2021-11-02 Servicenow, Inc. Time series data forecasting
US11163791B2 (en) 2019-01-23 2021-11-02 Servicenow, Inc. Transformation configuration in instance data replication with bi-directional replication support
US11176157B2 (en) 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11184242B2 (en) 2017-05-05 2021-11-23 Servicenow, Inc. System and method for automating the discovery process
US11188505B2 (en) 2016-09-29 2021-11-30 Servicenow, Inc. System and method for batch database modification
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11188553B2 (en) 2019-12-31 2021-11-30 Servicenow, Inc. System and method for importation of configuration item (CI) data into a configuration management database (CMDB)
US11205047B2 (en) 2019-09-05 2021-12-21 Servicenow, Inc. Hierarchical search for improved search relevance
US11204981B2 (en) 2017-10-04 2021-12-21 Servicenow, Inc. Distribution and enforcement of per-feature-set software application licensing
US11204903B2 (en) 2019-05-02 2021-12-21 Servicenow, Inc. Determination and reconciliation of software used by a managed network
US11210630B2 (en) 2019-05-02 2021-12-28 Servicenow, Inc. Integrated receiving and classification of computer hardware
US11223640B2 (en) 2017-05-03 2022-01-11 Servicenow, Inc. Aggregating network security data for export
US11228648B2 (en) 2018-03-29 2022-01-18 Servicenow, Inc. Internet of things (IOT) platform for device configuration management and support
US11226978B2 (en) 2019-04-23 2022-01-18 Servicenow, Inc. Systems and methods for dynamic creation of schemas
US11232086B2 (en) 2019-05-02 2022-01-25 Servicenow, Inc. Preventing and recovering from duplication in a configuration management database
US11232224B2 (en) 2018-03-15 2022-01-25 Servicenow, Inc. Database encryption
US11233747B2 (en) 2019-01-23 2022-01-25 Servicenow, Inc. Systems and methods for acquiring server resources at schedule time
US11232021B2 (en) 2019-05-02 2022-01-25 Servicenow, Inc. Database record locking for test parallelization
US11240241B2 (en) 2019-06-19 2022-02-01 Servicenow, Inc. Discovery and mapping of a cloud-based authentication, authorization, and user management service
US11238038B2 (en) 2017-05-03 2022-02-01 Servicenow, Inc. Class path based database operations
US11250166B2 (en) 2014-07-21 2022-02-15 Servicenow, Inc. Fingerprint-based configuration typing and classification
US11256699B2 (en) 2019-01-23 2022-02-22 Servicenow, Inc. Grammar-based searching of a configuration management database
US11258865B2 (en) 2019-03-28 2022-02-22 Servicenow, Inc. Automated integration with cloud-based services
US11256391B2 (en) 2019-08-12 2022-02-22 Servicenow, Inc. Mobile user interface for displaying heterogeneous items interleaved by common data type
US11263201B2 (en) 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US11265693B2 (en) 2017-04-07 2022-03-01 Servicenow, Inc. System of actions for IoT devices
US11265203B2 (en) 2015-11-02 2022-03-01 Servicenow, Inc. System and method for processing alerts indicative of conditions of a computing infrastructure
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11296960B2 (en) 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
US11301267B2 (en) 2020-05-22 2022-04-12 Servicenow, Inc. Automated task management techniques
US11301486B2 (en) 2017-10-10 2022-04-12 Servicenow, Inc. Visualizing time metric database
CN114338412A (en) * 2021-12-29 2022-04-12 浪潮通信信息系统有限公司 Method, device, equipment and product for displaying topology view of 5G network
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
US11327794B2 (en) 2018-05-02 2022-05-10 Servicenow, Inc. Periodic task execution in an automated context
US11336524B2 (en) 2017-10-04 2022-05-17 Servicenow, Inc. Guided configuration item class creation in a remote network management platform
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11347806B2 (en) 2019-12-30 2022-05-31 Servicenow, Inc. Discovery of containerized platform and orchestration services
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11347742B2 (en) 2015-01-23 2022-05-31 Servicenow, Inc. Querying across a composite join of multiple database tables using a search engine index
US11356343B2 (en) 2017-07-20 2022-06-07 Servicenow, Inc. Splitting network discovery payloads based on degree of relationships between nodes
US11361269B2 (en) 2016-10-26 2022-06-14 Servicenow, Inc. System and method for service modeling
US11366656B2 (en) 2017-09-07 2022-06-21 Servicenow, Inc. Identifying customization changes between instances
US11372930B2 (en) 2017-05-05 2022-06-28 Servicenow, Inc. Template-based faceted search experience
US11374826B2 (en) 2018-11-27 2022-06-28 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US11373124B2 (en) 2018-05-04 2022-06-28 Servicenow, Inc. System and method for a control based project scheduling mode
US11381448B2 (en) 2019-06-20 2022-07-05 ServiceNow, Inc . Systems and methods for cloud resource synchronization
US11379575B2 (en) 2009-08-27 2022-07-05 Servicenow, Inc. Unified user identification with automatic mapping and database absence handling
US11379560B2 (en) 2019-03-18 2022-07-05 ServiceNow Inc. Systems and methods for license analysis
US11392273B2 (en) 2017-05-05 2022-07-19 Servicenow, Inc. Software application portfolio discovery and management
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11403311B2 (en) 2017-04-10 2022-08-02 Servicenow, Inc. Systems and methods for querying time series data
US11409844B2 (en) 2019-02-11 2022-08-09 Servicenow, Inc. Systems and methods for license management in a domain-separated architecture
US11409628B2 (en) 2017-10-04 2022-08-09 Servicenow, Inc. Systems and methods for robust anomaly detection
US11418395B2 (en) 2020-01-08 2022-08-16 Servicenow, Inc. Systems and methods for an enhanced framework for a distributed computing system
US11423155B2 (en) 2019-08-28 2022-08-23 Servicenow, Inc. Software vulnerability detection in managed networks
US11431568B2 (en) 2018-12-20 2022-08-30 Servicenow, Inc. Discovery of software bus architectures
US11431824B2 (en) 2019-05-03 2022-08-30 Servicenow, Inc. Server-side control over navigation mode in web application
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
USD963669S1 (en) 2019-04-10 2022-09-13 Servicenow, Inc. Display screen with graphical user interface
US11442942B2 (en) 2018-05-01 2022-09-13 Servicenow, Inc. Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework
US11449579B2 (en) 2018-09-19 2022-09-20 Servicenow, Inc. File-based software application discovery
US11449326B2 (en) 2017-08-09 2022-09-20 Servicenow, Inc. Systems and methods for recomputing services
US11456927B2 (en) 2017-04-24 2022-09-27 Servicenow, Inc. Installation and upgrade of visualizations for managed networks
US11455357B2 (en) 2019-11-06 2022-09-27 Servicenow, Inc. Data processing systems and methods
US11461288B2 (en) 2019-03-14 2022-10-04 Servicenow, Inc. Systems and methods for database management system (DBMS) discovery
US11461673B2 (en) 2019-10-07 2022-10-04 Servicenow, Inc. Shared machine learning model for application discovery
US11463323B2 (en) 2020-07-14 2022-10-04 Servicenow, Inc. Discovery process identification and classification
US11468238B2 (en) 2019-11-06 2022-10-11 ServiceNow Inc. Data processing systems and methods
US11468641B2 (en) 2018-02-06 2022-10-11 Servicenow, Inc. Augmented reality assistant
US11474845B2 (en) 2020-09-09 2022-10-18 Servicenow, Inc. System and method for versioned script management
US11477029B2 (en) 2020-01-02 2022-10-18 Servicenow, Inc. Hardware normalization for a managed network
US11474842B2 (en) 2017-05-05 2022-10-18 Servicenow, Inc. Integration application creator design
US11481474B2 (en) 2019-05-03 2022-10-25 Servicenow, Inc. Discovery and allocation of entitlements to virtualized applications
US11481417B2 (en) 2019-11-06 2022-10-25 Servicenow, Inc. Generation and utilization of vector indexes for data processing systems and methods
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
US11489861B2 (en) 2019-11-14 2022-11-01 Servicenow, Inc. System and method for solution resolution for vulnerabilities identified by third-party vulnerability scanners
US11487624B2 (en) 2015-01-23 2022-11-01 Servicenow, Inc. Distributed computing system with resource managed database cloning
US11500874B2 (en) 2019-01-23 2022-11-15 Servicenow, Inc. Systems and methods for linking metric data to resources
US11509729B2 (en) 2017-11-16 2022-11-22 Servicenow, Inc. Field service management mobile offline synchronization
US11507750B2 (en) 2018-03-23 2022-11-22 Servicenow, Inc. Method and system for automated intent mining, classification and disposition
US11507442B2 (en) 2019-09-17 2022-11-22 Servicenow, Inc. Method and system for determining maturity level of a cloud computing service
US11507644B2 (en) 2019-10-02 2022-11-22 Servicenow, Inc. Discovery and classification of software application suites
US11520622B2 (en) 2019-05-03 2022-12-06 Servicenow, Inc. Active queue management in a multi-node computing environment
US11520621B2 (en) 2019-08-26 2022-12-06 Servicenow, Inc. Computational instance batching and automation orchestration based on resource usage and availability
US11520863B2 (en) 2019-02-27 2022-12-06 Servicenow, Inc. Systems and methods for importing software license metric data into a configuration management database (CMDB)
US11593461B2 (en) 2019-03-11 2023-02-28 Servicenow, Inc. Systems and methods for third-party library management
US11615358B2 (en) 2017-10-04 2023-03-28 Servicenow, Inc. Data insights for performance analytics
US11620571B2 (en) 2017-05-05 2023-04-04 Servicenow, Inc. Machine learning with distributed training
US11627031B2 (en) 2017-04-18 2023-04-11 Servicenow, Inc. Transformation and transmission of event messages
US11636104B2 (en) 2020-07-28 2023-04-25 Servicenow, Inc. Analytics center having a natural language query (NLQ) interface
US11641406B2 (en) 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
US11669599B2 (en) 2018-11-26 2023-06-06 Servicenow, Inc. Systems and methods for software license management
US11698911B2 (en) 2019-11-08 2023-07-11 Servicenow, Inc. System and methods for performing updated query requests in a system of multiple database engine
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
US11805146B2 (en) 2020-04-29 2023-10-31 Servicenow, Inc. System and method for detection promotion
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11838374B2 (en) 2021-02-12 2023-12-05 Servicenow, Inc. Remote network management infrastructure for cloud-based deployments
US11880557B2 (en) 2018-01-29 2024-01-23 Servicenow, Inc. Distributed editing and versioning for graphical service maps of a managed network
US11922155B2 (en) 2018-05-02 2024-03-05 Servicenow, Inc. Post-upgrade debugging in a remote network management platform

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644532A (en) * 1985-06-10 1987-02-17 International Business Machines Corporation Automatic update of topology in a hybrid network
US5023873A (en) * 1989-06-15 1991-06-11 International Business Machines Corporation Method and apparatus for communication link management
US5727157A (en) * 1990-09-17 1998-03-10 Cabletron Systems, Inc. Apparatus and method for determining a computer network topology
US5729685A (en) * 1993-06-29 1998-03-17 Bay Networks, Inc. Apparatus for determining the topology of an ATM network or the like Via communication of topology information between a central manager and switches in the network over a virtual service path
EP0830047A2 (en) 1996-07-03 1998-03-18 Alcatel Connectivity matrix-based multi-cost routing
US5732086A (en) * 1995-09-21 1998-03-24 International Business Machines Corporation System and method for determining the topology of a reconfigurable multi-nodal network
US5740346A (en) * 1996-02-22 1998-04-14 Fujitsu, Ltd. System and method for dynamic network topology exploration
WO1998044400A2 (en) 1997-04-01 1998-10-08 Sony Trans Com Inc. Automatic configuration system for mapping node addresses within a bus structure to their physcal location
US5886643A (en) 1996-09-17 1999-03-23 Concord Communications Incorporated Method and apparatus for discovering network topology
JP2000076209A (en) 1998-08-06 2000-03-14 Matsushita Electric Ind Co Ltd Network topology based on three degree node and routing algorithm
US6108702A (en) * 1998-12-02 2000-08-22 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
US6347336B1 (en) * 1998-04-06 2002-02-12 Samsung Electronics Co., Ltd. Automatic discovery and positioning method of the network elements in the network management system in case that the network topology is configured
US6636981B1 (en) * 2000-01-06 2003-10-21 International Business Machines Corporation Method and system for end-to-end problem determination and fault isolation for storage area networks
US6791948B1 (en) * 1998-05-02 2004-09-14 Emulex Corporation Distributed switch and connection control arrangement and method for digital communications network
US6885644B1 (en) * 2000-05-30 2005-04-26 International Business Machines Corporation Topology propagation in a distributed computing environment with no topology message traffic in steady state

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043659A1 (en) * 1996-05-15 1997-11-20 Dassault Electronique Network component diagnosis, using modelling by bands

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644532A (en) * 1985-06-10 1987-02-17 International Business Machines Corporation Automatic update of topology in a hybrid network
US5023873A (en) * 1989-06-15 1991-06-11 International Business Machines Corporation Method and apparatus for communication link management
US5727157A (en) * 1990-09-17 1998-03-10 Cabletron Systems, Inc. Apparatus and method for determining a computer network topology
US5729685A (en) * 1993-06-29 1998-03-17 Bay Networks, Inc. Apparatus for determining the topology of an ATM network or the like Via communication of topology information between a central manager and switches in the network over a virtual service path
US5732086A (en) * 1995-09-21 1998-03-24 International Business Machines Corporation System and method for determining the topology of a reconfigurable multi-nodal network
US5740346A (en) * 1996-02-22 1998-04-14 Fujitsu, Ltd. System and method for dynamic network topology exploration
EP0830047A2 (en) 1996-07-03 1998-03-18 Alcatel Connectivity matrix-based multi-cost routing
US5886643A (en) 1996-09-17 1999-03-23 Concord Communications Incorporated Method and apparatus for discovering network topology
WO1998044400A2 (en) 1997-04-01 1998-10-08 Sony Trans Com Inc. Automatic configuration system for mapping node addresses within a bus structure to their physcal location
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6347336B1 (en) * 1998-04-06 2002-02-12 Samsung Electronics Co., Ltd. Automatic discovery and positioning method of the network elements in the network management system in case that the network topology is configured
US6791948B1 (en) * 1998-05-02 2004-09-14 Emulex Corporation Distributed switch and connection control arrangement and method for digital communications network
JP2000076209A (en) 1998-08-06 2000-03-14 Matsushita Electric Ind Co Ltd Network topology based on three degree node and routing algorithm
US6108702A (en) * 1998-12-02 2000-08-22 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
US6405248B1 (en) * 1998-12-02 2002-06-11 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
US6636981B1 (en) * 2000-01-06 2003-10-21 International Business Machines Corporation Method and system for end-to-end problem determination and fault isolation for storage area networks
US6885644B1 (en) * 2000-05-30 2005-04-26 International Business Machines Corporation Topology propagation in a distributed computing environment with no topology message traffic in steady state

Cited By (325)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203768B2 (en) * 2000-12-22 2007-04-10 Intel Corporation Managing network traffic using hashing functions
US20020129133A1 (en) * 2000-12-22 2002-09-12 Olsen Gregory P. Managing network traffic using hashing functions
US7729290B2 (en) * 2000-12-30 2010-06-01 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US20120076492A1 (en) * 2000-12-30 2012-03-29 Saleh Ali N Method for routing information over a network employing centralized control
US8081582B2 (en) 2000-12-30 2011-12-20 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US20080037562A1 (en) * 2000-12-30 2008-02-14 Saleh Ali N Method for routing information over a network employing centralized control
US9030962B2 (en) * 2000-12-30 2015-05-12 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US20100208622A1 (en) * 2000-12-30 2010-08-19 Saleh Ali N Method for routing information over a network employing centralized control
US9130741B2 (en) 2001-03-29 2015-09-08 Panasonic Corporation Data protection system that protects data by encrypting the data
US20100034388A1 (en) * 2001-03-29 2010-02-11 Toshihisa Nakano Data protection system that protects data by encrypting the data
US8416953B2 (en) * 2001-03-29 2013-04-09 Panasonic Corporation Data protection system that protects data by encrypting the data
US20020188656A1 (en) * 2001-05-15 2002-12-12 Charles Patton Combining specialized, spatially distinguished, point to point communications with other wireless networking communications to provide networking configuration in classroom-like settings
US8031638B2 (en) * 2002-09-14 2011-10-04 Roche Diagnostics Operations, Inc. Method and system for determining the topology of a modular analysis system
US20060165016A1 (en) * 2002-09-14 2006-07-27 Friedrich Ackermann Method and system for determining the topology of a modular analysis system
US20050036500A1 (en) * 2003-08-15 2005-02-17 Rodeheffer Thomas Lee Method and system for initializing host location information across smart bridge topology changes
US7558217B2 (en) * 2003-08-15 2009-07-07 Hewlett-Packard Development Company, L.P. Method and system for initializing host location information across smart bridge topology changes
US8040820B2 (en) * 2007-03-06 2011-10-18 Cisco Technology, Inc. Modelling service flows in dynamic access domains
US20080219277A1 (en) * 2007-03-06 2008-09-11 Cisco Technology, Inc Modelling service flows in dynamic access domains
US10768994B2 (en) 2007-03-30 2020-09-08 Servicenow, Inc. Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US11385939B2 (en) 2007-03-30 2022-07-12 Servicenow, Inc. Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US7996093B2 (en) * 2008-01-24 2011-08-09 Rockwell Automation Technologies, Inc. Automatic controller relationship resolution
US20090192645A1 (en) * 2008-01-24 2009-07-30 Rockwell Automation Technologies, Inc. Automatic controller relationship resolution
US8761174B2 (en) 2009-03-11 2014-06-24 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US20100232396A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service architecture for home mesh network
US8223786B2 (en) 2009-03-11 2012-07-17 Sony Corporation Quality of service scheduling for home mesh network
US20100232369A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Multi-channel single radio communication in home mesh network
US20100232371A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service service scheduling for home mesh network
US8780762B2 (en) * 2009-03-11 2014-07-15 Sony Corporation Node query in ad hoc home mesh network
US8861445B2 (en) 2009-03-11 2014-10-14 Sony Cororation Multi-channel single radio communication in home mesh network
US20100232400A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Virtualizing single radio for multiple wireless interfaces in home mesh network
US20100232370A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US20100232354A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Node query in ad hoc home mesh network
US8194593B2 (en) 2009-03-11 2012-06-05 Sony Corporation Quality of service architecture for home mesh network
US11379575B2 (en) 2009-08-27 2022-07-05 Servicenow, Inc. Unified user identification with automatic mapping and database absence handling
US11249728B2 (en) 2010-08-09 2022-02-15 Servicenow, Inc. System and method for generating an application structure for an application in a computerized organization
US10048943B2 (en) 2010-08-09 2018-08-14 Servicenow, Inc. System and method for generating an application structure for an application in a computerized organization
US10394527B2 (en) 2010-08-09 2019-08-27 Servicenow, Inc. System and method for generating an application structure for an application in a computerized organization
US9215270B2 (en) 2010-08-09 2015-12-15 Servicenow, Inc. System and method for determining a topology of at least one application in a computerized organization
US10445069B2 (en) 2010-08-09 2019-10-15 Servicenow, Inc. System and method for generating an application structure for an application in a computerized organization
US10824398B2 (en) 2010-08-09 2020-11-03 Servicenow, Inc. System and method for generating an application structure for an application in a computerized organization
US9641643B2 (en) 2010-08-09 2017-05-02 Servicenow, Inc. System and method for storing a skeleton representation of an application in a computerized organization
US10374898B2 (en) 2014-04-24 2019-08-06 The Boeing Company Network revision evaluator
US11909842B2 (en) 2014-06-09 2024-02-20 Servicenow, Inc. System and method for providing database content on a client device
US10819814B2 (en) 2014-06-09 2020-10-27 Servicenow, Inc. System and method for providing database content on a client device
US11250166B2 (en) 2014-07-21 2022-02-15 Servicenow, Inc. Fingerprint-based configuration typing and classification
US11269838B2 (en) 2014-10-08 2022-03-08 Servicenow, Inc. Collision detection using state management of configuration items
US10803041B2 (en) 2014-10-08 2020-10-13 Servicenow, Inc. Collision detection using state management of configuration items
US10601660B2 (en) 2014-12-22 2020-03-24 Servicenow, Inc. Auto discovery of configuration items
US11074255B2 (en) 2014-12-31 2021-07-27 Servicenow, Inc. System independent configuration management database identification system
US11347742B2 (en) 2015-01-23 2022-05-31 Servicenow, Inc. Querying across a composite join of multiple database tables using a search engine index
US11487624B2 (en) 2015-01-23 2022-11-01 Servicenow, Inc. Distributed computing system with resource managed database cloning
US10819604B2 (en) 2015-05-28 2020-10-27 Servicenow, Inc. Change to availability mapping
US10972334B2 (en) 2015-08-12 2021-04-06 Servicenow, Inc. Automated electronic computing and communication system event analysis and management
US10491455B2 (en) 2015-08-12 2019-11-26 Servicenow, Inc. Automated electronics computing and communication system event analysis and management
US11265203B2 (en) 2015-11-02 2022-03-01 Servicenow, Inc. System and method for processing alerts indicative of conditions of a computing infrastructure
US10819594B2 (en) 2015-11-02 2020-10-27 Servicenow, Inc. System and method for generating a graphical display region indicative of conditions of a computing infrastructure
US10810228B2 (en) 2015-11-02 2020-10-20 Servicenow, Inc. Universal automatic data update detection and publication
US10938850B2 (en) 2016-04-12 2021-03-02 Servicenow, Inc. Method and apparatus for reducing security risk in a networked computer system architecture
US10965530B2 (en) 2016-04-20 2021-03-30 Servicenow, Inc. Multi-stage network discovery
US10826783B2 (en) 2016-04-20 2020-11-03 Servicenow, Inc. System and method for custom graph generation
US11336748B2 (en) 2016-05-13 2022-05-17 Servicenow, Inc. System and method for deploying resources within a computing infrastructure
US10812625B2 (en) 2016-05-13 2020-10-20 Servicenow, Inc. System and method for deploying resources within a computing infrastructure
US11188505B2 (en) 2016-09-29 2021-11-30 Servicenow, Inc. System and method for batch database modification
US11361269B2 (en) 2016-10-26 2022-06-14 Servicenow, Inc. System and method for service modeling
US10983775B2 (en) 2016-10-31 2021-04-20 Servicenow, Inc. System and method for creating and deploying a release package
US11025507B2 (en) 2016-11-02 2021-06-01 Servicenow, Inc. System and method of associating metadata with computing resources across multiple providers
US11637759B2 (en) 2016-11-02 2023-04-25 Servicenow, Inc. System and method of associating metadata with computing resources across multiple providers
US11265693B2 (en) 2017-04-07 2022-03-01 Servicenow, Inc. System of actions for IoT devices
US11403311B2 (en) 2017-04-10 2022-08-02 Servicenow, Inc. Systems and methods for querying time series data
US11044143B2 (en) 2017-04-17 2021-06-22 Servicenow, Inc. System for processing events using event rules
US11627031B2 (en) 2017-04-18 2023-04-11 Servicenow, Inc. Transformation and transmission of event messages
US11456927B2 (en) 2017-04-24 2022-09-27 Servicenow, Inc. Installation and upgrade of visualizations for managed networks
US10826993B2 (en) 2017-05-02 2020-11-03 Servicenow, Inc. Cloud resource provisioning using blueprint chaining
US10944771B2 (en) 2017-05-03 2021-03-09 Servicenow, Inc. Computing resource identification
US10936613B2 (en) 2017-05-03 2021-03-02 Servicenow, Inc. Table-per-partition
US11223640B2 (en) 2017-05-03 2022-01-11 Servicenow, Inc. Aggregating network security data for export
US11743278B2 (en) 2017-05-03 2023-08-29 Servicenow, Inc. Aggregating network security data for export
US11055306B2 (en) 2017-05-03 2021-07-06 Servicenow, Inc. Table-per-partition
US11238038B2 (en) 2017-05-03 2022-02-01 Servicenow, Inc. Class path based database operations
US11438214B2 (en) 2017-05-04 2022-09-06 Servicenow, Inc. Operational analytics in managed networks
US10826757B2 (en) 2017-05-04 2020-11-03 Servicenow, Inc. Operational analytics in managed networks
US11050632B2 (en) 2017-05-04 2021-06-29 Servicenow, Inc. Automated inventory for IoT devices
US10972564B2 (en) 2017-05-05 2021-04-06 Servicenow, Inc. System and method for automating actions in distributed computing
US10949903B2 (en) 2017-05-05 2021-03-16 Servicenow, Inc. System, computer-readable medium, and method for blueprint-based cloud management
US10956435B2 (en) 2017-05-05 2021-03-23 Servicenow, Inc. Global search
US10832189B2 (en) 2017-05-05 2020-11-10 Servicenow, Inc. Systems and methods for dynamically scheduling tasks across an enterprise
US11474842B2 (en) 2017-05-05 2022-10-18 Servicenow, Inc. Integration application creator design
US11184242B2 (en) 2017-05-05 2021-11-23 Servicenow, Inc. System and method for automating the discovery process
US11372930B2 (en) 2017-05-05 2022-06-28 Servicenow, Inc. Template-based faceted search experience
US11853365B2 (en) 2017-05-05 2023-12-26 Servicenow, Inc. Template-based faceted search experience
US10915515B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Database performance tuning framework
US10917419B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Systems and methods for anomaly detection
US11620571B2 (en) 2017-05-05 2023-04-04 Servicenow, Inc. Machine learning with distributed training
US11586426B2 (en) 2017-05-05 2023-02-21 Servicenow, Inc. Service release tool
US10389589B2 (en) 2017-05-05 2019-08-20 Servicenow, Inc. Unified device and service discovery across multiple network types
US11100084B2 (en) 2017-05-05 2021-08-24 Servicenow, Inc. Configuration management identification rule testing
US11392273B2 (en) 2017-05-05 2022-07-19 Servicenow, Inc. Software application portfolio discovery and management
US11163747B2 (en) 2017-05-05 2021-11-02 Servicenow, Inc. Time series data forecasting
US11132729B2 (en) 2017-05-05 2021-09-28 Servicenow, Inc. Systems and methods for blueprint-based cloud management
US11329887B2 (en) 2017-05-05 2022-05-10 Servicenow, Inc. Device and service discovery across multiple network types
US10454775B2 (en) 2017-05-05 2019-10-22 Servicenow, Inc. Device and service discovery across multiple network types
US11157255B2 (en) 2017-05-05 2021-10-26 Servicenow, Inc. Software asset management
US11138006B2 (en) 2017-05-05 2021-10-05 Servicenow, Inc. Hybrid development systems and methods
US10809989B2 (en) 2017-05-05 2020-10-20 Servicenow, Inc. Service release tool
US10826691B2 (en) 2017-05-30 2020-11-03 Servicenow, Inc. Edge encryption
US11356343B2 (en) 2017-07-20 2022-06-07 Servicenow, Inc. Splitting network discovery payloads based on degree of relationships between nodes
US10992537B2 (en) 2017-08-01 2021-04-27 Servicenow, Inc. Automatic grouping of similar applications and devices on a network map
US11449326B2 (en) 2017-08-09 2022-09-20 Servicenow, Inc. Systems and methods for recomputing services
US11132613B2 (en) 2017-08-10 2021-09-28 Servicenow, Inc. Traffic based discovery noise reduction architecture
US10824642B2 (en) 2017-08-10 2020-11-03 Servicenow, Inc. Data synchronization architecture
US11366656B2 (en) 2017-09-07 2022-06-21 Servicenow, Inc. Identifying customization changes between instances
US10817788B2 (en) 2017-10-02 2020-10-27 Servicenow, Inc. Machine learning classification with confidence thresholds
US11411830B2 (en) 2017-10-02 2022-08-09 Servicenow, Inc. Systems and methods for determining entry points for mapping a network
US10911314B2 (en) 2017-10-02 2021-02-02 Servicenow, Inc. Systems and methods for determining entry points for mapping a network
US11032691B2 (en) 2017-10-02 2021-06-08 Servicenow, Inc. Operation of device and application discovery for a managed network
US11593507B2 (en) 2017-10-03 2023-02-28 Servicenow, Inc. Searching for encrypted data within a cloud based platform
US10956602B2 (en) 2017-10-03 2021-03-23 Servicenow, Inc. Searching for encrypted data within a cloud based platform
US11611480B2 (en) 2017-10-04 2023-03-21 Servicenow, Inc. Systems and methods for automated governance, risk, and compliance
US11706084B2 (en) 2017-10-04 2023-07-18 Servicenow, Inc. Self-monitoring
US11409628B2 (en) 2017-10-04 2022-08-09 Servicenow, Inc. Systems and methods for robust anomaly detection
US10979296B2 (en) 2017-10-04 2021-04-13 Servicenow, Inc. Systems and method for service mapping
US11057276B2 (en) 2017-10-04 2021-07-06 Servicenow, Inc. Bulk service mapping
US11204981B2 (en) 2017-10-04 2021-12-21 Servicenow, Inc. Distribution and enforcement of per-feature-set software application licensing
US10742504B2 (en) 2017-10-04 2020-08-11 Servicenow, Inc. Guided configuration item class creation in a remote network management platform
US11044144B2 (en) 2017-10-04 2021-06-22 Servicenow, Inc. Self-monitoring
US10812335B2 (en) 2017-10-04 2020-10-20 Servicenow, Inc. Data insights for performance analytics
US11329869B2 (en) 2017-10-04 2022-05-10 Servicenow, Inc. Self-monitoring
US10826767B2 (en) 2017-10-04 2020-11-03 Servicenow, Inc. Systems and methods for automated governance, risk, and compliance
US11108635B2 (en) 2017-10-04 2021-08-31 Servicenow, Inc. Guided configuration item class creation in a remote network management platform
US11615358B2 (en) 2017-10-04 2023-03-28 Servicenow, Inc. Data insights for performance analytics
US11336524B2 (en) 2017-10-04 2022-05-17 Servicenow, Inc. Guided configuration item class creation in a remote network management platform
US11093617B2 (en) 2017-10-04 2021-08-17 Servicenow, Inc. Automated vulnerability grouping
US11336523B2 (en) 2017-10-04 2022-05-17 Servicenow, Inc. System and method for database access using a history walker
US11809446B2 (en) 2017-10-10 2023-11-07 Servicenow, Inc. Visualizing time metric database
US11301486B2 (en) 2017-10-10 2022-04-12 Servicenow, Inc. Visualizing time metric database
US11520787B2 (en) 2017-11-15 2022-12-06 Servicenow, Inc. Predictive query improvement
US10795885B2 (en) 2017-11-15 2020-10-06 Servicenow, Inc. Predictive query improvement
US11132378B2 (en) 2017-11-16 2021-09-28 Servicenow, Inc. Systems and methods for interactive analysis
US10931630B2 (en) 2017-11-16 2021-02-23 Servicenow, Inc. System and method for connecting using aliases
US11509729B2 (en) 2017-11-16 2022-11-22 Servicenow, Inc. Field service management mobile offline synchronization
US11023461B2 (en) 2018-01-19 2021-06-01 Servicenow, Inc. Query translation
US11880557B2 (en) 2018-01-29 2024-01-23 Servicenow, Inc. Distributed editing and versioning for graphical service maps of a managed network
US11468641B2 (en) 2018-02-06 2022-10-11 Servicenow, Inc. Augmented reality assistant
US11074239B2 (en) 2018-02-26 2021-07-27 Servicenow, Inc. De-duplication of configuration items related to a managed network
US11025506B2 (en) 2018-02-26 2021-06-01 Servicenow, Inc. Interactive software renormalization
US10826776B2 (en) 2018-02-26 2020-11-03 Servicenow, Inc. Integrated continual improvement management
US11128542B2 (en) 2018-02-26 2021-09-21 Servicenow, Inc. Interactive user interface to visually display the impact of configuration changes on a managed network
US10693745B2 (en) 2018-02-27 2020-06-23 Servicenow, Inc. Defining and enforcing operational associations between configuration item classes in managed networks
US11296960B2 (en) 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
US11232224B2 (en) 2018-03-15 2022-01-25 Servicenow, Inc. Database encryption
US10956683B2 (en) 2018-03-23 2021-03-23 Servicenow, Inc. Systems and method for vocabulary management in a natural learning framework
US11507750B2 (en) 2018-03-23 2022-11-22 Servicenow, Inc. Method and system for automated intent mining, classification and disposition
US11681877B2 (en) 2018-03-23 2023-06-20 Servicenow, Inc. Systems and method for vocabulary management in a natural learning framework
US11228648B2 (en) 2018-03-29 2022-01-18 Servicenow, Inc. Internet of things (IOT) platform for device configuration management and support
US11720415B2 (en) 2018-03-29 2023-08-08 Servicenow, Inc. Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system
US10819560B2 (en) 2018-03-29 2020-10-27 Servicenow, Inc. Alert management system and method of using alert context-based alert rules
US10761903B2 (en) 2018-03-29 2020-09-01 Servicenow, Inc. Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system
US11252013B2 (en) 2018-03-29 2022-02-15 Servicenow, Inc. Alert management system and method of using alert context-based alert rules
US11550774B2 (en) 2018-04-02 2023-01-10 Servicenow, Inc. System and method for alert insight in configuration management databases (CMDBs)
US10824616B2 (en) 2018-04-02 2020-11-03 Servicenow, Inc. System and method for alert insight in configuration management databases (CMDBs)
US10708753B2 (en) 2018-04-03 2020-07-07 Servicenow, Inc. Discovery and service mapping of serverless resources
US10708755B2 (en) 2018-04-03 2020-07-07 Servicenow, Inc. Discovery and service mapping of serverless resources
US11442942B2 (en) 2018-05-01 2022-09-13 Servicenow, Inc. Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework
US11922155B2 (en) 2018-05-02 2024-03-05 Servicenow, Inc. Post-upgrade debugging in a remote network management platform
US11327794B2 (en) 2018-05-02 2022-05-10 Servicenow, Inc. Periodic task execution in an automated context
US11373124B2 (en) 2018-05-04 2022-06-28 Servicenow, Inc. System and method for a control based project scheduling mode
US10771327B2 (en) 2018-05-07 2020-09-08 Servicenow, Inc. Multi-instance architecture supporting out-of-band delivery of configuration data
US11336531B2 (en) 2018-05-07 2022-05-17 Servicenow, Inc. Discovery and management of devices
US11036751B2 (en) 2018-05-07 2021-06-15 Servicenow, Inc. Advanced insights explorer
US10938663B2 (en) 2018-05-07 2021-03-02 Servicenow, Inc. Discovery and management of devices
US11163550B2 (en) 2018-05-07 2021-11-02 Servicenow, Inc. Multi-instance architecture supporting out-of-band delivery of configuration data
US10936980B2 (en) 2018-05-07 2021-03-02 Servicenow, Inc. Graphical user interface for enterprise project portfolio management utilizing normalized project attributes mapped to a common framework
US10944654B2 (en) 2018-06-06 2021-03-09 Servicenow, Inc. Discovery and mapping of containerized software applications
US11379226B2 (en) 2018-06-12 2022-07-05 Servicenow, Inc. Mission-based developer certification system and method
US10747530B2 (en) 2018-06-12 2020-08-18 Servicenow, Inc. Mission-based developer certification system and method
US10795669B2 (en) 2018-06-15 2020-10-06 Servicenow, Inc. Systems and methods for integrating software source control, building, and testing applications
US10826682B2 (en) 2018-07-03 2020-11-03 Servicenow, Inc. Multi-instance architecture supporting trusted blockchain-based network
US10996934B2 (en) 2018-07-16 2021-05-04 Servicenow, Inc. Systems and methods for comparing computer scripts
US10915518B2 (en) 2018-08-09 2021-02-09 Servicenow, Inc. Partial discovery of cloud-based resources
US11288250B2 (en) 2018-08-09 2022-03-29 Servicenow, Inc. Partial discovery of cloud-based resources
US10972435B2 (en) 2018-09-05 2021-04-06 Servicenow, Inc. Dynamic discovery of executing applications
US11665142B2 (en) 2018-09-05 2023-05-30 Servicenow, Inc. Dynamic discovery of executing applications
US10992544B2 (en) 2018-09-07 2021-04-27 Servicenow, Inc. Identification and display of configuration item information
US11924057B2 (en) 2018-09-07 2024-03-05 Servicenow, Inc. Identification and display of configuration item information
US11934802B2 (en) 2018-09-17 2024-03-19 Servicenow, Inc. System and method for workflow application programming interfaces (APIS)
US10970048B2 (en) 2018-09-17 2021-04-06 Servicenow, Inc. System and method for workflow application programming interfaces (APIS)
US11449579B2 (en) 2018-09-19 2022-09-20 Servicenow, Inc. File-based software application discovery
US11061890B2 (en) 2018-10-04 2021-07-13 Servicenow, Inc. Automated identification of hardware and software components relevant to incident reports
US11693847B2 (en) 2018-10-04 2023-07-04 Servicenow, Inc. Automated identification of hardware and software components relevant to incident reports
US10425292B1 (en) 2018-10-17 2019-09-24 Servicenow, Inc. Functional discovery and mapping of serverless resources
US11641406B2 (en) 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
US11070632B2 (en) 2018-10-17 2021-07-20 Servicenow, Inc. Identifying computing devices in a managed network that are involved in blockchain-based mining
US10819586B2 (en) 2018-10-17 2020-10-27 Servicenow, Inc. Functional discovery and mapping of serverless resources
US11611489B2 (en) 2018-10-17 2023-03-21 Servicenow, Inc. Functional discovery and mapping of serverless resources
US11063946B2 (en) 2018-10-24 2021-07-13 Servicenow, Inc. Feedback framework
US11700255B2 (en) 2018-10-24 2023-07-11 Servicenow, Inc. Feedback framework
US11709706B2 (en) 2018-11-09 2023-07-25 Servicenow, Inc. Lock scheduling using machine learning
US11086677B2 (en) 2018-11-09 2021-08-10 Servicenow, Inc. Lock scheduling using machine learning
US10958532B2 (en) 2018-11-09 2021-03-23 Servicenow, Inc. Machine learning based discovery of software as a service
US11157292B2 (en) 2018-11-13 2021-10-26 Servicenow, Inc. Instance mapping engine and tools
US10942787B2 (en) 2018-11-13 2021-03-09 Servicenow, Inc. Instance mapping engine and tools
US11120049B2 (en) 2018-11-19 2021-09-14 Servicenow, Inc. Concurrent data imports
US11669599B2 (en) 2018-11-26 2023-06-06 Servicenow, Inc. Systems and methods for software license management
US11374826B2 (en) 2018-11-27 2022-06-28 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US11748163B2 (en) * 2018-12-12 2023-09-05 Servicenow, Inc. Control token and hierarchical dynamic control
US10929186B2 (en) * 2018-12-12 2021-02-23 Servicenow, Inc. Control token and hierarchical dynamic control
US20210165693A1 (en) * 2018-12-12 2021-06-03 Servicenow, Inc. Control token and hierarchical dynamic control
US20200192716A1 (en) * 2018-12-12 2020-06-18 Servicenow, Inc. Control token and hierarchical dynamic control
US11431568B2 (en) 2018-12-20 2022-08-30 Servicenow, Inc. Discovery of software bus architectures
US11481204B2 (en) 2018-12-20 2022-10-25 Servicenow, Inc. Automatic generation of a software configuration for license reconciliation
US10824650B2 (en) 2018-12-20 2020-11-03 Servicenow, Inc. Discovery of database and related services
US10949186B2 (en) 2018-12-20 2021-03-16 Servicenow, Inc. Automatic generation of a software configuration for license reconciliation
US11645309B2 (en) 2018-12-20 2023-05-09 Servicenow, Inc. Discovery of database and related services
US10771344B2 (en) 2018-12-21 2020-09-08 Servicenow, Inc. Discovery of hyper-converged infrastructure devices
US10970107B2 (en) 2018-12-21 2021-04-06 Servicenow, Inc. Discovery of hyper-converged infrastructure
US11068140B2 (en) 2019-01-04 2021-07-20 Servicenow, Inc. Intelligent overflow menu
US10824305B1 (en) 2019-01-08 2020-11-03 Servicenow, Inc. Graphical user interfaces for software asset management
US11108647B2 (en) 2019-01-14 2021-08-31 Servicenow, Inc. Service mapping based on discovered keywords
US11070435B2 (en) 2019-01-16 2021-07-20 Servicenow, Inc. Service model re-computation based on configuration item change type
US11126597B2 (en) 2019-01-17 2021-09-21 Servicenow, Inc. Efficient database table rotation and upgrade
US10931774B2 (en) 2019-01-17 2021-02-23 Servicenow, Inc. Discovery and service mapping of application programming interface proxies
US11089117B2 (en) 2019-01-18 2021-08-10 Servicenow, Inc. Discovery of remote storage services and associated applications
US10491692B1 (en) 2019-01-18 2019-11-26 Servicenow, Inc. Discovery of remote storage services and associated applications
US10673963B1 (en) 2019-01-18 2020-06-02 Servicenow, Inc. Discovery of remote storage services and associated applications
US11233747B2 (en) 2019-01-23 2022-01-25 Servicenow, Inc. Systems and methods for acquiring server resources at schedule time
US11163791B2 (en) 2019-01-23 2021-11-02 Servicenow, Inc. Transformation configuration in instance data replication with bi-directional replication support
US11256699B2 (en) 2019-01-23 2022-02-22 Servicenow, Inc. Grammar-based searching of a configuration management database
US11500874B2 (en) 2019-01-23 2022-11-15 Servicenow, Inc. Systems and methods for linking metric data to resources
US11095540B2 (en) 2019-01-23 2021-08-17 Servicenow, Inc. Hybrid anomaly detection for response-time-based events in a managed network
US11150954B2 (en) 2019-02-04 2021-10-19 Servicenow, Inc. Mitigating resource scheduling conflicts in a cloud platform
US11409844B2 (en) 2019-02-11 2022-08-09 Servicenow, Inc. Systems and methods for license management in a domain-separated architecture
US11520863B2 (en) 2019-02-27 2022-12-06 Servicenow, Inc. Systems and methods for importing software license metric data into a configuration management database (CMDB)
US10951483B2 (en) 2019-03-04 2021-03-16 Servicenow, Inc. Agent-assisted discovery of network devices and services
US11593461B2 (en) 2019-03-11 2023-02-28 Servicenow, Inc. Systems and methods for third-party library management
US10949070B2 (en) 2019-03-13 2021-03-16 Servicenow, Inc. Customizable mobile application for event management
US11461288B2 (en) 2019-03-14 2022-10-04 Servicenow, Inc. Systems and methods for database management system (DBMS) discovery
US11379560B2 (en) 2019-03-18 2022-07-05 ServiceNow Inc. Systems and methods for license analysis
AU2020241610B2 (en) * 2019-03-18 2023-02-23 Servicenow, Inc. Systems and methods for license analysis
US10949074B2 (en) 2019-03-19 2021-03-16 Servicenow, Inc. Graphical user interfaces for defining complex data objects
US10917312B2 (en) 2019-03-21 2021-02-09 Servicenow, Inc. Graphical user interface for validation of credentials and scheduled discovery of remote networks
US11115471B2 (en) 2019-03-28 2021-09-07 Servicenow, Inc. Identifying and mitigating configuration item flapping
US11258865B2 (en) 2019-03-28 2022-02-22 Servicenow, Inc. Automated integration with cloud-based services
USD963669S1 (en) 2019-04-10 2022-09-13 Servicenow, Inc. Display screen with graphical user interface
US10749943B1 (en) 2019-04-11 2020-08-18 Servicenow, Inc. Discovery and mapping of cloud-based resources
US11129159B2 (en) 2019-04-11 2021-09-21 Servicenow, Inc. Programmatic orchestration of cloud-based services
US10924344B2 (en) 2019-04-11 2021-02-16 Servicenow, Inc. Discovery and mapping of cloud-based resource modifications
US11263201B2 (en) 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US11226978B2 (en) 2019-04-23 2022-01-18 Servicenow, Inc. Systems and methods for dynamic creation of schemas
US11374805B2 (en) 2019-05-02 2022-06-28 Servicenow, Inc. Descriptor architecture for a remote network management platform
US11232021B2 (en) 2019-05-02 2022-01-25 Servicenow, Inc. Database record locking for test parallelization
US11502897B2 (en) 2019-05-02 2022-11-15 Servicenow, Inc. Intelligent export and import of service representations
US10747757B1 (en) 2019-05-02 2020-08-18 Servicenow, Inc. Graphical query builder for multi-modal search
US10719503B1 (en) 2019-05-02 2020-07-21 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US10764124B1 (en) 2019-05-02 2020-09-01 Servicenow, Inc. Intelligent export and import of service representations
US11232086B2 (en) 2019-05-02 2022-01-25 Servicenow, Inc. Preventing and recovering from duplication in a configuration management database
US10686647B1 (en) 2019-05-02 2020-06-16 Servicenow, Inc. Descriptor architecture for a remote network management platform
US11157273B2 (en) 2019-05-02 2021-10-26 Servicenow, Inc. Scaled agile framework program board
US11204917B2 (en) 2019-05-02 2021-12-21 Servicenow, Inc. Graphical query builder for multi-modal search
US11204903B2 (en) 2019-05-02 2021-12-21 Servicenow, Inc. Determination and reconciliation of software used by a managed network
US11210630B2 (en) 2019-05-02 2021-12-28 Servicenow, Inc. Integrated receiving and classification of computer hardware
US11133992B2 (en) 2019-05-03 2021-09-28 Servicenow, Inc. Detection and notification of anomalies in shared computer networks
US10819557B1 (en) 2019-05-03 2020-10-27 Servicenow, Inc. Systems and methods for selective discovery of services
US10997002B2 (en) 2019-05-03 2021-05-04 Servicenow, Inc. Quick actions
US11082289B2 (en) 2019-05-03 2021-08-03 Servicenow, Inc. Alert intelligence integration
US11481474B2 (en) 2019-05-03 2022-10-25 Servicenow, Inc. Discovery and allocation of entitlements to virtualized applications
US11520622B2 (en) 2019-05-03 2022-12-06 Servicenow, Inc. Active queue management in a multi-node computing environment
US11431824B2 (en) 2019-05-03 2022-08-30 Servicenow, Inc. Server-side control over navigation mode in web application
US11150894B2 (en) 2019-05-28 2021-10-19 Servicenow, Inc. Systems and methods for software build file analytics
US11032381B2 (en) 2019-06-19 2021-06-08 Servicenow, Inc. Discovery and storage of resource tags
US11240241B2 (en) 2019-06-19 2022-02-01 Servicenow, Inc. Discovery and mapping of a cloud-based authentication, authorization, and user management service
US11381448B2 (en) 2019-06-20 2022-07-05 ServiceNow, Inc . Systems and methods for cloud resource synchronization
US11556713B2 (en) 2019-07-02 2023-01-17 Servicenow, Inc. System and method for performing a meaning search using a natural language understanding (NLU) framework
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
US11115432B2 (en) 2019-07-08 2021-09-07 Servicenow, Inc. Multi-application recommendation engine for a remote network management platform
US11706243B2 (en) 2019-07-08 2023-07-18 Servicenow, Inc. Multi-application recommendation engine for a remote network management platform
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11693688B2 (en) 2019-07-23 2023-07-04 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11176157B2 (en) 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US10963314B2 (en) 2019-07-31 2021-03-30 Servicenow, Inc. Discovery and mapping of a platform-as-a-service environment
US11256391B2 (en) 2019-08-12 2022-02-22 Servicenow, Inc. Mobile user interface for displaying heterogeneous items interleaved by common data type
US11520621B2 (en) 2019-08-26 2022-12-06 Servicenow, Inc. Computational instance batching and automation orchestration based on resource usage and availability
US11423155B2 (en) 2019-08-28 2022-08-23 Servicenow, Inc. Software vulnerability detection in managed networks
US11205047B2 (en) 2019-09-05 2021-12-21 Servicenow, Inc. Hierarchical search for improved search relevance
US11283681B2 (en) 2019-09-13 2022-03-22 Servicenow, Inc. Enhancing discovery patterns with shell command exit status
US10938657B1 (en) 2019-09-13 2021-03-02 Servicenow, Inc. Enhancing discovery patterns with shell command exit status
US11507442B2 (en) 2019-09-17 2022-11-22 Servicenow, Inc. Method and system for determining maturity level of a cloud computing service
US11140042B2 (en) 2019-09-18 2021-10-05 Servicenow, Inc. Dictionary-based service mapping
US11507644B2 (en) 2019-10-02 2022-11-22 Servicenow, Inc. Discovery and classification of software application suites
US11461673B2 (en) 2019-10-07 2022-10-04 Servicenow, Inc. Shared machine learning model for application discovery
US10917358B1 (en) 2019-10-31 2021-02-09 Servicenow, Inc. Cloud service for cross-cloud operations
US11398989B2 (en) 2019-10-31 2022-07-26 Servicenow, Inc. Cloud service for cross-cloud operations
US11455357B2 (en) 2019-11-06 2022-09-27 Servicenow, Inc. Data processing systems and methods
US11468238B2 (en) 2019-11-06 2022-10-11 ServiceNow Inc. Data processing systems and methods
US11481417B2 (en) 2019-11-06 2022-10-25 Servicenow, Inc. Generation and utilization of vector indexes for data processing systems and methods
US11698911B2 (en) 2019-11-08 2023-07-11 Servicenow, Inc. System and methods for performing updated query requests in a system of multiple database engine
US11818161B2 (en) 2019-11-13 2023-11-14 Servicenow, Inc. Network security through linking vulnerability management and change management
US11159557B2 (en) 2019-11-13 2021-10-26 Servicenow, Inc. Network security through linking vulnerability management and change management
US11706245B2 (en) 2019-11-14 2023-07-18 Servicenow, Inc. System and method for solution resolution for vulnerabilities identified by third-party vulnerability scanners
US11489861B2 (en) 2019-11-14 2022-11-01 Servicenow, Inc. System and method for solution resolution for vulnerabilities identified by third-party vulnerability scanners
US11089115B2 (en) 2019-12-30 2021-08-10 Servicenow, Inc. Discovery of cloud-based infrastructure and resources
US11347806B2 (en) 2019-12-30 2022-05-31 Servicenow, Inc. Discovery of containerized platform and orchestration services
US11762873B2 (en) 2019-12-31 2023-09-19 Servicenow, Inc. System and method for importation of configuration item (CI) data into a configuration management database (CMDB)
US11188553B2 (en) 2019-12-31 2021-11-30 Servicenow, Inc. System and method for importation of configuration item (CI) data into a configuration management database (CMDB)
US11477029B2 (en) 2020-01-02 2022-10-18 Servicenow, Inc. Hardware normalization for a managed network
US11838423B2 (en) 2020-01-02 2023-12-05 Servicenow, Inc. Hardware normalization for a managed network
US11418395B2 (en) 2020-01-08 2022-08-16 Servicenow, Inc. Systems and methods for an enhanced framework for a distributed computing system
US11140223B2 (en) 2020-01-14 2021-10-05 Servicenow, Inc. Systems and methods for synchronizing data between hub and spoke environments
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
US11921610B2 (en) 2020-01-16 2024-03-05 VMware LLC Correlation key used to correlate flow and context data
US11805146B2 (en) 2020-04-29 2023-10-31 Servicenow, Inc. System and method for detection promotion
US11301267B2 (en) 2020-05-22 2022-04-12 Servicenow, Inc. Automated task management techniques
US11463323B2 (en) 2020-07-14 2022-10-04 Servicenow, Inc. Discovery process identification and classification
US11636104B2 (en) 2020-07-28 2023-04-25 Servicenow, Inc. Analytics center having a natural language query (NLQ) interface
US11474845B2 (en) 2020-09-09 2022-10-18 Servicenow, Inc. System and method for versioned script management
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11838374B2 (en) 2021-02-12 2023-12-05 Servicenow, Inc. Remote network management infrastructure for cloud-based deployments
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
CN114338412A (en) * 2021-12-29 2022-04-12 浪潮通信信息系统有限公司 Method, device, equipment and product for displaying topology view of 5G network

Also Published As

Publication number Publication date
GB2371440A (en) 2002-07-24
GB2371440B (en) 2004-09-22
GB0125507D0 (en) 2001-12-12

Similar Documents

Publication Publication Date Title
US7027411B1 (en) Method and system for identifying and processing changes to a network topology
CN1306752C (en) Using link state information to discover IP network topology
US5850397A (en) Method for determining the topology of a mixed-media network
EP1779605B1 (en) Forwarding database in a network switch device
US7292541B1 (en) Methods and systems for unnumbered network link discovery
US5751967A (en) Method and apparatus for automatically configuring a network device to support a virtual network
US8089904B2 (en) Link inference in large networks based on incomplete data
EP2316192B1 (en) Incremental and targeted auto-discovery of network devices
US7385939B2 (en) Network management apparatus and method for determining the topology of a network
US20050243739A1 (en) Network topology discovery
KR20040034703A (en) Topology discovery by partitioning multiple discovery techniques
US5961597A (en) Apparatus and method for detecting a layout of a switched local network
US8948178B2 (en) Network clustering
CN113452561B (en) Topology generation method, device, equipment and readable storage medium
US8914503B2 (en) Detected IP link and connectivity inference
US7394821B2 (en) System and method for maintaining network system information
CN104836738A (en) Router hardware item resource management method and device, and network equipment
US20030097468A1 (en) Configuration of computer networks
TW201830924A (en) Virtual local area network configuration system and method, and computer program product thereof
US7039696B1 (en) Method and system for processing data for network connections
KR20030035917A (en) A prefix aggregation method for routing coordination protocol in a loosely coupled massively parallel router
CN111865655A (en) ARP table configuration method and system for service board card
GB2371441A (en) Mapping computer network topology
US8352637B2 (en) Techniques for resolving network connectivity
Cisco Token Ring VLANs and Related Protocols

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PULSIPHER, ERIC A.;HUNT, JOSEPH R.;REEL/FRAME:011634/0456

Effective date: 20001031

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:031818/0396

Effective date: 20131219

IPR Aia trial proceeding filed before the patent and appeal board: inter partes review

Free format text: TRIAL NO: IPR2015-00717

Opponent name: SERVICENOW, INC.

Effective date: 20150206

AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO REVERSE THE ASSIGNOR AND ASSIGNEE INCORRECTLY ENTERED PREVIOUSLY RECORDED AT REEL: 031818 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:036132/0393

Effective date: 20131219

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE COMPANY, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:036752/0425

Effective date: 20151002

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT PACKARD ENTERPRISE COMPANY;REEL/FRAME:060338/0543

Effective date: 20170831