Abstract:
System and method for storing in a generalized format, and representing on a graphical user interface, the topology information for a plurality of logical and physical resources in a heterogeneous computer communications network. Topological data for each network resource is encoded using a collection of record structures having a tabular format and stored in a plurality of topology information element tables which are categorized further as data element tables, relationship element tables and auxiliary element tables. The rows in the tables representing discrete data elements are recursively processed and correlated and presented as a generalized topology display via a user interface.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to computer networks and, more particularly, to a system and method for storing and representing on a graphical user interface the topological information of a plurality of network types. 
     A computer communications network is a collection of network nodes and end nodes interconnected through communication links. Each network node can be characterized as a data processing system providing certain functions within the network, such as routing of messages to other nodes, or providing directory services. The links between nodes can be permanent, such as conventional cable connections, or enabled only when needed, such as dial-up telephone connections. Collectively, the nodes and links of the computer communications network are referred to as network resources. The physical configuration and characteristics of the various nodes and links in a network are said to be the topology of the network. 
     A network management platform is a software application that monitors and controls a network. Network management platforms need to perform several key tasks in the network including discovering the devices in the network; collecting and storing data about network conditions; issuing and responding to notifications about network conditions; and issuing commands that cause actions at network nodes. In brief, the network management platform collects, processes, stores and displays network data. 
     The earliest network management platforms consisted primarily of application programs integrally related to the networked equipment. One of the most significant changes in the field of information processing in the past decade has been the shift away from large mainframe systems to systems that contain personal computers, workstations and other special purpose computers. 
     As networks became heterogenous, with devices coming from multiple manufacturers, it became necessary to physically separate the network management platform from the networked equipment. In this heterogenous environment, an agent application is responsible for reporting on and maintaining information related to one or more devices on the network. The agent provides the network information to a manager application, which is another software application that monitors and controls the network. The protocol used to communicate between the agent and the manager is unique for the networked equipment provided by the vendor. 
     With the proliferation of heterogeneous computer networks, it is increasingly uncommon to find networks conforming to the specifications of a single network management platform vendor. Although the Open Systems Interconnection Common Management Information Protocol (OSI CMIP) is the protocol most vendors expect to support in the future, and Simple Network Management Protocol (SNMP) is a current industry standard, it is unlikely that there will be a universal management protocol in the foreseeable future. 
     Current network management platform implementations generally have the capability only to represent network topology conforming to a single networking protocol. Where topologies conforming to distinct networking protocols can be represented, their representations are disjoint and unrelated even where the same networked equipment is involved as was described in the IBM System&#39;s journal article on &#34;AIX NetView/6000&#34; Vol.31, No.2, pp 270-385(1992). Thus, there is a need for a method of creating and maintaining an arbitrary topological representation of a computer network involving an arbitrary configuration of equipment or an arbitrary collection of distributed program components. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide an improved method and apparatus for encoding and displaying a general network topology for a communications network. 
     It is another object of the present invention to provide a method and apparatus for encoding and displaying the topology of a communications network that contains network devices and applications conforming to different network protocols. 
     According to one embodiment of the invention, a method is provided to create a plurality of tables which represents the network in an arbitrary fashion that is then presented to the user by a generic presentation application. These tables have the ability to maintain in a coordinated fashion an arbitrary number of topological representations, each associated with an arbitrary type of network, an arbitrary configuration of equipment, or an arbitrary collection of distributed program components. This will allow the connection of multiple networks as shown in FIG. 1 into a single generalized topology manager which provides information to a presentation application to provide a single, cohesive picture of the multiple networks. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     This invention will be described with respect to a preferred embodiment thereof which is further illustrated and described in the drawings. 
     FIG. 1 illustrates a computer communications network environment utilizing the method and system of generalized network topology representation, according to a preferred embodiment of the present invention. 
     FIG. 2 illustrates a topological representation of a computer communications network encoded using the method of the invention and displayed on a user interface. 
     FIG. 3 illustrates a more detailed topological representation of a single element contained in the topological representation of FIG. 2. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The invention finds its application in present-day complex, heterogeneous communications and data processing networks in which a variety of devices or applications are managed by network management applications. 
     In a data processing network, a process for managing the storage and upkeep of topological information is called a topology manager (TM). The invention provides for a generalized topology manager (GTM) that is independent of any particular protocol or discovery process. In the preferred embodiment, the GTM is implemented as part of a network management platform, such as IBM NetView for AIX, operating on a network management station which can be an IBM RISC System/6000 computer system running under the AIX operating system from IBM. However, implementation of the invention on a specific network management platform operating on a specific computer system or workstation does not limit or restrict the applicability of the present invention to the disclosed management platform or computer system. The GTM is given information from an arbitrary number of independent discovery processes, hereinafter referred to as Topology Discovery Applications (TDAs) or Topology Agents running under the different networking protocols. The TDAs can be implemented as a component process in the network management platform. 
     FIG. 1 illustrates a typical environment for a complex, heterogeneous communications network in which the present invention is implemented. As shown by FIG. 1, many networks today are created by appending a plurality of smaller networks to each other. Each of these smaller networks can utilize a different protocol. The network depicted in FIG. 1 contains an SNA subnetwork 101, a token ring subnetwork 102, a TCP/IP subnetwork 103, an OSI subnetwork 104 and an ATM subnetwork 105. Each of these subnetworks contains its own topology agent 111-115. Although each of these agents may have different information reported by the devices in its subnetwork, each agent will report a consistent set of information to the generalized topology manager 120. The topology information elements used in the preferred embodiment are defined and described in the tables shown in the Appendix. When information is sent from the TDA to the GTM, the GTM stores it in the appropriate tables 121-123. 
     The tables 121-123, are created based on the topology information elements described in the Appendix, and derive principal value from a concise method of encoding topologically significant data using a collection of record structures having a tabular format. The Topology Information Elements are organized into three categories--Data elements 121, Relationship elements 122, and Auxiliary elements 123. Each of these elements are described below and are more fully described in a corresponding table in the Appendix. 
     Data elements 121 constitute information required to maintain a machine readable encoding of significant topological relationships. Data elements include vertices, graphs, arcs and simple connections defined as follows: 
     Vertex 
     A vertex table identifies a collection of vertices, with each vertex representing a point in a network that contains an interface within a system that is managed. An interface provides access to a network or service. A vertex may be either a physical resource such as a token ring connection or a logical resource such as an Internet Protocol (IP) member. The invention supports the various protocol-dependent network types identified by the Vertex Protocol type definition provided in Appendix Table 1. The complete definition of a vertex element is provided in Appendix Table 2. 
     Graph 
     A graph table identifies a collection of graphs, with each graph representing either the connectivity of a network or the configuration of equipment containing vertices which are part of network topologies. There are two basic types of graphs: topology graphs and box graphs. 
     A topology graph is typically a connected graph representing the topology of a network. The topology graph represents either a resource-specific topology or a higher-level topology such as a graph where membership is defined based on management domains or any other user-defined grouping. 
     A box graph represents the vertices contained within network equipment. Such vertices may represent both physical and logical resources, including network interfaces and application programs. 
     Both types of graphs may contain vertices and other graphs, although box graphs typically contain only vertices. A vertex may also be a member of multiple graphs. The complete definition of a graph element is provided in Appendix Table 8. 
     Arc 
     An arc table identifies a collection of arcs, with each arc representing endpoint independent connection between two vertices or graphs. Arcs may represent resources such as an SNA session or they may represent user-defined connections such as groupings of transmission channels similarly to the way graphs enable the aggregation of topologies. The complete definition of an arc element is provided in Appendix Table 6. 
     Simple Connection 
     A Simple connection table identifies a collection of simple connections, with each simple connection representing information about a connectivity relationship in the network which is known only to an endpoint. Thus a simple connection is an endpoint&#39;s view of a connection. The complete definition of a simple connection element is provided in Appendix Table 4. 
     A topology graph serves two main purposes. The first purpose is to depict a resource-specific topology such as local area network configuration. The second purpose is to group nodes (represented as vertices) and other graphs in a network into higher-level graphs, constructed based on user-defined criteria such as physical location, owning organization, or other partitioning schemes. Thus, higher-level graphs provide a way to represent partitions of a topology based on how a user thinks about a network and chooses to approach its management. 
     When drawing a topology display, a graph can be drawn as a vertex, thus a graph can be used to provide the zoom-in and zoom-out functions commonly associated with graphical topology display providing a mechanism to represent different levels of abstraction about a network. In a topology graph, such functions are used to show the underlying connectivity of a network or subnetwork to reduce such connectivity to an icon. In a box graph, such functions are used to show the placement of interfaces within equipment or to reduce such a configuration to an icon. 
     The second category of Topology Information Elements are relationship elements. Relationship elements 122 constitute information required to present a graphical representation of resources in such a fashion as to preserve their topological relationships as defined by Data Elements 121. Relationship elements 122 include members, member arcs, graph attached arcs, underlying arcs, underlying connections, and service access points defined as follows: 
     Members 
     A member table identifies all vertices and graphs which are a part of a graph. There is one entry for each member vertex and each member graph. Vertices and graphs may be part of multiple graphs. The complete definition of a member element is provided in Appendix Table 11. 
     Member Arcs 
     A member arc table identifies all the arcs which have both endpoints contained within a given graph. There is one entry for each such arc. An arc may have both the endpoints within multiple graphs, and it may be associated with other graphs for which only one endpoint is contained. The complete definition of a member arc element is provided in Appendix Table 9. 
     Graph Attached Arcs 
     A graph attached arcs table identifies all arcs which have only one endpoint within a graph and which are to be drawn as attached to the graph when it is drawn as a vertex. An arc may be attached to multiple graphs and may be a member arc for multiple other graphs. The complete definition of a graph attached arc element is provided in Appendix Table 10. 
     Underlying Arcs 
     An underlying arcs table identifies the set of arcs which are contained within another given arc. Underlying arcs may be either parallel, having the same endpoints as their containing arcs, or serial, having at least one endpoint which is distinct from both endpoints of their containing arc. An arc may contain both parallel and serial underlying arcs. The complete definition of an underlying arc element is provided in Appendix Table 7. 
     Underlying Connections 
     An underlying connections table identifies the set of simple connections which are contained within another given simple connection. Thus an underlying connection table can be used to show an endpoint&#39;s view of a connection as including a bundle of subordinate connections. The complete definition of an underlying connections element is provided in Appendix Table 5. 
     Service Access Point 
     The service access point table identifies user-provided relationships between vertices. It provides a means for correlating the behavior or distinct protocol entities having such relationships. Vertices which represent higher-level resources may use the services of other vertices. For example, an Internet Protocol (IP) module might obtain physical transport from a local area network (LAN). Accordingly, a vertex representing the LAN station would provide a service access point for use by the IP module. This relationship would be represented by an entry in the service access point table. The complete definition of a service access point element is provided in Appendix Table 3. 
     The third category of Topology Information Elements are auxiliary elements. Auxiliary elements 123 constitute information needed for augmenting the graphical representation derived from data elements 121 in conjunction with relationship elements 122. Auxiliary elements 123 include additional graph information and additional members information defined as follows: 
     Additional Graph Information 
     An entry in the additional graph information table represents general display specifications related to a graph, including the following information: 
     The value and location of arbitrary text in an arbitrary location within the display window. 
     The identity of the center vertex to be used by layout algorithms having a `star` characteristic. The complete definition of an additional graph information element is provided in Appendix Table 13. 
     Additional Members Information 
     An entry in the additional members information table represents general display specifications related to a member of a graph including the scale and placement of the icon representing the member in the display window. The complete definition Of an additional members information element is provided in Appendix Table 12. 
     The data elements 121, relationship elements 122, and auxiliary elements 123 are utilized in this invention to maintain the generalized topological representation. The method for maintaining topology information employs signals transmitted by Topology Discovery Applications (TDAs) and received by the Generalized Topology Manager, an example of such a signal is the TRAP SNMP data unit. These data units indicate fundamental alterations to previously initialized topology information and include new element, deleted element, operational status change, variable value change, and upkeep signals defined as follows: 
     New Element 
     The new element signal is issued whenever a new row is added to one of the topology information elements. The new element signal contains a complete representation of the row. 
     Deleted Element 
     The deleted element signal is issued whenever an existing row is removed from a previously reported topology information element. It contains the unique index variable value previously assigned to the row. 
     Operational State Change 
     The operational state change signal is issued whenever a state variable for a row or row equivalent requires change to properly reflect the state of the resource being represented. It contains the unique index variable value previously assigned to the row representing the resource as well as the new state variable value. Such state variables include, but are not limited to, the following variables: 
     operationalState 
     unknownStatus 
     availabilityStatus 
     alarmState 
     State variable definitions are provided in Appendix Table 1. 
     Variable Value Change 
     The variable value change signal is issued whenever a non-state variable for a row or row equivalent requires change to properly reflect the current variable value for the resource being represented. It contains the unique index variable value previously assigned to the row representing the resource as well as the values of all variables which have changed. 
     Propagating Upkeep Information 
     Upkeep signals are received by the GTM from the respective TDAs and are propagated by means of an inline forwarding mechanism such as the TRAP forward mechanism. These signals are propagated to Topology Presentation Applications which have registered their intent to receive such information. 
     In some circumstances it is desirable to throttle or control the propagation of topology upkeep information. Such controls are supplied in the form of Boolean switches which are maintained by the GTM for reference by the entities registered to receive the upkeep signals. The controls are described in Appendix Table 14. A separate instance of controls is established for each such registered entity. The controls include: 
     newVErtex 
     deletedVertex 
     vertexStateChange 
     vertexVariableChange 
     newSimpleConnection 
     deleteSimpleConnection 
     simpleConnectionStateChange 
     simpleConnectionVariableChange 
     newArc 
     deletedArc 
     arcStateChange 
     arcVariableChange 
     newGraph 
     deletedGraph 
     graphVariableChange 
     There are various techniques for retrieving information maintained by a topology manager from the tables. Any one of these known methods can be used and in no way limit the scope of this invention. 
     The method of presenting the topology information in the present invention involves mapping the Topology Information Elements in Tables 121-123 to elements of a user interface which includes means to create and display windows and symbols. The Topology Information Elements of graph, arc, and simple connection are presented as windows. The Topology Information Elements of graph, members, member arcs, underlying arcs and underlying connections are presented as symbols on the windows. The algorithm for displaying the topology information contained in the GTM format is described below: 
     In the following description, all terms highlighted are either rows or columns in one of the tables described in the Appendix. 
     The convention of row.column is also used in the following algorithm description. The row is a specific row in one of the tables defined in the Appendix. The column is the value of the column in a specific row in one of the tables defined in the Appendix. 
     Terms used in the following description: 
     
         ______________________________________Term        Characteristics______________________________________Symbol      Properties include a label, an icon, and an       optional position.Window      Properties include a layout algorithm and a       background graphic.Root Window The top-level window displayed to the user.Orphan Graph       A row of the graph table that is not a member       of another row of the graph table.______________________________________ 
    
     The specific algorithm for displaying data contained in the GTM format is as follows: ##SPC1## 
     The above mentioned method of parsing through the information stored in the GTM tables 121-123 will result in displays such as that shown in FIG. 2. FIG. 2 displays the root graph for an IBM 6611 Router 201 connected to a point-to-point FDDI ring 221, a bus 222, another point-to-point network 223, a spoked ring 224 (such as an Ethernet), and a point-to-point token ring 225. FIG. 2 also demonstrates the connections from the IBM 6611 Router root 201 to the mentioned subnetworks 221-225 by the arc graphs 231-235. 
     FIG. 3 demonstrates the exploding of the star graph 240 from FIG. 2. FIG. 3 depicts the root graph for the star --  center 301 and all of the devices or members connected to that root 311-317, as well as the links by which they are connected 321-327. 
     While the invention has been particularly shown and described with reference to the particular embodiment thereof, it will be understood by those skilled in the art the various changes in form and detail may be made therein without departing from the spirit and scope of the invention. 
     Having thus described our invention, what we claim and desire to secure as Letter Patent is as follows: 
     
                       TABLE 1______________________________________TYPE AND STATUS DEFlNITIONSA.  VertexProtocol    The type VertexProtcol is used for both vertex and graph    protocols. If the VertexProtocol is an INTEGER, the variable    identifies a vertexProtocol value from    the Vertex table. If the VertexProtocol    is an OBJECT IDENTIFER, the variable    identifies a graphProtocoI from the Graph table.VertexProtocol ::= CHOICE { INTEGER {          nonexistent(0),          other(1),          regular1822(2),          hdh1822(3),          ddn-x25(4),          rfc877-x25(5),          ethernet-csmacd(6),          iso88023-csmacd(7),          iso88024-tokenBus(8),          iso88025-tokenRing(9),          iso88026-man(10),          starLan(11),          proteon-10mbit(12),          proteon-80mbit(13),          hyperchannel(14),          fddi(15),          lapb(16),          sdlc(17),          dsl(18),          el(19),          basicISDN(20),          primaryISDN(21),          propPointToPointSerial(22),          ppp(23),          softwareLoopback(24),          eon(25),          ethernet-3mbit(26),          nsip(27),          slip(28),          ultra(29),          ds3(38),          sip(31),          frame-relay(32),        },    OBJECT IDENTIFlER }B.  Operational State    OperationalState ::= INTEGER { disabled(1), enabled(2) }C.  UnknownStatus    UnknownStatus ::= INIEGER { true(1), false(2) }D.  AvailabilityStatus    The AvailabilityStatus is an integer value formed by combining    the following values with the bitwise OR operator.Definition      Value______________________________________empty.sub.-- set           0inTest          1failed          2powerOff        4offLine         8offDuty         16dependency      32degraded        64notinstalled    128E.  AlarmStatus    The AlarmStatus is an integer value formed by    combining the following values with the bitwise OR operator.Definition      Value______________________________________empty.sub.-- set           0underRepair     1critical        2major           4minor           8alarmOutstanding           16______________________________________ 
    
     
                                           TABLE 2__________________________________________________________________________VERTEX ELEMENT DEFINITIONVariable     Syntax     Description__________________________________________________________________________vertexType   INTEGER {other(1),                   This variable indicates the class of the row        invalid(2), vertex(3)}                   and its validity.vertexProtocol        VertexProtocol                   The protocol in which the vertexName is                   defined.vertexName   OCTET STRING                   This is the unique name for the Vertex. If                   the vertex has a protocol specific name,                   this should be used for it.vertexMine   INTEGER {mine(1),                   Is the Vertex represented by the agent        notmine(2)}                   which owns this table?vertexLocation        DisplayString                   Location of the vertex.vertexManagementExtension        OBJECT IDENTIFIER                   The object identifier of the table that con-                   tains resource specific information about                   this vertex.vertexManagementAddr        OCTET STRING                   The address of the source of                   vertexManagementExtension.vertexOperationalState        OperationalState                   The operational state of the Vertex.vertexUnknownStatus        UnknownStatus                   The unknown status of the Vertex.vertexAvailabilityStatus        AvailabilityStatus                   The availability status of the Vertex.vertexAlarmStatus        AlarmStatus                   The alarm status of the Vertex.__________________________________________________________________________ 
    
     
                       TABLE 3______________________________________SERVICE ACCESS POINT ELEMENT DEFINITIONVariable   Syntax     Description______________________________________sapType    INTEGER    The validity of this row.      {valid(1),      invalid(2)}sapVertexProtocol      VertexProtocol                 The vertexProtocol field of the                 vertex which uses or provides                 a SAP.sapVertexName      OCTET      The vertexName field of the vertex      STRING     which uses or provides a SAP.sapServiceType      INTEGER    Is the SAP used or provided by the      {using(1), Vertex identified by      providing(2)}                 sapVertexProtocol and                 sapVertexName?sapProtocol      VertexProtocol                 This value of the SAP protocol.sapName    OCTET      The value of the SAP address.      STRING______________________________________ 
    
     
                                           TABLE 4__________________________________________________________________________SIMPLE CONNECTION ELEMENTS DEFINITIONVariable     Syntax     Description__________________________________________________________________________simpleConnType        INTEGER {other(1),                   The validity of this row        invalid(2),        simpleConnection(3)}localEndpointProtocol        VertexProtocol                   The value of the vertexProtocol or                   graphProtocol of the connection endpoint                   (Vertex or Graph) to which this endpoint                   specific information applies.localEndpointName        OCTET STRING                   The value of the vertexName or                   graphName of the connection endpoint                   (Vertex or Graph) to which this endpoint                   specific information applies.simpleConnIndexId        INTEGER    This field contains an index used to                   uniquely identify each Simple Connection                   for the same local endpoint.simpleConnLabel        DisplayString                   The label to be used on the display for                   this simple connection.connectionPartnerProtocol        VertexProtocol                   The vertexProtocol or graphProtocol of                   the endpoint (Vertex or Graph) at the                   other end of the connection.connectionPartnerName        OCTET STRING                   The vertexName or graphName of the                   endpoint (Vertex or Graph) at the other                   end of the connection.simpleConnManagement        OBJECT IDENTIFIER                   The object identifier of the table that con-Extension               tains resource specific information about                   this Simple Connection.SimpleConnManagement        OCTET STRING                   The address of the source ofAddr                    simpleConnManagementExtension.simpleConnIcon        DisplayString                   The icon to use on the display for this                   Simple Connection.simpleConnOperationalState        OperationalState                   The operational state of the Simple Con-                   nection.simpleConnUnknownState        UnknownState                   The unknown status of the Simple Con-                   nection.simpleConnAvailability        AvailabilityStatus                   The availability status of the Simple Con-Status                  nectionsimpleConnAlarmStatus        AlarmStatus                   The alarm status of the Simple Con-                   nection.__________________________________________________________________________ 
    
     
                                           TABLE 5__________________________________________________________________________UNDERLYING CONNECTIONS ELEMENT DEFINITIONVariable    Syntax    Description__________________________________________________________________________ulcType     INTEGER {valid(1),                 The validity of this row.       invalid(2)}ulcEndpointProtocol       VertexProtocol                 The value of the localEndpointProtocol of                 the containing Simple Connection.ulcEndpointName       OCTET STRING                 The value of the localEndpointName of                 the containing Simple Connection.ulcEndpointId       INTEGER   The value of the simpleConnIndexId of                 the containing Simple Connection.underlyingConnectionKind       INTEGER {serial(1),                 Is the Underlying Connection parallel or       parallel(2)}                 serial?uconnEndpointProtocol       VertexProtocol                 The value of thc localEndpointProtocol of                 the underlying Simple Connection.uconnEndpointName       OCTET STRING                 The value of the localEndpointName of                 the underlying Simple Connection.uconnSimpleConnId       INTEGER   The value of the simpleConnIndexId of                 the underlying Simple Connection.nextSerialUconnEndpoint       VertexProtocol                 The value of the uconnEndpointProtocolProtocol              of the next serial Underlying Connection.                 This value is pertinent when the value of                 underlyingConnectionKind is serial.nextSerialUconnEndpoint       OCTET STRING                 The value of the uconnEndpointName ofName                  the next serial Underlying Connection.                 This value is pertinent when the value of                 underlyingConnectionKind is serial.nextSerialUconnSimple       INTEGER   The value of the uconnSimpleConnId ofConnId                the next serial Underlying Connection.                 This value is pertinent when the value of                 underlyingConnectionKind is serial.ulcLabel    DisplayString                 The label to use on the display for the                 underlying Simple Connection.ulcIcon     DisplayString                 The icon to use on the display for the                 underlying Simple Connection.ulcLocation DisplayString                 The label to use on the display for the                 local endpoint of the underlying Simple                 Connection.ulcLocalIcon       DisplayString                 The icon to use on the display for the                 local endpoint of the underlying Simple                 Connection.ulcPartnerLabel       DisplayString                 The label to use on the display for the                 connection partner endpoint of the under-                 lying Simple Connection.ulcPartnerIcon       DisplayString                 The icon to use on the display for the                 lying Simple Connection__________________________________________________________________________ 
    
     
                                           TABLE 6__________________________________________________________________________ARC ELEMENT DEFINITIONVariable    Syntax     Description__________________________________________________________________________arcType     INTEGER {other(1),                  The type of the Arc and its validity.invalid(2), arc(3)}aEndpointProtocoI       VertexProtocol                  The value of either the vertexProtocol or                  graphProtocol of one endpoint (Vertex or                  Graph) of the Arc.aEndpointName       OCTET STRING                  The value of the vertexName or                  graphName of one endpoint (Vertex or                  Graph) of the Arc.zEndpointProtocol       VertexProtocol                  The value of either the vertexProtocol or                  graphProtocol of the other endpoint                  (Vertex or Graph) of the Arc.zEndpointName       OCTET STRING                  The value of the vertexName or                  graphName of the other endpoint (Vertex                  or Graph) of the Arc.arcIndexId  INTEGER    The index value used to uniquely identify                  each arc between the same two endpoints.aDetailsIndexId       INTEGER    The value of the simpleConnIndexId of                  the Simple Connection for aEndpoint, or                  -1 if aEndpoint has no Simple Connection                  for the Arc. This value may be combined                  with aEndpointProtocol and                  aEndpointName to index one of                  aEndpoint&#39;s Simple Connections.zDetailsIndexId       INTEGER    The value of the simpleConnIndexId of                  the Simple Connection for zEndpoint, or                  -1 if zEndpoint has no Simple Connection                  for this Arc. This value may be combined                  with zEndpointProtocol and                  zEndpointName to index one of                  zEndpoint&#39;s Simple Connections.arcManagementExtension       OBJECT IDENTIFIER                  The object identifier of the table that con-                  tains resource specific information about                  this Arc.arcManagementAddr       OCTET STRING                  The address of the source of                  arcManagement extension.arcOperationalState       OperationalState                  The operational state of the Arc.areUnknownStatus       UnknownStatus                  The unknown status of the Arc.arcAvailabilityStatus       AvailabilityStatus                  The availability status of the Arc.arcAlarmStatus       AlarmStatus                  The alarm status of the Arc__________________________________________________________________________ 
    
     
                                           TABLE 7__________________________________________________________________________UNDERLYING ARCS ELEMENT DEFINITIONVariable     Syntax    Description__________________________________________________________________________ulaType      INTEGER {valid(1),                  The validity of this row.        invalid(2)}uconnAendpointProtocol        VertexProtocol                  The value of the aEndpointProtocol of the                  containing Arc.ulaAendpointName        OCTET STRING                  The value of the aEndpointName of the                  containing Arc.ulaZendpointProtocol        VertexProtocol                  The value of the zEndpointProtocol of the                  containing Arc.ulaZendpointName        OCTET STRING                  The value of the zEndpointName of the                  containing Arc.ulaArcIndexId        INTEGER   The value of the arcIndexId of the con-                  taining Arc.underlyingArcKind        INTEGER {serial(1),                  Is the Underlying Arc parallel or serial?        parallel(2)}uconnAendpointProtocol        VertexProtocol                  The value of the aEndpointProtocol of the                  underlying Arc.uconnAendpointName        OCTET STRING                  The value of the aEndpointName of the                  underlying Arc.uconnZendpointProtocol        VertexProtocol                  The value of the zEndpointProtocol of the                  underlying Arc.uconnZendpointName        OCTET STRING                  The value of the zEndpointName of the                  underlying Arc.uconnArcIndexId        INTEGER   The value of the arcIndexId of the under-                  lying Arc.nextSerialAendpointProtocol        VertexProtocol                  The value of the uconnAendpointProtocol                  of the next serial Underlying Arc. This                  value is pertinent when the value of                  underlyingArcKind is serial.nextSerialAendpointName        OCTET STRING                  The value of the uconnAendpointName of                  the next serial Underlying Arc. This value                  is pertinent when the value of                  underlyingArcKind is serial.nextSerialZendpointProtocol        VertexProtocol                  The value of the uconnZendpointProtocol                  of the next serial Underlying Arc. This                  value is pertinent when the value of                  underlyingArcKind is serial.nextSerialZendpointName        OCTET STRING                  The value of the uconnZendpointName of                  the next serial Underlying Arc. This value                  is pertinent when the value of                  underlyingArcKind is serial.nextSerialUlaIndexId        INTEGER   The value of the ulaIndexId of the next                  serial Underlying Arc. This value is perti-                  nent when the value of underlyingArcKind                  is serial.ulaLabel     DisplayString                  The label to use on the display for the                  underlying Arc.ulaIcon      DisplayString                  The icon to use on the display for the                  underlying Arc.ulaAlabel    DisplayString                  The label to use on the display for the                  aEndpoint of the underlying Arc.ulaAicon     DisplayString                  The icon to use on the display for the                  aEndpoint of the underlying Arc.ulaZlabel    DisplayString                  The label to use on the display for the                  zEndpoint of the underlying Arc.ulaZicon     DisplayString                  The icon to use on the display for the                  zEndpoint of the underlying Arc.__________________________________________________________________________ 
    
     
                                           TABLE 8__________________________________________________________________________GRAPH ELEMENT DEFINITIONVariable    Syntax     Description__________________________________________________________________________graphType   INTEGER {other(1),                  The type of the Graph and its validity.       invalid(2), graph(3),       box(4)}graphProtocol       OBJECT IDENTIFIER                  The protocol in which the graphName is                  defined.graphName   OCTET STRING                  This is the unique name for this Graph.                  If the Graph has a protocol specific name,                  this should be used for it.layoutAlgorithm       INTEGER {none(1),                  The layout algorithm used when dis-       userdefined(2),                  playing this Graph.       pointToPoint(3), bus(4),       star(5), spoked-ring(6),       rowcol(7),       pointToPoint-ring(8),       tree(9)}userdefinedLayout       DisplayString                  The name of the user defined layout algo-                  rithm. This value is pertinent when the                  value of layoutAlgorithm is userdefined.graphLocation       DisplayString                  The location of the Graph.backgroundMap       DisplayString                  The name of the background picture that                  should be used as a backdrop to the                  Graph on the display.graphManagementExtension       OBJECT IDENTIFIER                  The object identifier of the table that con-                  tains resource specific information about                  this Graph.graphManagementAddr       OCTET STRING                  The address of the source of                  graphManagementExtension.isRoot      INTEGER {true(1),                  Is this Graph the root of a tree of Graphs?       false(2)}__________________________________________________________________________ 
    
     
                                           TABLE 9__________________________________________________________________________MEMBER ARCS ELEMENT DEFINITIONVariable  Syntax     Description__________________________________________________________________________maType    INTEGER {valid(1),                The validity of the row.maGraphProtocol     OBJECT IDENTIFIER                The value of the graphProtocol of the                containing Graph.maGraphName     OCTET STRING                The value of the graphName of the con-                taining Graph.maAendpointProtocol     VertexProtocol                The value of the aEndpointProtocol of the                contained Arc.maAendpointName     OCTET STRING                The value of the aEndpointName of the                contained Arc.maZendpointProtocol     VertexProtocol                The value of the zEndpointProtocol of the                contained Arc.maZendpointName     OCTET STRING                The value of the zEndpointName of the                contained Arc.maArcIndexId     INTEGER    The value of the arcIndexId of the con-                tained Arc.maLabel   DisplayString                The label to use on the display for the                contained Arc.maIcon    DisplayString                The icon to use on the display for the                contained Arc.__________________________________________________________________________ 
    
     
                                           TABLE 10__________________________________________________________________________GRAPH ATTACHED ARCS ELEMENT DEFINITIONVariable  Syntax     Description__________________________________________________________________________aaType    INTEGER {valid(1),                The validity of the row.     invalid(2)}aaGraphProtocol     OBJECT IDENTIFIER                The value of the graphProtocol of the                Graph which contains one endpoint of the                Arc.aaGraphName     OCTET STRING                The value of the graphName of the Graph                which contains one endpoint of the Arc.aaAendpointProtocol     Vertex Protocol                The value of the aEndpointProtocol of the                partially contained Arc.aaAendpointName     OCTET STRING                The value of the aEndpointName of the                partially contained Arc.aaZendpointProtocol     VertexProtocol                The value of the zEndpointProtocol of the                partially contained Arc.aaZendpointName     OCTET STRING                The value of the zEndpointName of the                partially contained Arc.aaArcIndexId     INTEGER    The value of the arcIndexld of the par-                tially contained Arc.__________________________________________________________________________ 
    
     
                                           TABLE 11__________________________________________________________________________MEMBER ELEMENT DEFINITIONVariable    Syntax     Description__________________________________________________________________________memberType  INTEGER {valid(1),                  The validity of the row.       invalid(2)}memberProtocol       OBJECT IDENTIFIER                  The value of the graphProtocol of the                  containing Graph.memberName  OCTET STRING                  The value of the graphName of the con-                  taining Graph.memberComponentProtocol       VertexProtocol                  The value of the vertexProtocol or                  graphProtocol of the contained Vertex or                  Graph.memberComponentName       OCTET STRING                  The value of the vertexName or                  graphName of the contained Vertex or                  Graph.memberLabel DisplayString                  The label to use on the display for the                  contained Vertex or Graph.memberIcon  DisplayString                  The icon to use on the display for the                  contained Vertex or Graph.__________________________________________________________________________ 
    
     
                                           TABLE 12__________________________________________________________________________ADDITIONAL MEMBERS INFORMATION ELEMENT DEFINITIONVariable    Syntax     Description__________________________________________________________________________aMemberType INTEGER{valid(1),                  The validity of the row.       invalid(2)}aMemberProtocol       OBJECT IDENTIFIER                  The value of the memberProtocol of the                  Member for which this Additional                  Member Information pertains.aMemberName OCTET STRING                  The value of the memberName of the                  Member for which this Additional                  Member Information pertains.aMemberComponent Pro-       VertexProtocol                  The value of thetocol                  memberComponentProtocol of the                  Member for which this Additional                  Member Information pertains.aMemberComponentName       OCTET STRING                  The value of the                  memberComponentName of the Member                  for which this Additional Member Infor-                  mation pertains.xCoordinate INTEGER    The x coordinate to use when placing this                  Member&#39;s icon on the display. This value                  pertains only when the containing Graph&#39;s                  layoutAlgorithm supports explicit icon                  placement.yCoordinate INTEGER    The y coordinate to use when placing this                  Member&#39;s icon on the display. This value                  pertains only when the containing Graph&#39;s                  layoutAlgorithm supports explicit icon                  placement.xGrid       INTEGER    The scale to which the xCoordinate                  applies. This value pertains only when the                  containing Graph&#39;s layoutAlgorithm sup-                  ports explicit icon placement.yGrid       INTEGER    The scale to which the yCoordinate                  applies. This value pertains only when the                  containing Graph&#39;s layoutAlgorithm sup-                  ports explicit icon placement.__________________________________________________________________________ 
    
     
                                           TABLE 13__________________________________________________________________________ADDITIONAL GRAPH INFORMATION ELEMENT DEFINITIONVariable Syntax     Description__________________________________________________________________________addGraphType    INTEGER {other(1),               The type of the Graph and the validity of    invalid(2), graph(3),               this row.    box(4)}addGraphProtocol    OBJECT IDENTIFIER               The value of the graphProtocol of the               Graph for which this Additional Graph               Information pertains.addGraphName    OCTET STRING               The value of the graphName of the Graph               for which this Additional Graph Informa-               tion pertains.addGraphIndexId    INTEGER    The instance identifier for all rows in this               table for the same Graph.graphRootProtocol    VertexProtocol               For any layout algorithm that has a root               or center Member, this value identifies the               memberComponentProtocol of the root               Member. It is combined with               addGraphProtocol, addGraphName, and               graphRootName to define the index of the               root Member.graphRootName    OCTET STRING               For any layout algorithm that has a root               or center Member, this value identifies the               memberComponentName of thc root               Member. It is combined with               addGraphProtocol, addGraphName, and               graphRootProtocol to define the index of               the root Member.graphDesc1    DisplayString               Descriptive information about or an anno-               tation of the Graph.graphDescrX    INTEGER    The xCoordinate used to place               graphDesc1 on the display.graphDescrY    INTEGER    The yCoordinate used to place               graphDesc1 on the display.grapbDescrXgrid    INTEGER    The scale to which the graphDescrX               applies.graphDescrYgrid    INTEGER    The scale to which the graphDescrY               applies.rootGraphLabel    DisplayString               The label to use on the display to repre-               sent the Graph as the root of a tree of               Graphs. This value only pertains when               the Graph&#39;s isRoot value is true.rootGraphIcon    DisplayString               The icon to use on the display to repre-               sent thc Graph as the root of a tree of               Graphs. This value only pertains when               the Graph isRoot value is true.__________________________________________________________________________ 
    
     
                                           TABLE 14__________________________________________________________________________TRAP GENERATION CONTROLSVariable    Syntax      Description__________________________________________________________________________newVertexTraps       INTEGER {on(1), off(2)}                   Determines if new element traps should be                   issued for the Vertex Group.deletedVertexTraps       INTEGER {on(1), off(2)}                   Determines if deleted element traps should                   be issued for the Vertex Group.vertexStateChangeTraps       INTEGER {on(1), off(2)}                   Determines if state change traps should be                   issued for the Vertex Group.vertexVariableChangeTraps       INTEGER {on(1), off(2)}                   Determines if variable change traps should                   be issued for the Vertex Group.newSimpleConnectionTraps       INTEGER {on(1), off(2)}                   Determines if new element traps should be                   issued for the Simple Connection Group.deletedSimpleConnection       INTEGER {on(1), off(2)}                   Determines if deleted element traps shouldTraps                   be issued for the Simple Connection                   Group.simpleConnectionState       INTEGER {on(1), off(2)}                   Determines if state change traps should beChangeTraps             issued for the Simple Connection Group.simpleConnectionVariable       INTEGER {on(1), off(2)}                   Determines if variable change traps shouldChangeTraps             be issued for the Simple Connection                   Group.newArcTraps INTEGER {on(1), off(2)}                   Determines if new element traps should be                   issued for the Arc Group.deletedArcTraps       INTEGER {on(1), off(2)}                   Determines if deleted element traps should                   be issued for the Arc Group.arcStateChangeTraps       INTEGER {on(1), off(2)}                   Determines if state change traps should be                   issued for the Arc Group.arcVariableChangeTraps       INTEGER {on(1), off(2)}                   Determines if variable change traps should                   be issued for the Arc Group.newGraphTraps       INTEGER {on(1), off(2)}                   Determines if new element traps should be                   issued for the Graph Group.deletecGraphTraps       INTEGER {on(1), off(2)}                   Determines if deleted element traps should                   be issued for the Graph Group.graphStateChangeTraps       INTEGER {on(1), off(2)}                   Determines if state change traps should be                   issued for the Graph Group.graphVariableChangeTraps       INTEGER {on(1), off(2)}                   Determines if variable change traps should                   be issued for the Graph Group.__________________________________________________________________________ Note: These are the variables used for trap generation. An agent will generate traps for any variables that have a value of &#34;on&#34;.