METHOD AND APPARATUS FOR AUTOMATICALLY POPULATING A NETWORK SIMULATOR TOOL

Abstract: Method and apparatus for automatically populating a network simulation tool database (36) with network topology and/or traffic information. A topology extraction tool (26) is provided for reading the topology and traffic information in a network management system database (18), and translating this information into a matching data format required by the simulation tool database before writing the information to the simulation tool database. This automatic method avoids the time-consuming and error-prone prior art manual method of constructing a network model.

Description: METHOD AND APPARATUS FOR AUTOMATICALLY POPULATING A NETWORK SIMULATOR TOOL Field of the Invention The present invention is directed to a method and apparatus for automatically acquiring network topology and/or traffic information and populating a network simulation tool database with this information. The present invention ensures that the data format of the network topology and/or traffic information is consistent with the simulation tool database requirements before populating the simulation tool database. Background of the Invention In order to accurately simulate the behavior of a live network, accurate network topology information must be provided to the network simulation tool. In the prior art, the simulation tools require a user to manually construct a network model. Typically, the user would construct a network model by hand with a special-purpose graphics package. However, this prior art method is time-consuming and error-prone. In this prior art method, the user must have a conception of the model, or else consult other engineers, before building the model for the simulation tool. Consumption of time and error may result from the conceptualization process and in the manual entering of the network model. A more time-efficient and accurate means for providing topology information of a live network to the network simulator is highly desirable. Summary of the Invention The present invention achieves this goal of efficiently and accurately providing topology and/or traffic information of a live network to the network simulation tool. The present invention automatically discovers the topology and/or traffic of a live network and sends this information to a Network Management System Database which stores this information. A Topology Extraction Tool acts as an intermediary between the Network Management System Database and the Simulation Tool Database. The Topology Extraction Tool reads the topology and/or traffic information of the live network from the Network Management System Database. It then translates this information into a matching data format required by the Simulation Tool Database before writing the information into the Simulation Tool Database. Brief Description of the Drawing Fig. 1 is a schematic illustration of an apparatus for automatically populating a network simulator tool with network topology information. Fig. 2 is a flow chart illustrating a preferred embodiment of the Topology Extraction Tool. Detailed Description Figure 1 illustrates how network topology information is transferred into the network simulator tool in accordance with this invention. Referring to Figure 1, an Auto Discovery Tool 14 discovers the topology information of the Live Network 10, via communications link 12. An example of the Auto Discovery Tool 14 is described in the copending and commonly-owned U.S. Serial No 08/115,232 filed September 1, 1993 by T.Orr et al., which is hereby incorporated by reference in its entirety. The Auto Discovery Tool then sends this topology information via communications link 16 to the Network Management System Database 18. A Graphical User Interface 22 is typically connected to the Network Management System Database (NMS) 18 via communications link 20 so that the data in the NMS Database 18 can be displayed. An example of an NMS Database 18 is the Spectrum™ network management platform available from Cabletron Systems, Inc., of Rochester, New Hampshire, which is also described in U.S. Patent No. 5,261,044 and in copending and commonly owned U.S. Serial No. 07/797,121 filed November 22, 1991 by R. Dev et ai., which are hereby incorporated by reference in their entirety. Spectrum™ implements the Auto Discovery Tool described in U.S. Serial No. 08/115,232. Spectrum™ supports SNMP (the Simple Network Management Protocol) and other network management protocols. It is implemented in the C++ object-oriented programming language and provides a "virtual network," namely a software representation of the network being managed, including models that represent the devices (hubs, routers, workstations) and other entities (cables, buildings, etc.) associated with the network, and relations between the models. Each model includes a number of attributes and one or more inference handlers. The attributes are data which define the characteristics and status of the network entity being modeled. The inference handlers perform a specified computation, decision, action or inference. The network devices are polled or automatically update the models in the virtual network as to their status. Thus, the models represent not only the configuration of the network, but also represent its status on a dynamic basis. The most significant element of the present invention is the Topology Extraction Tool 26. Its function is to transfer relevant data in the Network Management System Database 18 to the Simulation Tool Database 36. This function encompasses the following subfunctions: Data Reader 28 connects to Network Management System Database 18 via communication link 24 and reads the topology information in the Network Management System Database 18; Data Translator 30 translates the topology information from the Network Management System Database 18 into a matching data format required by the Simulation Tool Database 36; and Data Writer 32 enters the properly formatted data into the Simulation Tool Database 36 via communications link 34. A Graphical User Interface 40 is typically connected to the Simulation Tool Database 36 via communications link 38 such that the data in the Simulation Tool Database 36 can be displayed. Figure 2 shows a flowchart of an example embodiment of the Topology Extraction Tool as a software program. Referring to Figure 2, in a first step 41 the Topology Extraction Tool makes a connection to the Network Management System Database. It then extracts a list L of segments on the Live Network from the Network Management System Database (step 42). Next, the tool gets descriptive data for each element in L from the Network Management System Database and puts it into a file F (step 43). The tool then for each element in L makes a list M of nodes that are "outlets" to other networks (step 44), and a list N of nodes that are "endpoints" in the network (step 45). [Note that steps 44 and 45 can be implemented either in parallel or consecutively, and in any order ] "Outlets" to other networks are usually routers, hubs, and bridges while "endpoint" nodes are those that do not serve as outlets, such as workstations, printers, etc. The Topology Extraction Tool then gets descriptive data for each element in M from the Network Management System Database and concatenates it to file F (step 46), and gets descriptive data for each element in N from the Network Management System Database and concatenates it to file F (step 47). Finally, the file F is downloaded into the Simulation Tool Database (step 48). An example code for this preferred embodiment of the Topology Extraction Tool is shown in Appendix A. This code is implemented in C++ and a UNIX Shell language and carries out all of the steps in the flowchart of Figure 2 except the last step of downloading into the Simulation Tool Database. However, the step of downloading a file into various simulation tool databases available in the industry would be readily implemented by one skilled in the art, for example by building a tool to import the second form of topology information into the Simulation Tool Database. An example of the Simulator Tool is "Comnet" available from CACI Products Co., 345 N. York Road, Hatboro, PA 19040. Appendix B shows a shortened version of a sample output file F from the code of Appendix B. The sample output file illustrates the list of the segments (Segment.Info), outlet nodes (Connectivity.Info), and endpoint nodes (Endpoint.Info), and their descriptive information to convey the topology information about the Live Network to the Simulation Tool Database. This information file can readily be downloaded to populate the Simulation Tool Database by one skilled in the art. More specifically, the code of appendix A which performs steps 28 and 30 of Fig. 1 utilizes a first form of topology data in the Spectrum™ database which is represented by a list of "logical 2-place relations." These relations are specified as pairs of associations and can specify peer-to-peer associations or heirarchical associations. There are many such relations in the Spectrum?T? database, but for the purposes of understanding the network topology we are only concerned with three of them: "Collects", "Connects o", and "Is.Adjacent.to": Collects Type: One to many Description: The "Collects" relation allows a model to collect information about other models. "Collects" is similar to the "Contains" relation but is applied to Spectrum's™ Topology models to determine what model types collect information through other models. Rules of this model type are checked by SpectroGRAPH?T? (Spectrum's™ graphical user interface which visually presents the virtual network) when attempting to add or copy models within a Topology model. Examples: Network Collects a LAN LAN 802 3 Collects a device Connects.To Type: Many to many Description: The "Connects.To" relation forms a connection between two models. "Connect.To" causes a connection to be formed between a Port model and a Device or Topology model. Examples. LAN802.3 Connects.to a Port of a Bridge PC Connects.to a Port of a Hub Is.Adjacent.To Type: Many to many Description: The "Is.Adjacent.to relation establishes an adjacency between two models. If a SpectroGRAPH™ user draws a pipe between two models, the Is Adjacent.to association forms between the models. Examples: Device Is.Adjacent.to other Device models Device Is.Adjacent.to Topology models In the Simulation Tool database 36, there is a second form of the topology data represented by the following three categories: 1. Segment jnfo 2. Connectivity.info 3. Endpoint.info. The first category lists the major segments in the network. The second category lists nodes in these segments that are "outlets" to other segments; such outlets are usually routers, hubs and bridges. The third category lists endpoint nodes (i.e., those that do not serve as outlets), such as workstations, printers, etc. Categories 1 , 2 and 3 provide sufficient information to graphically illustrate all connections in the network. This is just one example of a method for automatically populating the network simulation tool database, and the invention is not limited thereto. The above example illustrated the extraction of network topology information from a network management system such as a network management platform. However, the invention also includes the extraction of other information such as network traffic information, also known as "historical traffic data." Such traffic information could be extracted in the same fashion from the following Network Management Systems: Sniffer by Network General Corporation, 4200 Bohannon Drive, Menlo Park, CA 94025; Netmetrix by Hewlett-Packard Corp., 1 Tara Blvd., Nashua, NH 03062; LANalyzer by Novell, Inc., 122 East 1700 South, Provo, UT 84606-6194. These later systems are usually called network monitors or network analyzers. As used herein, "Network Management System" is defined broadly and includes a network management platform (e.g., Spectrum™), a network monitor, or a network analyzer. The following code comprises Appendix A: # ! /bin/ksh ######################################################################## # ## Cabletron Systems Incorporated ## 486 Amherst Street ## Nashua, NH 03063 ## Copyright (c) 1994 All Rights Reserved ## ## Workfile: extract2 ## Logfile: ## Original Author: Lundy Lewis ## Delta ID: ## Date: ## Modified: David St. Onge 10/5/94 ######################################################################## # ## This script extracts attribute data from the database, and writes # it to a file named "extract2.out" ## This file tmp is located within the same directory as the script. ## ## The format of the output is such that the attribute names and text ## information is in column 1, while the attribute data is in column ## 2. The column delimiter is a colon (i.e., :). The colon is ## written to the tmp file via the ed command after the data has ## been extracted. ## ## In order to run this script, a connection should already be opened ## to the server of interest using the cli connect command. ######################################################################## # ## 0x01003c is the modeltype handle for a LAN_802_3 (an ethernet) ## 0x01003d is the modeltype handle for a LAN_802_5 (token ring) ## 0x010032 is the modeltype handle for a FDDI ## 0x01002d is the modeltype handle for a LAN ## 0x2801b6 is the modeltype handle for a Unplaced ## OxOlOOae is the modeltype handle for a Fanout ## 0x010290 is the modeltype handle for a Pingable ## 0x010003 is the modeltype handle for a VNM ## 0x0012c8 is the modeltype handle for a Physical_Addr ## 0x01027f is the attribute handle for a Network_Address or ## Sub Network ## 0x010000 is the attribute handle for Modeltype_Name ## 0x01006e is the attribute handle for Model_Name ## 0x010071 is the attribute handle for Polling_Interval ## OxOllOdf is the attribute handle for MAC_Address ## 0x01199c is the attribute handle for Desc_Key_Word #### 00xx00111100bb88 is the attribute handle for Sub Net Mask of a LAN mtype ####### ################################################################ # ( . / .vnmshrc echo echo Spectrum_Topology_Exported Mate' echo "Virtual_Network_Name $vnm_hostname" echo "Landscape_ID $landscape" echo echo Segment_Info- echo SEGMENT_LIST= x show models I egrep x 0xl003c I 0x1003d I 0x10032 I 0xl002d' \ cut-fl-d" "- NETWORK_NUM='echo $SEGMENT_LIST I nawk ' { print NF } ' echo "Number_of_Segments $NETWORK_NUM" echo for i in $SEGMENT_LIST do echo "Segment_ID $i" show attributes attr=0xl027f attr=0xll0b8 attr=0xl0000 attr=0xl006e mh=$i I \ egrep -v Id I cut cl3-46,52- echo done echo Connectivity_Info echo for i in $SEGMENT_LIST do MODEL_NAME= , show children rel=Is_Adjacent_to mh=$i I \ egrep -v MHandle I cut -cll-27 if test "${MODEL_NAME}" then echo "Connections_in_Segment $i" echo show children rel=Is_Adjacent_to mh=$i I egrep -v Mhandle I \ cut -cl-27, 40-52 I \ nawk ' { printf (ModellD \t\t\t %s\nModelName \t\ echo fi done echo Endpoint Info- echo for i in $SEGMENT_LIST do # # Extract the children of the LAN models, filtering on the # Collects relation. LAN_CHILDREN =, show children rel=Collects mh=$i I egrep 'OxlOOae I 0x2801b6' I \ cut -fl -D" " ' for j in $LAN_CHILDREN do echo echo "Nodes_on_Segment $i" echo # # Extract the children of the children of the LAN models. This # is the actual endpoint models. This is done via the # Connects_To relation, and write the data to a tmp file, show children rel=Connects_to mh=$j I egrep -v ' 0xl02c8 I Mhandle' I \ cut -cl-10, 27-38 > tmp exec < tmp # # Read in the tmp file. The columns in the file should be # in the order of model handle and modeltype handle. Depending # on the mth, the appropriate attribute list is created, and the # associated node data is extracted, while read mh mth do case $mth in 0x10290) attr_list="attr=0xl0071 attr=0xll0df attr=0xl027f \ attr=0xl0000 attr=0xl006e" 0x10003) attr_list="attr=0xll0df attr=0xl027f attr=0xl0000 \ attr=0xl006e" ;; *) attr_list="attr=0xll99c attr=0xl0071 attr=0xll0df \ attr=0xl027f attr=0xl0000 attr=0xl006e" esac show attributes $attr_list mh=$mh I egrep -v Id I cut -cl3- 46,52- echo done done done ) I tee extract2.out # # Now write the colon delimiter at the end of all the text entries. # ed -s extract2.out > /del/null <<end 10 l,\$g/ /s//:/ 5,\$g/ Network/s//_Segment/ 5, \$g/Network_/s//Segment_/ w extract2.out q end The following code comprises Appendix B: Spectrum_Topology_Exported:Mon Oct 17 14:21:22 EDT 1994 Virtual_Network_Name: disney Landscape_ID: 0x56c40000 Segment_Info- Number_of_Segments: 16 Segment_ID: 0x56c405f0 Model_Name: Automapped LAN Modeltype_Name: FDDI Segment_Mask: 0.0.0.0 Segment_Address: Segment_ID : 0x56c40625 Mode 1_N ante : Automapped LAN Modeltype_Name : LAN_802_3 Segment_Mask : 0.0.0.0 Segment_Address : (etc) -Connectivity Info- Connections_in_Segment: 0x56c405f0 ModellD: 0x56c403de ModelName: splb69 ModelType: BdgCSIFDM ModellD: 0x56c40019 ModelName: spec22 ModelType: Rtr_Cisco Connections_in_Segment: 0x56c40625 ModellD: 0x56c40046 ModelName: 134.141.251.22 ModelType: Rtr CiscoIG (etc) -Endpoint_Info- Nodes_on__Segment: 0x56c405f4 Model_Name: Repeating Modeltype_Name: StckRptrRev4 Segment_Address: 134.141.54.95 MAC_Address: 0.0.1D.F.72.4B Polling_Interval: 60 Desc_Key_ ord: Model_Name: splb95 Modeltype_Name: BRtrCSIuMMAC Segment_Address: 134.141.54.95 MAC_Address: 0.0.1D.F.72.4B Polling_Interval; 60 Desc Key Word: Cabletron MicroMMAC Having thus described various embodiments of the present invention, additional alterations, modifications and improvements will readily occur to those skilled in the art. Accordingly, the foregoing description is by way of example only, and not intended to be limiting. The invention is limited only as defined in the following claims and the equivalents thereto.

Claims: CLAIMS 1. A network topology extraction tool that receives a first form of topology information from a network management system database to provide a second form of topology information to a simulation tool database, the network topology extraction tool comprising: a data reader coupled to the network management system database to read the first form of topology information from the network management system database; a data translator coupled to the data reader that translates the first form of topology information into the second form of topology information, the second form of topology information matching a data format required by the simulation tool database; and a data writer, coupled between the data translator and the simulation tool database, that writes the second form of topology information into the simulation tool database. 2. The network topology extraction tool of claim 1, wherein. the data reader further reads a first form of traffic information from the network management system database; the data translator translates the first form of traffic information into a second form of traffic information used by the simulation tool database; and the data writer writes the second form of traffic information into the simulation tool database. 3. A system for automatically acquiring and storing topology information of a live network having a topology, to be used in a network simulation tool, the system comprising. an autodiscovery tool coupled to the live network that automatically discovers the topology of the live network to generate a first form of topology information; a network management system database coupled to the autodiscovery tool that stores the first form of topology information; a simulation tool database that stores a second form of topology information, the second form of topology information matching a data format required by the simulation tool database; and a topology extraction tool, coupled between the network management system database and the simulation tool database, that reads the first form of topology information from the network management system database, translates the first form of topology information into the second form of topology information, and writes the second form of topology information into the simulation tool database. 4. The system of claim 3 further comprising: a graphical user interface coupled to the network management system database that displays the first form of topology information. 5. The system of claim 3, further comprising. a graphical user interface coupled to the simulation tool database that displays the second form of topology information. 6. A method of transferring topology information of a live network from a network management system database to a simulation tool database, the method including the steps of a) reading the topology information from the network management system database to generate a first form of topology information; b) translating the first form of topology information into a second form of topology information, the second form of topology information matching the data format required by the simulation tool database; and c) writing the second form of topology information into the simulation tool database. 7. The method of claim 6, further including: reading traffic information from a network management system to generate a first form of traffic information; translating the first form of traffic information into a second form of traffic information matching a data format required by the simulation tool database; and writing the second form of traffic information into the simulation tool database. 8. A method of automatically acquiring and storing topology information of a live network having a topology, for use in a network simulation tool, the method including the steps of: a) discovering the topology of the live network to generate a first form of the topology information; b) storing the first form of the topology information in the network management system database; c) reading the first form of topology information from the network management system database; d) translating the first form of topology information into a second form of topology information, the second form of topology information matching the data format required by a simulation tool database; and e) writing the second form of topology information into the simulation tool database. 9. The method according to claim 8, the method further including the step of: displaying the first form of topology information. 10. The method according to claim 8, the method further including the step of: displaying the second form of topology information.

Inventors: LEWIS LUNDY M, SOPER G MICHAEL, ST ONGE DAVID B, LEWIS, LUNDY, M., SOPER, G., MICHAEL, ST. ONGE, DAVID, B.
Applicants: CABLETRON SYSTEMS INC, CABLETRON SYSTEMS, INC.
Application year: 1995
Main classification: H04L12
IPC codes: H04L12, H04Q11