US20040022200A1 - Method, system, and program for providing information on components within a network - Google Patents

Method, system, and program for providing information on components within a network Download PDF

Info

Publication number
US20040022200A1
US20040022200A1 US10/208,957 US20895702A US2004022200A1 US 20040022200 A1 US20040022200 A1 US 20040022200A1 US 20895702 A US20895702 A US 20895702A US 2004022200 A1 US2004022200 A1 US 2004022200A1
Authority
US
United States
Prior art keywords
component
components
grouping
representing
objects
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.)
Abandoned
Application number
US10/208,957
Inventor
Gint Grabauskas
Jeffrey Hanson
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to US10/208,957 priority Critical patent/US20040022200A1/en
Assigned to SUN MICROSYSTEMS, INC. reassignment SUN MICROSYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRABAUSKAS, GINT J., HANSON, JEFFREY A.
Publication of US20040022200A1 publication Critical patent/US20040022200A1/en
Abandoned 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/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Definitions

  • the present invention relates to a method, system, and program for providing information on components within a network.
  • a storage area network comprises a network linking one or more servers to one or more storage systems.
  • Each storage system could comprise a Redundant Array of Independent Disks (RAID) array, tape backup, tape library, CD-ROM library, or JBOD (Just a Bunch of Disks) components.
  • RAID Redundant Array of Independent Disks
  • JBOD Just a Bunch of Disks
  • One common protocol for enabling communication among the various SAN devices is the Fibre Channel protocol, which uses optical fibers or copper wires to connect devices and provide high bandwidth communication between the devices.
  • the Fibre Channel protocol defines a fabric topology.
  • a fabric includes one or more interconnected switches, each switch having multiple ports.
  • a fiber link may connect ports on a device to ports on a switch, where a device connected to a switch in a fabric can communicate with all other ports attached to any switch in the fabric.
  • a method, system, program and memory device for providing information on components within a network.
  • a grouping indicating interconnected components and component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component.
  • connection objects indicating connections between components represented by component objects. The component objects, the relationship information, and the connection objects are processed to generate output information indicating an arrangement of at least one component within the network.
  • grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components.
  • each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping.
  • the grouping may represent a fabric comprised of at least one switch interconnecting host systems and storage systems, wherein one component object is provided for each switch, host system, and storage system in the fabric.
  • At least one zone object is provided for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone.
  • Described implementations provide interconnected objects that maintain information on components in a network that may be processed to access information on network components and their interrelationship.
  • FIG. 1 illustrates an arrangement of network components in a manner known in the art
  • FIG. 2 illustrates program components in a network management application in accordance with implementations of the invention
  • FIG. 3 illustrates a topology of objects providing information on network components in accordance with implementations of the invention
  • FIGS. 4, 5, 6 , 7 , and 8 illustrate contents of data structures providing information on network components in accordance with implementations of the invention
  • FIG. 9 illustrates data structures used to generate topology objects in accordance with implementations of the invention.
  • FIGS. 10, 11, 12 , 13 , 14 , 15 , 16 , and 17 illustrate operations performed to generate the topology of objects shown in FIG. 3 in accordance with implementations of the invention
  • FIG. 18 illustrates an example of output generated from information maintained in the objects providing information on network components in accordance with implementations of the invention.
  • FIG. 19 illustrates operations performed to process the objects providing information on network components to generate the output shown in FIG. 17 in accordance with implementations of the invention.
  • FIG. 1 illustrates an example of a network 2 , such as a SAN, comprised of multiple fabrics 4 a , 4 b , 4 c , where each fabric includes multiple interconnected devices, also referred to as components, such that the switches in one fabric do not connect to any of the devices in another fabric.
  • a fabric includes hosts 6 a , 6 b , 6 c , switches 8 a , 8 b , and storages 10 a , 10 b , 10 c , where each device in the fabric is connected to one or more other devices in the fabric.
  • the hosts 6 a , 6 b , 6 c , switches 8 a , 8 b , and storages 10 a , 10 b , 10 c would further each include one or more ports (not shown) to provide one or more connections with another component.
  • the hosts 6 a , 6 b , 6 c include host bus adaptor (HBA) cards (not shown) that include the host ports to connect to switch ports.
  • HBA host bus adaptor
  • Further switch 8 a , 8 b ports may be included in zones, such that any device attached to a switch port in one particular zone can only communicate with devices attached to switch ports in the same zone.
  • a host may include multiple ports and have different ports connected to different switches, where the switches are not in any way interconnected. In such an arrangement, the host connected to such switches that are not connected is connected to different fabrics.
  • the switches 8 a , 8 b may be connected via an interswitch link, such as shown in FIG. 1, or not connected.
  • the hosts 6 a , 6 b , 6 c may comprise any computing device known in the art, such as a server class machine, workstation, storage host, host cluster, etc., having adaptor cards with ports to connect to one switch port in switches 8 a , 8 b .
  • the switches 8 a , 8 b may each include multiple switch ports to interconnect different devices in a fabric, wherein the devices may be connected in a network, such as a SAN, Local Area Network (LAN), Wide Area Network (WAN), etc.
  • the storages 10 a , 10 b , 10 c may comprise any storage system known in the art which has compatible ports, such as a storage array, e.g., a storage subsystem, a subsystem cluster, Just a Bunch of Disks (JBOD), Redundant Array of Independent Disks (RAID), Direct Access Storage Device (DASD), etc., tape drive, tape library, disk drive, optical disk drive, etc.
  • the ports within the hosts 6 a , 6 b , 6 c and storages 10 a , 10 b , 10 c may comprise NxPorts, or any other ports known in the art.
  • the network 2 or SAN may further include direct attached storage (DAS) devices that connect directly to another host or device other than a switch and orphan devices not connected to any other component.
  • DAS direct attached storage
  • FIG. 2 illustrates a SAN management system 30 used by a network administrator, where the system 30 may be coupled to the SAN 2 or implemented in a SAN component.
  • the SAN management system 30 includes a discovery tool 32 program that mines device information from the SAN 2 and populates a device database 34 with the mined information that stores information on each of the components of the SAN 2 , where a component comprises a logical or physical device, e.g., hosts 6 a , 6 b , 6 c , switches 8 a , 8 b , storages 10 a , 10 b , 10 c , adaptors with the devices, ports, logical storage, zones, fabrics, etc.
  • a component comprises a logical or physical device, e.g., hosts 6 a , 6 b , 6 c , switches 8 a , 8 b , storages 10 a , 10 b , 10 c , adaptors with the devices, ports, logical storage, zones,
  • the device database 34 may comprise a SAN domain model device information database.
  • each component discovered by the discovery tool 32 may contain additional discovered components.
  • a discovered host 6 a , 6 b , 6 c may include a discovered host bus adaptor (HBA), and the discovered HBA may include discovered ports;
  • a discovered zone component may include device components and subcomponents;
  • a discovered fabric may include numerous discoverable devices and subcomponents thereof.
  • the discovery tool 32 may comprise multiple programs, tools or Application Programming Interfaces (APIs) provided by different device vendors whose devices are included in the SAN 2 .
  • the discovery tool 32 may access information from devices implementing the Common Information Model (CIM) protocol to exchange device information.
  • CIM Common Information Model
  • the device database 34 stores the discovered device data.
  • a topology engine program 36 includes program components 38 , 42 , and 46 to process the device information in the device database 34 .
  • the topology engine 36 includes a node mapper 38 program that transforms the data in the device database 34 , that may be gathered by discovery tools from different vendors, into a plurality of raw nodes 40 in a common format, where each raw node maintains various device information.
  • a graph engine 42 program processes the raw nodes 40 and generates a graph topology 44 including graph nodes providing interrelated data structures that store the device information.
  • a graph interface 46 provides methods, such as program functions and/or graphical user interface (GUI) controls, to allow a user to traverse the graph topology 44 to access information on the connection and arrangement of devices in the SAN 2 and render graphical representations of the SAN components and their physical and logical interrelationship.
  • GUI graphical user interface
  • the program components 38 , 42 , and 46 of the topology engine 36 may comprise separate applications, or some of the components 38 , 42 , and 46 may be external to the topology engine 36 .
  • FIG. 3 illustrates one implementation of the graph topology 44 data model in accordance with implementations of the invention.
  • a SAN object 100 provides information on the SAN 2 and references one or more fabric objects 102 a . . . 102 n , where n is the number of discovered fabrics 4 a , 4 b , 4 c (FIG. 1) in the SAN.
  • Each fabric 102 a . . .
  • Each graph object 104 references a plurality of graph nodes 106 a . . . 106 n , where there is one graph node for each discovered component in the fabric 4 a , 4 b , 4 c represented by the fabric object 102 a . . . 102 n including graph object 104 .
  • a graph node 106 a . . . 106 n may be provided for each component in the fabric, e.g., host 6 a , 6 b , 6 c , switch 8 a , 8 b , storage 10 a , 10 b , 10 c and separately addressable subcomponents thereof, such as ports.
  • Each edge object 108 a . . . 108 n provides information on a connection between two SAN components and the direction of data flow therebetween, which may indicate that data flows only one way or bi-directionally.
  • an edge object 108 a . . . 108 n may provide information on a connection between two ports represented by graph nodes.
  • 110 n may reference graph nodes 106 a . . . 106 n , shown as graph nodes 106 i . . . 106 m and 106 n . . . 106 p that represent switch ports in the zone represented by the zone object 110 a . . . 110 n.
  • the topology of FIG. 3 further includes a Direct Access Storage (DAS) graph object 112 associated with the SAN object 100 .
  • the DAS graph object 112 references graph nodes 114 a . . . 114 n that represent directly attached components, such as hosts, host bus adaptors (HBAs), devices, and the ports within the devices that connect to other direct attached devices.
  • the DAS ports are not within a fabric. However, a device that has a DAS port connected to a storage device that is not within a fabric may have an additional port connected to a switch port within a fabric.
  • the storage device including the port attached to the component represented by graph nodes 114 a . . . 114 n may or may not be within a fabric.
  • the DAS nodes 114 a . . . 114 n would reference input and output edge objects (not shown) providing information on the physical connection between DAS components.
  • each of the objects may be accessible using the graph interface 46 , such that information on the connection of the devices can be accessed by accessing the objects in the topology shown in FIG. 3. Further, upon accessing any object in the topology, any of the related objects referenced by such accessed object may be accessed through such references to access information on the related item. For instance, upon using the graph interface 46 to access information on a particular fabric 4 a , 4 b , 4 c from the corresponding fabric object 102 a . . . 102 n , the physical graph object 104 for the accessed fabric object 102 a may be accessed to determine information on the components in the fabric represented by the graph nodes 106 a . . .
  • Information on the connection between the nodes 106 a . . . 106 n may be accessed from the edge objects 108 a . . . 108 n . Further, information on the zones in a fabric 4 a , 4 b , 4 c represented by fabric object 102 a may be determined from the zone objects 110 a . . . 110 referenced by the fabric object 102 .
  • all the graph nodes may have the same data structure format even though the graph nodes may represent different types of devices and devices from different vendors.
  • the graph nodes 106 a . . . 106 n may represent a contained component that is a subcomponent of a larger composite component, i.e., a port in an adaptor (e.g., HBA) or switch.
  • Each of the SAN 100 , fabric 102 a . . . 102 n , physical graph 104 , node 106 a . . . 106 n , and zone 110 a . . . 110 n objects provide information on the object type that would be useful to an administrator of the SAN 2 .
  • the zone objects 110 a . . . 110 n may include information identifying the zone, its security level, etc.
  • FIG. 4 illustrates the information maintained in the raw node objects 120 generated by the node mapper 38 .
  • Raw Node Reference 150 uniquely identifies the raw node.
  • Parent Reference 152 references a parent raw node representing a composite SAN component physically or logically containing the component represented by the current raw node.
  • Child References 154 comprises one or more references to raw nodes that represent SAN components physically or logically contained within the composite SAN component represented by the current raw node, i.e., child raw nodes, if there are such components contained within the current component.
  • Attached Node 156 if the current raw node 150 represents a port component, then the attached node 156 may represent the port(s), if any, to which the current node connects in the SAN 2 .
  • Node Type 158 indicates the type of component represented by the raw node, i.e., storage system, switch, switch port, port, zone, HBA, fabric, etc.
  • Device Information 160 provides additional information on the component represented by the raw node, such as the name of the device, vendor, model, port number, World Wide Name (WWN), etc.
  • WWN World Wide Name
  • Node Status 162 Indicates the current state of the device or component represented by the node, such as available, failed, unavailable, etc.
  • FIG. 5 illustrates fields in the graph nodes 106 a . . . 106 n that are generated from the raw nodes for the SAN components.
  • the graph nodes 106 a . . . 106 n include:
  • Graph Node Reference 170 uniquely identifies the graph node.
  • Parent Reference 172 references a parent graph node for the graph node, if there is such a parent, where the parent graph node represents a composite SAN component that physically or logically contains the SAN component represented by the current graph node.
  • Child References 174 comprises one or more references to graph nodes that represent SAN components physically or logically contained within the composite SAN component represented by the current graph node, i.e., child graph nodes, if there are such components contained within the current component.
  • Reference to Raw Node 176 provides a reference to the raw node that represents the same SAN component represented by the current graph node, where the graph nodes are generated from the raw nodes.
  • Node Type 178 indicates the type of component represented by the graph node, i.e., storage system, switch, switch port, zone, HBA, fabric, etc.
  • Input Edge Object 180 references an edge object 108 a . . . 108 n indicating a physical connection to another SAN component where data flows from the other SAN component indicated in the input edge object 180 to the component represented by the graph node, if there is such a physically connected SAN component.
  • Output Edge Object 182 references an edge object 108 a . . . 108 n indicating a physical connection to another SAN component where data flows from the SAN component represented by the graph node to the other SAN component indicated in the input edge object 180 , if there is such a physically connected SAN component.
  • Other Information 184 provides additional information on the SAN component represented by the graph node, such as the name of the device, vendor, model, port number, World Wide Name (WWN), etc. Such information, if provided, may comprise a subset or all of the device information 160 included in the raw node 120 (FIG. 4).
  • FIG. 6 illustrates the fields maintained in the fabric objects 102 a . . . 102 n , including:
  • Fabric Reference 190 uniquely identifies the fabric object.
  • Reference to Graph Object 192 references the graph object 104 for the fabric represented by the fabric object that, in turn, references graph nodes 106 a . . . 106 n representing SAN components in the fabric.
  • Zone Object Reference(s) 194 references zero or more zone objects that each represent a zone included in the fabric.
  • Fabric Information 196 this is an optional one or more fields that may provide additional information on the fabric.
  • FIG. 7 illustrates fields included in the edge objects 108 a . . . 108 n that represent a physical connection and direction of data flow between two SAN ports represented by two or more graph nodes 106 a . . . 106 n , including:
  • Edge Reference 200 uniquely identifies the edge object 108 a . . . 108 n in the graph topology 44 .
  • Head Graph Node 202 provides a reference to the graph node representing one SAN port physically connected to another SAN port.
  • Tail Graph Node 204 provides a reference to the graph node representing the SAN port physically connected to the port represented by the head graph node 202 .
  • Nodes are designated head or tail to indicate the direction of data flow, where data flows from the port represented by the head graph node to the port represented by the tail graph node.
  • Two edge objects may be used to represent bidirectional communication of data between two ports represented by two nodes node.
  • FIG. 8 illustrates fields included in the zone objects 110 a . . . 110 n providing references to switch ports in a zone of a fabric, including:
  • Zone Reference 210 uniquely identifies the zone object in the graph topology 44 .
  • Graph Node References 212 provides references to the one or more graph nodes representing switch ports included in the zone.
  • Zone Name and Other Info 214 Provides a name or identifier of the zone in the fabric and may include additional information, such as a reference to the fabric object 102 a . . . 102 n containing the zone.
  • FIG. 9 illustrates data structures used by the topology engine 36 components to generate the graph topology 42 .
  • the node mapper 38 generates a raw node map 250 that is used by the graph engine 42 to generate the graph topology 44 .
  • the graph engine 42 generates a fabric map 252 , composite map 254 , fabric child map 256 , transform map 258 , and zone map 260 that are used, in the manner described below, when generating the graph topology 44 .
  • These maps 250 , 252 , 254 , 256 , 258 , and 260 may be maintained in a memory area used by the topology engine 36 .
  • FIG. 10 illustrates logic implemented in the node mapper 38 to generate raw nodes from the SAN component information maintained in the device database 34 .
  • Control begins at block 300 with the node mapper 38 accessing the SAN component data from the device database 34 on SAN components, including hosts, host bus adaptors (HBAs), storage systems, fabrics, switches, zones, ports, etc.
  • HBAs host bus adaptors
  • the node mapper 38 For each valid component i indicated in the device database, the node mapper 38 performs a loop between blocks 302 and 308 , where a valid component comprises a component to be represented in the graph topology 44 , such as hosts, host bus adaptors (HBAs), storage systems, fabrics, switches, zones, ports, etc.
  • HBAs host bus adaptors
  • the node mapper 38 generates a raw node object 120 for the component i and a raw node reference 150 for the raw node 120 .
  • Component information is extracted (at block 306 ) from the device database for component i and added to the device information field 160 of the generated raw node, such as component name, vendor, model, port number, World Wide Name (WWN), etc.
  • the node mapper 38 performs a loop for each generated raw node. If (at block 312 ) the component represented by raw node i is logically or physically contained within another composite SAN component, then the node mapper 38 adds (at block 314 ) a reference to the parent raw node for raw node i to the parent raw node representing the composite SAN component containing the component represented by raw node i in the parent reference field 152 (FIG. 4) and adds (at block 316 ) the reference to the generated raw node 120 to a raw node map 250 . Control then returns (at block 318 ) back to block 310 to process the next generated raw node 120 .
  • the node mapper 38 After generating raw nodes for all valid components in the SAN, the node mapper 38 , for each raw node indicated in the raw node map 250 , adds (at block 320 ) a reference to the raw node in the parent reference 152 of the child raw nodes, indicated in the child references field 154 . The node mapper 38 then accesses (at block 322 ) information from the device database 34 on the connected ports and, for each pair of connected ports, adds (at block 324 ) references in the attached node field 156 of the raw nodes of each connected port the reference to the raw node representing the remote port.
  • the result of the logic of FIG. 9 is a set of raw nodes 40 , one for each of certain valid SAN components indicated in the device database 34 .
  • FIGS. 11 - 17 illustrates logic implemented in the graph engine 42 to transform the content of the raw nodes 40 into a graph topology 44 including a set of interrelated graph objects representing the SAN components, such as shown in FIG. 3.
  • the graph engine 42 assembles the fabric objects 102 a . . . 102 n representing fabric components and begins assembling the graph nodes for the children of the fabric 102 a . . . 102 n , such as switches, switch ports, zones.
  • the graph engine 42 gathers (at block 350 ) the raw nodes 40 . For each raw node i indicated in the raw node map 250 , a loop is performed at blocks 352 to 364 .
  • the raw node i type 158 (FIG. 4) is a fabric
  • a reference to raw node i is added (at block 356 ) to a fabric map 252 and the reference to raw node i is removed (at block 358 ) from the raw node map 250 and added to a composite map 254 .
  • the composite map 254 indicates raw nodes representing composite components logically or physically containing SAN components.
  • raw node i does not represent a fabric component, but is (at block 360 ) of type switch, switch port or zone, then a reference to raw node i is added (at block 362 ) to a fabric child map 256 , indicating the children of a fabric component, and the reference to raw node i is removed (at block 358 ) from the raw node map 250 .
  • a separate fabric child map 256 may be provided for each fabric indicated in the fabric map 252 .
  • the graph engine 42 then performs a loop at blocks 380 through 388 to generate a fabric object 102 a . . . 102 n for each raw node j representing a fabric in the fabric map 252 .
  • the graph engine 42 generates a fabric object 102 a . . . 102 n including a fabric reference 190 (FIG. 6), and optionally may include additional information on the fabric from the device info field 160 of raw node j.
  • a graph object 104 is generated (at block 384 ) for the generated fabric object and a reference to such graph object is added to field 192 of the fabric object 102 a . . . 102 n generated for raw node j.
  • the reference to the generated fabric object 102 a . . . 102 n is then removed (at block 386 ) from the fabric map 252 .
  • the graph engine 42 performs a loop at blocks 400 through 408 for each raw node k in the fabric child map 256 . If (at block 402 ) the raw node k type 158 (FIG. 4) indicates a zone, then a reference 150 to raw node k is added (at block 406 ) to a zone map 260 providing a list of all raw nodes representing zones, where a different zone map 260 may be provided for each fabric to indicate the zones in that fabric. Otherwise, if the raw node k does not represent a zone, then it must represent a switch or switch port, which are the other possible children of a fabric component.
  • the graph engine 42 calls the transform operation, whose logic is shown in FIG. 15 to generate a graph node 106 a . . . 106 n for each raw node k in the fabric child map 256 representing a switch or switch port.
  • FIG. 13 illustrates the operations the graph engine 42 performs to call (at block 420 ) the transform operation, represented in FIG. 15, to generate a graph node 106 a . . . 106 n for all raw nodes remaining in the raw node map 250 that represent possible orphan components, i.e., SAN components not attached to another component, in either a fabric or Direct Attached Storage (DAS) arrangement.
  • These generated graph nodes may later be associated with a fabric object 102 a . . . 102 n or DAS graph 112 upon discovering a connection from the component represented by the graph node generated at block 420 to a SAN component represented by a graph node 106 a . . . 106 n associated with a graph object 104 or component represented by a graph node 114 a . . . 114 n associated with a DAS graph 112 .
  • DAS Direct Attached Storage
  • FIG. 14 illustrates operations the graph engine 42 performs to process raw nodes representing composite SAN components in the composite map 254 to generate graph nodes 106 a . . . 106 n for the components contained in the composite SAN components.
  • a loop is performed at blocks 450 through 456 for each raw node m indicated in the composite map 254 .
  • the graph engine 42 calls the transform operation, represented in FIG. 15, to generate a graph node 106 a . . . 106 n for each determined child raw node.
  • a component that is contained in a composite component may itself also contain components, such as a host bus adaptor (HBA) that is both contained in a host system and contains port components.
  • HBA host bus adaptor
  • FIG. 15 illustrates the operations performed by the transform operation that the graph engine 42 calls to transform a raw node representing a SAN component into a graph node.
  • a graph node 106 a . . . 106 n is generated (at block 502 ) for the raw node including a graph node reference 170 (FIG. 5), a reference 176 to the raw node from which the graph node is being generated, type information in field 178 , and optionally may include additional device information from field 160 in the raw node being transformed.
  • the raw node being transformed comprises a composite node, i.e., is a SAN component logically or physically containing other contents, i.e., references raw nodes in the child references field 154 , then a reference to the raw node being transformed is added (at block 504 ) to the composite map 254 (to allow for transformation of the contained components during the assemble composites phase shown in FIG. 14) and removed from the raw node map 250 . If (at block 506 ) the fabric including the SAN component represented by the raw node can be determined, assuming the raw node is contained within a SAN fabric, then the fabric including the raw node is determined (at block 508 ) and the graph object 104 indicated in the graph object reference field 192 (FIG.
  • the graph engine 42 would then add (at block 512 ) a reference to the generated graph node 106 a . . . 106 n , to the graph node 104 .
  • the reference to the transformed raw node is removed from the raw node map 250 and a reference to the generated graph node 106 a . . . 106 n is added to the transform map 258 .
  • Control then returns (at block 516 ) to the caller that initiated the transform operation shown in FIG. 15.
  • FIG. 16 illustrates operations the graph engine 42 performs to assemble edge objects 108 a . . . 108 n providing information on physical connections of SAN components represented by graph nodes 106 a . . . 106 n .
  • a loop is performed from blocks 550 through 576 for each graph node p indicated in the transform map 258 . If (at block 552 ) the graph node p type, indicated in field 178 , is a switch port, then from the raw node for graph node p, indicated in raw node reference field 176 of the graph node 106 a . . .
  • the graph engine 42 determines the one or more raw node references to SAN components represented by the attached graph nodes indicated in the attached node field 156 (FIG. 4). A nested loop is then performed at blocks 556 through 576 for each determined attached raw node reference q representing a component attached to the component represented by graph node p.
  • the graph engine 42 determines the attached graph node 106 a . . . 106 n generated from the raw node q, which would be the graph node 106 a . . . 106 n including the reference to raw node q in reference field 176 (FIG. 5).
  • An edge object 108 a . . . 108 n is generated (at block 560 ) having references to graph node p and the determined attached graph node in fields 202 and 204 (FIG. 7).
  • the graph engine 42 determines (at block 562 ) from the parent reference 172 (FIG. 5) the parent of the determined attached graph node, which may comprise a reference to another graph node 106 a . . . 106 n . If (at block 564 ) the parent graph node type, indicated in field 178 (FIG. 5), is a storage system or device, then the data flows from graph node p to the determined attached graph node. In such case, the graph engine 42 sets (at block 566 ) in the generated edge object the head graph node 202 to graph node p and the tail graph node 204 to the attached graph node.
  • the output edge object 182 is set (at block 568 ) to the generated edge object and in the attached graph node, the input edge object 180 is set to the generated edge object. Otherwise, if (at block 564 ) the parent graph node type is not a storage system, then data flows from the determined attached graph node to graph node p. In such case, the graph engine 42 sets (at block 570 ) in the generated edge object the head graph node 202 to the attached graph node and the tail graph node 204 to graph node p. Further, in graph node p, the input edge object 180 is set (at block 572 ) to the generated edge object and in the attached graph node, the output edge object 182 is set to the generated edge object.
  • the graph node 42 would add (at block 578 ) the graph node p to a Direct Attached Storage (DAS) graph 112 (FIG. 3) if the graph node p is a host bus adaptor (HBA) and the attached SAN component represented by an attached graph node is contained in a storage device, indicating that graph node p represents a host port directly connected to a storage system.
  • DAS Direct Attached Storage
  • One result of the logic of FIG. 16 is that graph nodes are generated for any SAN component logically or physically contained within a composite SAN component, whether the composite SAN component is attached to a fabric port or a DAS.
  • FIG. 17 illustrates operations performed by the graph engine 42 to generate zone objects 110 a . . . 110 n that reference graph nodes 106 a . . . 106 n representing SAN components that are contained within zones.
  • a loop is performed for each raw node r in the zone map 260 from blocks 600 through 610 .
  • the graph engine 42 generates a zone object 110 a . . . 110 n that includes a zone reference 210 (FIG. 8).
  • a determination is made (at block 604 ) of the fabric object 102 a . . . 102 n representing the fabric indicated in the parent field of raw node r, because the parent of a zone is a fabric.
  • the graph engine 42 then adds (at block 606 ) a reference to the generated zone object 110 a . . . 110 n in the zone object references field 194 of the determined fabric object 102 a . . . 102 n .
  • the graph engine 42 determines (at block 608 ) the corresponding graph node having the child raw node reference in field 176 (FIG. 5) and adds a reference to the determined graph node 106 a . . . 106 n to the generated zone object 110 a . . . 110 n , as that determined graph node represents a switch port within the zone.
  • each fabric object 102 a . . . 102 n representing a SAN fabric references zone objects 110 a . . . 110 n representing zones within that fabric, where the zone objects 110 a . . . 110 n reference graph nodes representing the switch ports contained within the zone.
  • the content of the topology may be stored in a database or any other file or data structure in a computer readable medium.
  • the graph topology 44 content may be refreshed whenever any change is detected to the device database 34 (FIG. 2) indicating a possible change to the SAN 2 architecture. Such a modification would trigger the node mapper 38 to regenerate the raw nodes 40 , which are then provided to the graph engine 42 to process and generate the graph topology 44 .
  • the graph interface 46 may provide a set of interfaces, such as methods or user interface controls, that allow a user to access information from any of the objects, or transfer the topology objects to obtain information on any components contained within the component represented by a particular object. For instance, FIG.
  • rendered output 650 which may be rendered on a display device or tangible medium, such as paper, that is generated by running a program that seeks to access all SAN components within a selected zone of a particular fabric, where the components in the selected zone, including switch 654 b and attached hosts 652 b , 652 c and storage 656 a , 656 b , 656 d , are shown darker than the components in zones other than the selected zone, including switch 654 a and attached hosts 652 a and storage 656 c.
  • FIG. 19 illustrates operations the graph interface 46 performs with respect to the graph topology 44 to render the output 650 shown in FIG. 18.
  • Control begins at block 700 upon initiating an operation to render output showing the host, switch, and storage components within a selected fabric and zone of the fabric.
  • the graph interface 46 determines (at block 702 ) the fabric object 102 a . . . 102 n representing the selected fabric and determines (at block 704 ) the graph object 104 referenced in field 192 (FIG. 6) of the determined fabric object 102 a . . . 102 n .
  • the graph interface 46 determines (at block 706 ) the graph nodes 106 a . . .
  • type fields 178 FIG. 5
  • the graph interface 46 further determines from the child references for determined graph nodes representing switches, the graph nodes representing switch ports.
  • the graph interface 46 determines (at block 712 ) edge objects 108 a . . . 108 n referenced in the determined graph object 104 that reference a graph node pair 202 , 204 (FIG. 7) representing one determine host port and one determined switch port.
  • a line is then rendered (at block 716 ) from a host image 652 a , 652 b , 652 c (FIG. 18) representing the host including the host port indicated in the edge object to a switch image 654 a , 654 b representing the switch including the switch port indicated in the edge object.
  • the graph interface 46 further determines (at block 718 ), from child references in graph nodes representing storage, the graph nodes representing storage ports. A determination is then made (at block 720 ) of edge objects 108 a . . . 108 n referencing one graph node representing a determined storage port and one graph node representing a determined switch port. For each edge object determined at block 720 , a line is rendered (at block 722 ) from a storage image 656 a , 656 b , 656 c , 656 d (FIG. 18) representing the storage including the storage port indicated in the edge object to a switch image 654 a , 654 b representing the switch including the switch port indicated in the edge object.
  • the graph interface 46 would determine (at block 724 ) the zone object 110 a . . . 110 n referenced by the fabric object representing the selected zone. A determination is then made (at block 726 ) of all graph nodes 106 a . . . 106 n referenced by the determined zone object 110 a . . . 110 n , in field 212 (FIG. 8), which represent switch ports in the selected zone. The graph interface 46 then renders (at block 728 ) all SAN components connected to switch ports represented by determined graph nodes 106 a . . . 106 n referenced by the determined zone object 110 a . . .
  • the components 652 b , 652 c , switch 654 b , and storage 656 a , 656 b , 656 d within the selected zone are rendered in a different manner than the components 652 a , 654 a , 656 c outside of the selected zone.
  • the host, switch, and storage components in the selected fabric would be rendered in the same manner, without zone distinctions.
  • selection of a host may cause the graph interface 46 to render information on host bus adaptor (HBA) components and ports therein by traversing the children graph nodes, representing HBAs, of the graph node representing the selected composite host, and then traversing the children graph nodes of the HBA graph node representing ports.
  • HBA host bus adaptor
  • the described techniques for maintaining information on network components may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • article of manufacture refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.).
  • Code in the computer readable medium is accessed and executed by a processor.
  • the code in which preferred embodiments are implemented may further be accessible through a transmission media or from a file server over a network.
  • the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc.
  • a transmission media such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc.
  • the described implementations provided a topology and object architecture for maintaining information on different components in a SAN network.
  • An alternative object architecture may be provided, such that component information described as included in different objects may be merged in a single object or component information described as included in a single object may be distributed across multiple objects.
  • FIGS. 10 - 17 and 19 shows certain events occurring in a certain order.
  • certain operations may be performed in a different order, modified or removed. Morever, steps may be added to the above described logic and still conform to the described implementations. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
  • FIG. 20 illustrates one implementation of a computer architecture 800 of the SAN components and systems shown in FIGS. 1 and 2.
  • the architecture 800 may include a processor 802 (e.g., a microprocessor), a memory 804 (e.g., a volatile memory device), and storage 806 (e.g., a non-volatile storage, such as magnetic disk drives, optical disk drives, a tape drive, etc.).
  • the storage 806 may comprise an internal storage device or an attached or network accessible storage. Programs in the storage 806 are loaded into the memory 804 and executed by the processor 802 in a manner known in the art.
  • the architecture further includes a network card 808 to enable communication with a network.
  • An input device 810 is used to provide user input to the processor 802 , and may include a keyboard, mouse, pen-stylus, microphone, touch sensitive display screen, or any other activation or input mechanism known in the art.
  • An output device 812 is capable of rendering information transmitted from the processor 802 , or other component, such as a display monitor, printer, storage, etc.

Abstract

Provided are a method, system, program and memory device for providing information on components within a network. Provided is a grouping indicating interconnected components and component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component. Further provided are connection objects indicating connections between components represented by component objects. The component objects, the relationship information, and the connection objects are processed to generate output information indicating an arrangement of at least one component within the network.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to a method, system, and program for providing information on components within a network. [0002]
  • 2. Description of the Related Art [0003]
  • A storage area network (SAN) comprises a network linking one or more servers to one or more storage systems. Each storage system could comprise a Redundant Array of Independent Disks (RAID) array, tape backup, tape library, CD-ROM library, or JBOD (Just a Bunch of Disks) components. One common protocol for enabling communication among the various SAN devices is the Fibre Channel protocol, which uses optical fibers or copper wires to connect devices and provide high bandwidth communication between the devices. The Fibre Channel protocol defines a fabric topology. A fabric includes one or more interconnected switches, each switch having multiple ports. A fiber link may connect ports on a device to ports on a switch, where a device connected to a switch in a fabric can communicate with all other ports attached to any switch in the fabric. [0004]
  • During SAN operations, information on various devices in one or more fabrics in a SAN may be gathered. The information may concern devices from different vendors. There is a need in the art for improved techniques for managing information gathered on the different components in a SAN and making such information available to the SAN administrator and others in a normalized format. [0005]
  • SUMMARY OF THE DESCRIBED IMPLEMENTATIONS
  • Provided are a method, system, program and memory device for providing information on components within a network. Provided is a grouping indicating interconnected components and component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component. Further provided are connection objects indicating connections between components represented by component objects. The component objects, the relationship information, and the connection objects are processed to generate output information indicating an arrangement of at least one component within the network. [0006]
  • Further provided is a grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components. [0007]
  • Still further provided are a plurality of grouping objects for a plurality of groupings, wherein each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping. [0008]
  • Yet further, the grouping may represent a fabric comprised of at least one switch interconnecting host systems and storage systems, wherein one component object is provided for each switch, host system, and storage system in the fabric. [0009]
  • In still further implementations, at least one zone object is provided for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone. [0010]
  • Described implementations provide interconnected objects that maintain information on components in a network that may be processed to access information on network components and their interrelationship. [0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Referring now to the drawings in which like reference numbers represent corresponding parts throughout: [0012]
  • FIG. 1 illustrates an arrangement of network components in a manner known in the art; [0013]
  • FIG. 2 illustrates program components in a network management application in accordance with implementations of the invention; [0014]
  • FIG. 3 illustrates a topology of objects providing information on network components in accordance with implementations of the invention; [0015]
  • FIGS. 4, 5, [0016] 6, 7, and 8 illustrate contents of data structures providing information on network components in accordance with implementations of the invention;
  • FIG. 9 illustrates data structures used to generate topology objects in accordance with implementations of the invention; [0017]
  • FIGS. 10, 11, [0018] 12, 13, 14, 15, 16, and 17 illustrate operations performed to generate the topology of objects shown in FIG. 3 in accordance with implementations of the invention;
  • FIG. 18 illustrates an example of output generated from information maintained in the objects providing information on network components in accordance with implementations of the invention; and [0019]
  • FIG. 19 illustrates operations performed to process the objects providing information on network components to generate the output shown in FIG. 17 in accordance with implementations of the invention.[0020]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments of the present invention. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the present invention. [0021]
  • FIG. 1 illustrates an example of a [0022] network 2, such as a SAN, comprised of multiple fabrics 4 a, 4 b, 4 c, where each fabric includes multiple interconnected devices, also referred to as components, such that the switches in one fabric do not connect to any of the devices in another fabric. As shown in fabric 4 a, a fabric includes hosts 6 a, 6 b, 6 c, switches 8 a, 8 b, and storages 10 a, 10 b, 10 c, where each device in the fabric is connected to one or more other devices in the fabric. The hosts 6 a, 6 b, 6 c, switches 8 a, 8 b, and storages 10 a, 10 b, 10 c would further each include one or more ports (not shown) to provide one or more connections with another component. The hosts 6 a, 6 b, 6 c include host bus adaptor (HBA) cards (not shown) that include the host ports to connect to switch ports. Further switch 8 a, 8 b ports may be included in zones, such that any device attached to a switch port in one particular zone can only communicate with devices attached to switch ports in the same zone. Still further, a host may include multiple ports and have different ports connected to different switches, where the switches are not in any way interconnected. In such an arrangement, the host connected to such switches that are not connected is connected to different fabrics. The switches 8 a, 8 b may be connected via an interswitch link, such as shown in FIG. 1, or not connected.
  • The hosts [0023] 6 a, 6 b, 6 c may comprise any computing device known in the art, such as a server class machine, workstation, storage host, host cluster, etc., having adaptor cards with ports to connect to one switch port in switches 8 a, 8 b. The switches 8 a, 8 b may each include multiple switch ports to interconnect different devices in a fabric, wherein the devices may be connected in a network, such as a SAN, Local Area Network (LAN), Wide Area Network (WAN), etc. The storages 10 a, 10 b, 10 c may comprise any storage system known in the art which has compatible ports, such as a storage array, e.g., a storage subsystem, a subsystem cluster, Just a Bunch of Disks (JBOD), Redundant Array of Independent Disks (RAID), Direct Access Storage Device (DASD), etc., tape drive, tape library, disk drive, optical disk drive, etc. The ports within the hosts 6 a, 6 b, 6 c and storages 10 a, 10 b, 10 c may comprise NxPorts, or any other ports known in the art. The network 2 or SAN may further include direct attached storage (DAS) devices that connect directly to another host or device other than a switch and orphan devices not connected to any other component.
  • FIG. 2 illustrates a [0024] SAN management system 30 used by a network administrator, where the system 30 may be coupled to the SAN 2 or implemented in a SAN component. The SAN management system 30 includes a discovery tool 32 program that mines device information from the SAN 2 and populates a device database 34 with the mined information that stores information on each of the components of the SAN 2, where a component comprises a logical or physical device, e.g., hosts 6 a, 6 b, 6 c, switches 8 a, 8 b, storages 10 a, 10 b, 10 c, adaptors with the devices, ports, logical storage, zones, fabrics, etc. In certain implementations, the device database 34 may comprise a SAN domain model device information database. Thus, each component discovered by the discovery tool 32 may contain additional discovered components. For instance a discovered host 6 a, 6 b, 6 c may include a discovered host bus adaptor (HBA), and the discovered HBA may include discovered ports; a discovered zone component may include device components and subcomponents; a discovered fabric may include numerous discoverable devices and subcomponents thereof. The discovery tool 32 may comprise multiple programs, tools or Application Programming Interfaces (APIs) provided by different device vendors whose devices are included in the SAN 2. Alternatively, the discovery tool 32 may access information from devices implementing the Common Information Model (CIM) protocol to exchange device information. However, those skilled in the art will appreciate that any device management interface may be used to access device information from the SAN components. The device database 34 stores the discovered device data.
  • A [0025] topology engine program 36 includes program components 38, 42, and 46 to process the device information in the device database 34. The topology engine 36 includes a node mapper 38 program that transforms the data in the device database 34, that may be gathered by discovery tools from different vendors, into a plurality of raw nodes 40 in a common format, where each raw node maintains various device information. A graph engine 42 program processes the raw nodes 40 and generates a graph topology 44 including graph nodes providing interrelated data structures that store the device information. A graph interface 46 provides methods, such as program functions and/or graphical user interface (GUI) controls, to allow a user to traverse the graph topology 44 to access information on the connection and arrangement of devices in the SAN 2 and render graphical representations of the SAN components and their physical and logical interrelationship. In alternative implementations, the program components 38, 42, and 46 of the topology engine 36 may comprise separate applications, or some of the components 38, 42, and 46 may be external to the topology engine 36.
  • FIG. 3 illustrates one implementation of the [0026] graph topology 44 data model in accordance with implementations of the invention. A SAN object 100 provides information on the SAN 2 and references one or more fabric objects 102 a . . . 102 n, where n is the number of discovered fabrics 4 a, 4 b, 4 c (FIG. 1) in the SAN. Any variable used herein to represent a number of unknown value, e.g., m, n, p, k, q, r, etc., represents any integer value, and where the variables may represent the same or different integer values. Each fabric 102 a . . . 102 n would include a reference to one graph object 104 and one or more zone objects 110 a . . . 110 n for each zone in the fabric 4 a, 4 b, 4 c represented by the fabric object 102 a . . . 102. If there are no zones in the fabric, then the fabric object 102 a . . . 102 n for such fabric would not reference any zone objects. Each graph object 104 references a plurality of graph nodes 106 a . . . 106 n, where there is one graph node for each discovered component in the fabric 4 a, 4 b, 4 c represented by the fabric object 102 a . . . 102 n including graph object 104. As discussed, a graph node 106 a . . . 106 n may be provided for each component in the fabric, e.g., host 6 a, 6 b, 6 c, switch 8 a, 8 b, storage 10 a, 10 b, 10 c and separately addressable subcomponents thereof, such as ports. Each node 106 a . . . 106 n that represents a SAN component that physically connects to another SAN component would reference one or more input edge objects 108 a, 108 m and one or more output edge objects 108 b, 108 n providing information on a physical connection through which data flows into the SAN component and a connection through which data flows out of the SAN component, respectively. Each edge object 108 a . . . 108 n provides information on a connection between two SAN components and the direction of data flow therebetween, which may indicate that data flows only one way or bi-directionally. For instance, an edge object 108 a . . . 108 n may provide information on a connection between two ports represented by graph nodes. Each zone object 110 a . . . 110 n may reference graph nodes 106 a . . . 106 n, shown as graph nodes 106 i . . . 106 m and 106 n . . . 106 p that represent switch ports in the zone represented by the zone object 110 a . . . 110 n.
  • The topology of FIG. 3 further includes a Direct Access Storage (DAS) [0027] graph object 112 associated with the SAN object 100. The DAS graph object 112 references graph nodes 114 a . . . 114 n that represent directly attached components, such as hosts, host bus adaptors (HBAs), devices, and the ports within the devices that connect to other direct attached devices. The DAS ports are not within a fabric. However, a device that has a DAS port connected to a storage device that is not within a fabric may have an additional port connected to a switch port within a fabric. The storage device including the port attached to the component represented by graph nodes 114 a . . . 114 n may or may not be within a fabric. The DAS nodes 114 a . . . 114 n would reference input and output edge objects (not shown) providing information on the physical connection between DAS components.
  • In the above graph topology shown in FIG. 3, each of the objects may be accessible using the [0028] graph interface 46, such that information on the connection of the devices can be accessed by accessing the objects in the topology shown in FIG. 3. Further, upon accessing any object in the topology, any of the related objects referenced by such accessed object may be accessed through such references to access information on the related item. For instance, upon using the graph interface 46 to access information on a particular fabric 4 a, 4 b, 4 c from the corresponding fabric object 102 a . . . 102 n, the physical graph object 104 for the accessed fabric object 102 a may be accessed to determine information on the components in the fabric represented by the graph nodes 106 a . . . 106 n referenced by the physical graph object 104. Information on the connection between the nodes 106 a . . . 106 n may be accessed from the edge objects 108 a . . . 108 n. Further, information on the zones in a fabric 4 a, 4 b, 4 c represented by fabric object 102 a may be determined from the zone objects 110 a . . . 110 referenced by the fabric object 102.
  • With the graph topology of FIG. 3, all the graph nodes may have the same data structure format even though the graph nodes may represent different types of devices and devices from different vendors. Further, the [0029] graph nodes 106 a . . . 106 n may represent a contained component that is a subcomponent of a larger composite component, i.e., a port in an adaptor (e.g., HBA) or switch. Each of the SAN 100, fabric 102 a . . . 102 n, physical graph 104, node 106 a . . . 106 n, and zone 110 a . . . 110 n objects provide information on the object type that would be useful to an administrator of the SAN 2. For instance, the zone objects 110 a . . . 110 n may include information identifying the zone, its security level, etc.
  • FIG. 4 illustrates the information maintained in the raw node objects [0030] 120 generated by the node mapper 38.
  • Raw Node Reference [0031] 150: uniquely identifies the raw node.
  • Parent Reference [0032] 152: references a parent raw node representing a composite SAN component physically or logically containing the component represented by the current raw node.
  • Child References [0033] 154: comprises one or more references to raw nodes that represent SAN components physically or logically contained within the composite SAN component represented by the current raw node, i.e., child raw nodes, if there are such components contained within the current component.
  • Attached Node [0034] 156: if the current raw node 150 represents a port component, then the attached node 156 may represent the port(s), if any, to which the current node connects in the SAN 2.
  • Node Type [0035] 158: indicates the type of component represented by the raw node, i.e., storage system, switch, switch port, port, zone, HBA, fabric, etc.
  • Device Information [0036] 160: provides additional information on the component represented by the raw node, such as the name of the device, vendor, model, port number, World Wide Name (WWN), etc.
  • Node Status [0037] 162: Indicates the current state of the device or component represented by the node, such as available, failed, unavailable, etc.
  • FIG. 5 illustrates fields in the [0038] graph nodes 106 a . . . 106 n that are generated from the raw nodes for the SAN components. The graph nodes 106 a . . . 106 n include:
  • Graph Node Reference [0039] 170: uniquely identifies the graph node.
  • Parent Reference [0040] 172: references a parent graph node for the graph node, if there is such a parent, where the parent graph node represents a composite SAN component that physically or logically contains the SAN component represented by the current graph node.
  • Child References [0041] 174: comprises one or more references to graph nodes that represent SAN components physically or logically contained within the composite SAN component represented by the current graph node, i.e., child graph nodes, if there are such components contained within the current component.
  • Reference to Raw Node [0042] 176: provides a reference to the raw node that represents the same SAN component represented by the current graph node, where the graph nodes are generated from the raw nodes.
  • Node Type [0043] 178: indicates the type of component represented by the graph node, i.e., storage system, switch, switch port, zone, HBA, fabric, etc.
  • Input Edge Object [0044] 180: references an edge object 108 a . . . 108 n indicating a physical connection to another SAN component where data flows from the other SAN component indicated in the input edge object 180 to the component represented by the graph node, if there is such a physically connected SAN component.
  • Output Edge Object [0045] 182: references an edge object 108 a . . . 108 n indicating a physical connection to another SAN component where data flows from the SAN component represented by the graph node to the other SAN component indicated in the input edge object 180, if there is such a physically connected SAN component.
  • Other Information [0046] 184: provides additional information on the SAN component represented by the graph node, such as the name of the device, vendor, model, port number, World Wide Name (WWN), etc. Such information, if provided, may comprise a subset or all of the device information 160 included in the raw node 120 (FIG. 4).
  • FIG. 6 illustrates the fields maintained in the fabric objects [0047] 102 a . . . 102 n, including:
  • Fabric Reference [0048] 190: uniquely identifies the fabric object.
  • Reference to Graph Object [0049] 192: references the graph object 104 for the fabric represented by the fabric object that, in turn, references graph nodes 106 a . . . 106 n representing SAN components in the fabric.
  • Zone Object Reference(s) [0050] 194: references zero or more zone objects that each represent a zone included in the fabric.
  • Fabric Information [0051] 196: this is an optional one or more fields that may provide additional information on the fabric.
  • FIG. 7 illustrates fields included in the edge objects [0052] 108 a . . . 108 n that represent a physical connection and direction of data flow between two SAN ports represented by two or more graph nodes 106 a . . . 106 n, including:
  • Edge Reference [0053] 200: uniquely identifies the edge object 108 a . . . 108 n in the graph topology 44.
  • Head Graph Node [0054] 202: provides a reference to the graph node representing one SAN port physically connected to another SAN port.
  • Tail Graph Node [0055] 204: provides a reference to the graph node representing the SAN port physically connected to the port represented by the head graph node 202. Nodes are designated head or tail to indicate the direction of data flow, where data flows from the port represented by the head graph node to the port represented by the tail graph node. Two edge objects may be used to represent bidirectional communication of data between two ports represented by two nodes node.
  • FIG. 8 illustrates fields included in the zone objects [0056] 110 a . . . 110 n providing references to switch ports in a zone of a fabric, including:
  • Zone Reference [0057] 210: uniquely identifies the zone object in the graph topology 44.
  • Graph Node References [0058] 212: provides references to the one or more graph nodes representing switch ports included in the zone.
  • Zone Name and Other Info [0059] 214: Provides a name or identifier of the zone in the fabric and may include additional information, such as a reference to the fabric object 102 a . . . 102 n containing the zone.
  • FIG. 9 illustrates data structures used by the [0060] topology engine 36 components to generate the graph topology 42. The node mapper 38 generates a raw node map 250 that is used by the graph engine 42 to generate the graph topology 44. The graph engine 42 generates a fabric map 252, composite map 254, fabric child map 256, transform map 258, and zone map 260 that are used, in the manner described below, when generating the graph topology 44. These maps 250, 252, 254, 256, 258, and 260 may be maintained in a memory area used by the topology engine 36.
  • FIG. 10 illustrates logic implemented in the node mapper [0061] 38 to generate raw nodes from the SAN component information maintained in the device database 34. Control begins at block 300 with the node mapper 38 accessing the SAN component data from the device database 34 on SAN components, including hosts, host bus adaptors (HBAs), storage systems, fabrics, switches, zones, ports, etc. For each valid component i indicated in the device database, the node mapper 38 performs a loop between blocks 302 and 308, where a valid component comprises a component to be represented in the graph topology 44, such as hosts, host bus adaptors (HBAs), storage systems, fabrics, switches, zones, ports, etc. At block 304, the node mapper 38 generates a raw node object 120 for the component i and a raw node reference 150 for the raw node 120. Component information is extracted (at block 306) from the device database for component i and added to the device information field 160 of the generated raw node, such as component name, vendor, model, port number, World Wide Name (WWN), etc.
  • From [0062] block 310 through 318, the node mapper 38 performs a loop for each generated raw node. If (at block 312) the component represented by raw node i is logically or physically contained within another composite SAN component, then the node mapper 38 adds (at block 314) a reference to the parent raw node for raw node i to the parent raw node representing the composite SAN component containing the component represented by raw node i in the parent reference field 152 (FIG. 4) and adds (at block 316) the reference to the generated raw node 120 to a raw node map 250. Control then returns (at block 318) back to block 310 to process the next generated raw node 120.
  • After generating raw nodes for all valid components in the SAN, the node mapper [0063] 38, for each raw node indicated in the raw node map 250, adds (at block 320) a reference to the raw node in the parent reference 152 of the child raw nodes, indicated in the child references field 154. The node mapper 38 then accesses (at block 322) information from the device database 34 on the connected ports and, for each pair of connected ports, adds (at block 324) references in the attached node field 156 of the raw nodes of each connected port the reference to the raw node representing the remote port. The result of the logic of FIG. 9 is a set of raw nodes 40, one for each of certain valid SAN components indicated in the device database 34.
  • FIGS. [0064] 11-17 illustrates logic implemented in the graph engine 42 to transform the content of the raw nodes 40 into a graph topology 44 including a set of interrelated graph objects representing the SAN components, such as shown in FIG. 3. In FIGS. 11 and 12, the graph engine 42 assembles the fabric objects 102 a . . . 102 n representing fabric components and begins assembling the graph nodes for the children of the fabric 102 a . . . 102 n, such as switches, switch ports, zones. With respect to FIG. 11, the graph engine 42 gathers (at block 350) the raw nodes 40. For each raw node i indicated in the raw node map 250, a loop is performed at blocks 352 to 364. If (at block 354), the raw node i type 158 (FIG. 4) is a fabric, then a reference to raw node i is added (at block 356) to a fabric map 252 and the reference to raw node i is removed (at block 358) from the raw node map 250 and added to a composite map 254. The composite map 254 indicates raw nodes representing composite components logically or physically containing SAN components.
  • If (at block [0065] 354) raw node i does not represent a fabric component, but is (at block 360) of type switch, switch port or zone, then a reference to raw node i is added (at block 362) to a fabric child map 256, indicating the children of a fabric component, and the reference to raw node i is removed (at block 358) from the raw node map 250. A separate fabric child map 256 may be provided for each fabric indicated in the fabric map 252.
  • The [0066] graph engine 42 then performs a loop at blocks 380 through 388 to generate a fabric object 102 a . . . 102 n for each raw node j representing a fabric in the fabric map 252. At block 382, the graph engine 42 generates a fabric object 102 a . . . 102 n including a fabric reference 190 (FIG. 6), and optionally may include additional information on the fabric from the device info field 160 of raw node j. A graph object 104 is generated (at block 384) for the generated fabric object and a reference to such graph object is added to field 192 of the fabric object 102 a . . . 102 n generated for raw node j. The reference to the generated fabric object 102 a . . . 102 n is then removed (at block 386) from the fabric map 252.
  • With respect to FIG. 12, the [0067] graph engine 42 performs a loop at blocks 400 through 408 for each raw node k in the fabric child map 256. If (at block 402) the raw node k type 158 (FIG. 4) indicates a zone, then a reference 150 to raw node k is added (at block 406) to a zone map 260 providing a list of all raw nodes representing zones, where a different zone map 260 may be provided for each fabric to indicate the zones in that fabric. Otherwise, if the raw node k does not represent a zone, then it must represent a switch or switch port, which are the other possible children of a fabric component. If (at block 402) raw node k is not a zone, then the graph engine 42 calls the transform operation, whose logic is shown in FIG. 15 to generate a graph node 106 a . . . 106 n for each raw node k in the fabric child map 256 representing a switch or switch port.
  • FIG. 13 illustrates the operations the [0068] graph engine 42 performs to call (at block 420) the transform operation, represented in FIG. 15, to generate a graph node 106 a . . . 106 n for all raw nodes remaining in the raw node map 250 that represent possible orphan components, i.e., SAN components not attached to another component, in either a fabric or Direct Attached Storage (DAS) arrangement. These generated graph nodes may later be associated with a fabric object 102 a . . . 102 n or DAS graph 112 upon discovering a connection from the component represented by the graph node generated at block 420 to a SAN component represented by a graph node 106 a . . . 106 n associated with a graph object 104 or component represented by a graph node 114 a . . . 114 n associated with a DAS graph 112.
  • FIG. 14 illustrates operations the [0069] graph engine 42 performs to process raw nodes representing composite SAN components in the composite map 254 to generate graph nodes 106 a . . . 106 n for the components contained in the composite SAN components. A loop is performed at blocks 450 through 456 for each raw node m indicated in the composite map 254. At block 452 a determination is made of all child raw nodes, if any, indicated in the child references 154 (FIG. 4) of raw node m. The graph engine 42 calls the transform operation, represented in FIG. 15, to generate a graph node 106 a . . . 106 n for each determined child raw node. Note that a component that is contained in a composite component may itself also contain components, such as a host bus adaptor (HBA) that is both contained in a host system and contains port components.
  • FIG. 15 illustrates the operations performed by the transform operation that the [0070] graph engine 42 calls to transform a raw node representing a SAN component into a graph node. Upon receiving (at block 500) the transform call to transform a raw node, a graph node 106 a . . . 106 n is generated (at block 502) for the raw node including a graph node reference 170 (FIG. 5), a reference 176 to the raw node from which the graph node is being generated, type information in field 178, and optionally may include additional device information from field 160 in the raw node being transformed. If the raw node being transformed comprises a composite node, i.e., is a SAN component logically or physically containing other contents, i.e., references raw nodes in the child references field 154, then a reference to the raw node being transformed is added (at block 504) to the composite map 254 (to allow for transformation of the contained components during the assemble composites phase shown in FIG. 14) and removed from the raw node map 250. If (at block 506) the fabric including the SAN component represented by the raw node can be determined, assuming the raw node is contained within a SAN fabric, then the fabric including the raw node is determined (at block 508) and the graph object 104 indicated in the graph object reference field 192 (FIG. 6) is determined (at block 510). The graph engine 42 would then add (at block 512) a reference to the generated graph node 106 a . . . 106 n, to the graph node 104. The reference to the transformed raw node is removed from the raw node map 250 and a reference to the generated graph node 106 a . . . 106 n is added to the transform map 258. Control then returns (at block 516) to the caller that initiated the transform operation shown in FIG. 15.
  • FIG. 16 illustrates operations the [0071] graph engine 42 performs to assemble edge objects 108 a . . . 108 n providing information on physical connections of SAN components represented by graph nodes 106 a . . . 106 n. A loop is performed from blocks 550 through 576 for each graph node p indicated in the transform map 258. If (at block 552) the graph node p type, indicated in field 178, is a switch port, then from the raw node for graph node p, indicated in raw node reference field 176 of the graph node 106 a . . . 106 n, the graph engine 42 determines the one or more raw node references to SAN components represented by the attached graph nodes indicated in the attached node field 156 (FIG. 4). A nested loop is then performed at blocks 556 through 576 for each determined attached raw node reference q representing a component attached to the component represented by graph node p. At block 558, the graph engine 42 determines the attached graph node 106 a . . . 106 n generated from the raw node q, which would be the graph node 106 a . . . 106 n including the reference to raw node q in reference field 176 (FIG. 5). An edge object 108 a . . . 108 n is generated (at block 560) having references to graph node p and the determined attached graph node in fields 202 and 204 (FIG. 7).
  • The [0072] graph engine 42 then determines (at block 562) from the parent reference 172 (FIG. 5) the parent of the determined attached graph node, which may comprise a reference to another graph node 106 a . . . 106 n. If (at block 564) the parent graph node type, indicated in field 178 (FIG. 5), is a storage system or device, then the data flows from graph node p to the determined attached graph node. In such case, the graph engine 42 sets (at block 566) in the generated edge object the head graph node 202 to graph node p and the tail graph node 204 to the attached graph node. Further, in graph node p, the output edge object 182 is set (at block 568) to the generated edge object and in the attached graph node, the input edge object 180 is set to the generated edge object. Otherwise, if (at block 564) the parent graph node type is not a storage system, then data flows from the determined attached graph node to graph node p. In such case, the graph engine 42 sets (at block 570) in the generated edge object the head graph node 202 to the attached graph node and the tail graph node 204 to graph node p. Further, in graph node p, the input edge object 180 is set (at block 572) to the generated edge object and in the attached graph node, the output edge object 182 is set to the generated edge object.
  • If (at block [0073] 552) the graph node p is not a switch port, then the graph node 42 would add (at block 578) the graph node p to a Direct Attached Storage (DAS) graph 112 (FIG. 3) if the graph node p is a host bus adaptor (HBA) and the attached SAN component represented by an attached graph node is contained in a storage device, indicating that graph node p represents a host port directly connected to a storage system.
  • One result of the logic of FIG. 16 is that graph nodes are generated for any SAN component logically or physically contained within a composite SAN component, whether the composite SAN component is attached to a fabric port or a DAS. [0074]
  • FIG. 17 illustrates operations performed by the [0075] graph engine 42 to generate zone objects 110 a . . . 110 n that reference graph nodes 106 a . . . 106 n representing SAN components that are contained within zones. A loop is performed for each raw node r in the zone map 260 from blocks 600 through 610. At block 602, the graph engine 42 generates a zone object 110 a . . . 110 n that includes a zone reference 210 (FIG. 8). A determination is made (at block 604) of the fabric object 102 a . . . 102 n representing the fabric indicated in the parent field of raw node r, because the parent of a zone is a fabric. The graph engine 42 then adds (at block 606) a reference to the generated zone object 110 a . . . 110 n in the zone object references field 194 of the determined fabric object 102 a . . . 102 n. For each child raw node indicated in the child field 154 of raw node r (which child raw nodes would represent switch ports), the graph engine 42 determines (at block 608) the corresponding graph node having the child raw node reference in field 176 (FIG. 5) and adds a reference to the determined graph node 106 a . . . 106 n to the generated zone object 110 a . . . 110 n, as that determined graph node represents a switch port within the zone.
  • The result of the logic of FIG. 17 is that each [0076] fabric object 102 a . . . 102 n representing a SAN fabric references zone objects 110 a . . . 110 n representing zones within that fabric, where the zone objects 110 a . . . 110 n reference graph nodes representing the switch ports contained within the zone.
  • After the [0077] graph topology 44 is generated, the content of the topology may be stored in a database or any other file or data structure in a computer readable medium. The graph topology 44 content may be refreshed whenever any change is detected to the device database 34 (FIG. 2) indicating a possible change to the SAN 2 architecture. Such a modification would trigger the node mapper 38 to regenerate the raw nodes 40, which are then provided to the graph engine 42 to process and generate the graph topology 44.
  • The [0078] graph interface 46 may provide a set of interfaces, such as methods or user interface controls, that allow a user to access information from any of the objects, or transfer the topology objects to obtain information on any components contained within the component represented by a particular object. For instance, FIG. 18 illustrates rendered output 650, which may be rendered on a display device or tangible medium, such as paper, that is generated by running a program that seeks to access all SAN components within a selected zone of a particular fabric, where the components in the selected zone, including switch 654 b and attached hosts 652 b, 652 c and storage 656 a, 656 b, 656 d, are shown darker than the components in zones other than the selected zone, including switch 654 a and attached hosts 652 a and storage 656 c.
  • FIG. 19 illustrates operations the [0079] graph interface 46 performs with respect to the graph topology 44 to render the output 650 shown in FIG. 18. Control begins at block 700 upon initiating an operation to render output showing the host, switch, and storage components within a selected fabric and zone of the fabric. At block 700, the graph interface 46 determines (at block 702) the fabric object 102 a . . . 102 n representing the selected fabric and determines (at block 704) the graph object 104 referenced in field 192 (FIG. 6) of the determined fabric object 102 a . . . 102 n. The graph interface 46 determines (at block 706) the graph nodes 106 a . . . 106 n referenced in the determined graph object 104 that represent switches, hosts and storages, i.e., have type fields 178 (FIG. 5) indicating switch, host, storage. From child references 174 (FIG. 5) for graph nodes 106 a . . . 106 n representing hosts, a determination is made (at block 708) of graph nodes representing host bus adaptors (HBAs), i.e., of type 178 HBA, and from the child references 174 for the graph nodes representing HBAs, a determination is made of graph nodes indicated as child references 174 of HBA graph nodes, which represent host ports. At block 710, the graph interface 46 further determines from the child references for determined graph nodes representing switches, the graph nodes representing switch ports.
  • The [0080] graph interface 46 then determines (at block 712) edge objects 108 a . . . 108 n referenced in the determined graph object 104 that reference a graph node pair 202, 204 (FIG. 7) representing one determine host port and one determined switch port. For each determined edge object 108 a . . . 108 n, a line is then rendered (at block 716) from a host image 652 a, 652 b, 652 c (FIG. 18) representing the host including the host port indicated in the edge object to a switch image 654 a, 654 b representing the switch including the switch port indicated in the edge object. The graph interface 46 further determines (at block 718), from child references in graph nodes representing storage, the graph nodes representing storage ports. A determination is then made (at block 720) of edge objects 108 a . . . 108 n referencing one graph node representing a determined storage port and one graph node representing a determined switch port. For each edge object determined at block 720, a line is rendered (at block 722) from a storage image 656 a, 656 b, 656 c, 656 d (FIG. 18) representing the storage including the storage port indicated in the edge object to a switch image 654 a, 654 b representing the switch including the switch port indicated in the edge object.
  • To render the zone information in the [0081] output 650 shown in FIG. 18, the graph interface 46 would determine (at block 724) the zone object 110 a . . . 110 n referenced by the fabric object representing the selected zone. A determination is then made (at block 726) of all graph nodes 106 a . . . 106 n referenced by the determined zone object 110 a . . . 110 n, in field 212 (FIG. 8), which represent switch ports in the selected zone. The graph interface 46 then renders (at block 728) all SAN components connected to switch ports represented by determined graph nodes 106 a . . . 106 n referenced by the determined zone object 110 a . . . 110 n in a different manner than SAN components connected to switch ports that are not referenced by the determined zone object. For instance, in the output 650 in FIG. 18, the components 652 b, 652 c, switch 654 b, and storage 656 a, 656 b, 656 d within the selected zone are rendered in a different manner than the components 652 a, 654 a, 656 c outside of the selected zone. Alternatively, if no zone was selected when the graph interface 42 was invoked, then all the host, switch, and storage components in the selected fabric would be rendered in the same manner, without zone distinctions.
  • Numerous other algorithms and techniques may be used to traverse the nodes in the [0082] graph topology 44 to determine any level of component, e.g., port, adaptor, storage, host, switch, within any fabric in the SAN. Further, upon displaying composite components at one level, e.g., such as the hosts, switches, and storages shown in FIG. 18, selection of a particular composite component may cause the rendering of subcomponents within a selected composite component by accessing child references in the graph node representing the selected composite component. For instance, selection of a host may cause the graph interface 46 to render information on host bus adaptor (HBA) components and ports therein by traversing the children graph nodes, representing HBAs, of the graph node representing the selected composite host, and then traversing the children graph nodes of the HBA graph node representing ports.
  • Numerous other functions may be used to traverse the object topology to access and render information at any level of the topology. [0083]
  • Additional Implementation Details
  • The described techniques for maintaining information on network components may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term “article of manufacture” as used herein refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computer readable medium is accessed and executed by a processor. The code in which preferred embodiments are implemented may further be accessible through a transmission media or from a file server over a network. In such cases, the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention, and that the article of manufacture may comprise any information bearing medium known in the art. [0084]
  • The described implementations discussed maintaining information on components within a SAN. However, those skilled in the art will appreciate that the device management techniques described herein may be utilized to maintain information on components within any network environment known in the art. [0085]
  • The described implementations provided a topology and object architecture for maintaining information on different components in a SAN network. An alternative object architecture may be provided, such that component information described as included in different objects may be merged in a single object or component information described as included in a single object may be distributed across multiple objects. [0086]
  • The illustrated logic of FIGS. [0087] 10-17 and 19 shows certain events occurring in a certain order. In alternative implementations, certain operations may be performed in a different order, modified or removed. Morever, steps may be added to the above described logic and still conform to the described implementations. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
  • FIG. 20 illustrates one implementation of a [0088] computer architecture 800 of the SAN components and systems shown in FIGS. 1 and 2. The architecture 800 may include a processor 802 (e.g., a microprocessor), a memory 804 (e.g., a volatile memory device), and storage 806 (e.g., a non-volatile storage, such as magnetic disk drives, optical disk drives, a tape drive, etc.). The storage 806 may comprise an internal storage device or an attached or network accessible storage. Programs in the storage 806 are loaded into the memory 804 and executed by the processor 802 in a manner known in the art. The architecture further includes a network card 808 to enable communication with a network. An input device 810 is used to provide user input to the processor 802, and may include a keyboard, mouse, pen-stylus, microphone, touch sensitive display screen, or any other activation or input mechanism known in the art. An output device 812 is capable of rendering information transmitted from the processor 802, or other component, such as a display monitor, printer, storage, etc. The foregoing description of various implementations of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims (45)

What is claimed is:
1. A computer implemented method for providing information on components within a network, comprising:
providing a grouping indicating interconnected components;
providing component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component;
providing connection objects indicating connections between components represented by component objects; and
processing the component objects, the relationship information, and the connection objects to generate output information indicating an arrangement of at least one component within the network.
2. The method of claim 1, further comprising:
providing a grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components.
3. The method of claim 2, further comprising:
providing a plurality of grouping objects for a plurality of groupings, wherein each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping.
4. The method of claim 3, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, and wherein one component object is provided for each switch, host system, and storage system in the fabric.
5. The method of claim 4, wherein the switches, host systems, and storage systems comprise composite components.
6. The method of claim 5, wherein ports within the switches, host systems, and storage systems comprise contained components represented by component objects, and wherein the relationship information associates the component objects representing the ports with the components objects representing the composite components that include the ports.
7. The method of claim 1, further comprising:
providing at least one zone object for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone.
8. The method of claim 7, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, wherein one component object is provided for each switch, host system, storage system, and ports in the fabric, wherein each component object referenced by each zone object represents a switch port in the zone.
9. The method of claim 1, wherein the connection object indicates a direction of data flow for the connection indicated in the connection object.
10. The method of claim 1, wherein the relationship information is implemented by including in each component object representing a contained component a reference to the component object representing the composite component containing the contained component.
11. The method of claim 1, wherein the relationship information is implemented by including in each component object representing a composite component a reference to the component objects representing the contained components contained within the composite component.
12. The method of claim 1, wherein one component object representing a component that contains components and that is contained within one composite component includes relationship information that references the component object representing the containing component and references the component objects representing the contained component objects.
13. The method of claim 1, wherein the contained components are either physically or logically contained within the composite component.
14. A system for providing information on components within a network, comprising:
means for providing a grouping indicating interconnected components;
means for providing component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component;
means for providing connection objects indicating connections between components represented by component objects; and
means for processing the component objects, the relationship information, and the connection objects to generate output information indicating an arrangement of at least one component within the network.
15. The system of claim 14, further comprising:
means for providing a grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components.
16. The system of claim 15, further comprising:
means for providing a plurality of grouping objects for a plurality of groupings, wherein each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping.
17. The system of claim 16, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, and wherein one component object is provided for each switch, host system, and storage system in the fabric.
18. The system of claim 14, further comprising:
means for providing at least one zone object for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone.
19. The system of claim 14, wherein the connection object indicates a direction of data flow for the connection indicated in the connection object.
20. An article of manufacture for providing information on components within a network, wherein the article of manufacture causes operations to be performed, comprising:
providing a grouping indicating interconnected components;
providing component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component;
providing connection objects indicating connections between components represented by component objects; and
processing the component objects, the relationship information, and the connection objects to generate output information indicating an arrangement of at least one component within the network.
21. The article of manufacture of claim 20, further comprising:
providing a grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components.
22. The article of manufacture of claim 21, further comprising:
providing a plurality of grouping objects for a plurality of groupings, wherein each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping.
23. The article of manufacture of claim 22, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, and wherein one component object is provided for each switch, host system, and storage system in the fabric.
24. The article of manufacture of claim 23, wherein the switches, host systems, and storage systems comprise composite components.
25. The article of manufacture of claim 24, wherein ports within the switches, host systems, and storage systems comprise contained components represented by component objects, and wherein the relationship information associates the component objects representing the ports with the components objects representing the composite components that include the ports.
26. The article of manufacture of claim 20, further comprising:
providing at least one zone object for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone.
27. The article of manufacture of claim 26, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, wherein one component object is provided for each switch, host system, storage system, and ports in the fabric, wherein each component object referenced by each zone object represents a switch port in the zone.
28. The article of manufacture of claim 20, wherein the connection object indicates a direction of data flow for the connection indicated in the connection object.
29. The article of manufacture of claim 20, wherein the relationship information is implemented by including in each component object representing a contained component a reference to the component object representing the composite component containing the contained component.
30. The article of manufacture of claim 20, wherein the relationship information is implemented by including in each component object representing a composite component a reference to the component objects representing the contained components contained within the composite component.
31. The article of manufacture of claim 20, wherein one component object representing a component that contains components and that is contained within one composite component includes relationship information that references the component object representing the containing component and references the component objects representing the contained component objects.
32. The article of manufacture of claim 20, wherein the contained components are either physically or logically contained within the composite component.
33. A memory device including data structures for providing information on components within a network, wherein the data structures comprise:
a grouping indicating interconnected components;
component objects representing the interconnected components, wherein at least one component object represents a composite component including at least one contained component, wherein each contained component is represented by one component object, wherein relationship information indicates a relationship between each component object representing one composite component and the component objects representing contained components included in the composite component;
connection objects indicating connections between components represented by component objects, wherein the component objects, the relationship information, and the connection objects are processed to generate output information indicating an arrangement of at least one component within the network.
34. The memory device of claim 33, further comprising:
a grouping object representing the grouping, wherein the grouping object is associated with the component objects representing the interconnected components.
35. The memory device of claim 34, further comprising:
a plurality of grouping objects for a plurality of groupings, wherein each grouping indicates interconnected components such that there is no connection between components in different groupings, and wherein the grouping object for each grouping is associated with the component objects representing the interconnected components in the grouping.
36. The memory device of claim 35, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, and wherein one component object is provided for each switch, host system, and storage system in the fabric.
37. The memory device of claim 36, wherein the switches, host systems, and storage systems comprise composite components.
38. The memory device of claim 37, wherein ports within the switches, host systems, and storage systems comprise contained components represented by component objects, and wherein the relationship information associates the component objects representing the ports with the components objects representing the composite components that include the ports.
39. The memory device of claim 33, further comprising:
at least one zone object for each zone in the grouping of interconnected components, wherein each zone object references component objects representing components within the zone.
40. The memory device of claim 39, wherein the grouping represents a fabric comprised of at least one switch interconnecting host systems and storage systems, wherein one component object is provided for each switch, host system, storage system, and ports in the fabric, wherein each component object referenced by each zone object represents a switch port in the zone.
41. The memory device of claim 33, wherein the connection object indicates a direction of data flow for the connection indicated in the connection object.
42. The memory device of claim 33, wherein the relationship information is implemented by including in each component object representing a contained component a reference to the component object representing the composite component containing the contained component.
43. The memory device of claim 33, wherein the relationship information is implemented by including in each component object representing a composite component a reference to the component objects representing the contained components contained within the composite component.
44. The memory device of claim 33, wherein one component object representing a component that contains components and that is contained within one composite component includes relationship information that references the component object representing the containing component and references the component objects representing the contained component objects.
45. The memory device of claim 33, wherein the contained components are either physically or logically contained within the composite component.
US10/208,957 2002-07-31 2002-07-31 Method, system, and program for providing information on components within a network Abandoned US20040022200A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/208,957 US20040022200A1 (en) 2002-07-31 2002-07-31 Method, system, and program for providing information on components within a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/208,957 US20040022200A1 (en) 2002-07-31 2002-07-31 Method, system, and program for providing information on components within a network

Publications (1)

Publication Number Publication Date
US20040022200A1 true US20040022200A1 (en) 2004-02-05

Family

ID=31186917

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/208,957 Abandoned US20040022200A1 (en) 2002-07-31 2002-07-31 Method, system, and program for providing information on components within a network

Country Status (1)

Country Link
US (1) US20040022200A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059428A1 (en) * 2004-09-01 2006-03-16 Humphries Marshall L Method and system for presenting relationships
US7885256B1 (en) * 2003-05-30 2011-02-08 Symantec Operating Corporation SAN fabric discovery
US7925758B1 (en) 2006-11-09 2011-04-12 Symantec Operating Corporation Fibre accelerated pipe data transport
US8711864B1 (en) 2010-03-30 2014-04-29 Chengdu Huawei Symantec Technologies Co., Ltd. System and method for supporting fibre channel over ethernet communication

Citations (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2012527A (en) * 1931-03-16 1935-08-27 Jr Edward H Batchelder Refrigerator car
US2675228A (en) * 1953-02-05 1954-04-13 Edward O Baird Electrical control means for closure devices
US3571677A (en) * 1969-12-31 1971-03-23 Itt Single bellows water-cooled vehicle capacitors
US4138692A (en) * 1977-09-12 1979-02-06 International Business Machines Corporation Gas encapsulated cooling module
US4228219A (en) * 1979-04-26 1980-10-14 Imperial Chemical Industries Limited Aromatic polyether sulfone used as a prime coat for a fluorinated polymer layer
US4665466A (en) * 1983-09-16 1987-05-12 Service Machine Company Low headroom ventilating apparatus for cooling an electrical enclosure
US4721996A (en) * 1986-10-14 1988-01-26 Unisys Corporation Spring loaded module for cooling integrated circuit packages directly with a liquid
US4729424A (en) * 1985-04-05 1988-03-08 Nec Corporation Cooling system for electronic equipment
US4733331A (en) * 1985-09-30 1988-03-22 Jeumont-Schneider Corporation Heat dissipation mechanism for power semiconductor elements
US4809134A (en) * 1988-04-18 1989-02-28 Unisys Corporation Low stress liquid cooling assembly
US4870477A (en) * 1986-05-23 1989-09-26 Hitachi, Ltd. Integrated circuit chips cooling module having coolant leakage prevention device
US4882654A (en) * 1988-12-22 1989-11-21 Microelectronics And Computer Technology Corporation Method and apparatus for adjustably mounting a heat exchanger for an electronic component
US5144531A (en) * 1990-01-10 1992-09-01 Hitachi, Ltd. Electronic apparatus cooling system
US5166863A (en) * 1991-07-15 1992-11-24 Amdahl Corporation Liquid-cooled assembly of heat-generating devices and method for assembling and disassembling
US5177667A (en) * 1991-10-25 1993-01-05 International Business Machines Corporation Thermal conduction module with integral impingement cooling
US5183104A (en) * 1989-06-16 1993-02-02 Digital Equipment Corporation Closed-cycle expansion-valve impingement cooling system
US5282847A (en) * 1991-02-28 1994-02-01 Medtronic, Inc. Prosthetic vascular grafts with a pleated structure
US5305461A (en) * 1992-04-03 1994-04-19 International Business Machines Corporation Method of transparently interconnecting message passing systems
US5323847A (en) * 1990-08-01 1994-06-28 Hitachi, Ltd. Electronic apparatus and method of cooling the same
US5406807A (en) * 1992-06-17 1995-04-18 Hitachi, Ltd. Apparatus for cooling semiconductor device and computer having the same
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US5535094A (en) * 1995-04-26 1996-07-09 Intel Corporation Integrated circuit package with an integral heat sink and fan
US5675473A (en) * 1996-02-23 1997-10-07 Motorola, Inc. Apparatus and method for shielding an electronic module from electromagnetic radiation
US5706668A (en) * 1994-12-21 1998-01-13 Hilpert; Bernhard Computer housing with cooling means
US5751933A (en) * 1990-09-17 1998-05-12 Dev; Roger H. System for determining the status of an entity in a computer network
US5771388A (en) * 1994-05-04 1998-06-23 National Instruments Corporation System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system
US5912802A (en) * 1994-06-30 1999-06-15 Intel Corporation Ducted opposing bonded fin heat sink blower multi-microprocessor cooling system
US5940269A (en) * 1998-02-10 1999-08-17 D-Link Corporation Heat sink assembly for an electronic device
US5950011A (en) * 1996-03-01 1999-09-07 Bull S.A. System using designer editor and knowledge base for configuring preconfigured software in an open system in a distributed environment
US5956750A (en) * 1996-04-08 1999-09-21 Hitachi, Ltd. Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display
US6031528A (en) * 1996-11-25 2000-02-29 Intel Corporation User based graphical computer network diagnostic tool
US6029742A (en) * 1994-01-26 2000-02-29 Sun Microsystems, Inc. Heat exchanger for electronic equipment
US6050327A (en) * 1998-03-24 2000-04-18 Lucent Technologies Inc. Electronic apparatus having an environmentally sealed external enclosure
US6058426A (en) * 1997-07-14 2000-05-02 International Business Machines Corporation System and method for automatically managing computing resources in a distributed computing environment
US6067559A (en) * 1998-04-23 2000-05-23 Microsoft Corporation Server architecture for segregation of dynamic content generation applications into separate process spaces
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US6101616A (en) * 1997-03-27 2000-08-08 Bull S.A. Data processing machine network architecture
US6119118A (en) * 1996-05-10 2000-09-12 Apple Computer, Inc. Method and system for extending file system metadata
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6125924A (en) * 1999-05-03 2000-10-03 Lin; Hao-Cheng Heat-dissipating device
US6130820A (en) * 1999-05-04 2000-10-10 Intel Corporation Memory card cooling device
US6137680A (en) * 1998-03-31 2000-10-24 Sanyo Denki Co., Ltd. Electronic component cooling apparatus
US6135200A (en) * 1998-03-11 2000-10-24 Denso Corporation Heat generating element cooling unit with louvers
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6205122B1 (en) * 1998-07-21 2001-03-20 Mercury Interactive Corporation Automatic network topology analysis
US6205796B1 (en) * 1999-03-29 2001-03-27 International Business Machines Corporation Sub-dew point cooling of electronic systems
US6205803B1 (en) * 1996-04-26 2001-03-27 Mainstream Engineering Corporation Compact avionics-pod-cooling unit thermal control method and apparatus
US6213194B1 (en) * 1997-07-16 2001-04-10 International Business Machines Corporation Hybrid cooling system for electronics module
US6229538B1 (en) * 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6243747B1 (en) * 1995-02-24 2001-06-05 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US6301605B1 (en) * 1997-11-04 2001-10-09 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US20020019864A1 (en) * 1999-12-09 2002-02-14 Mayer J?Uuml;Rgen System and method for managing the configuration of hierarchically networked data processing devices
US6381637B1 (en) * 1996-10-23 2002-04-30 Access Co., Ltd. Information apparatus having automatic web reading function
US6392667B1 (en) * 1997-06-09 2002-05-21 Aprisma Management Technologies, Inc. Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective
US6396697B1 (en) * 2000-12-07 2002-05-28 Foxconn Precision Components Co., Ltd. Heat dissipation assembly
US20020069377A1 (en) * 1998-03-10 2002-06-06 Atsushi Mabuchi Control device and control method for a disk array
US6408336B1 (en) * 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US20020083169A1 (en) * 2000-12-21 2002-06-27 Fujitsu Limited Network monitoring system
US6425005B1 (en) * 1997-10-06 2002-07-23 Mci Worldcom, Inc. Method and apparatus for managing local resources at service nodes in an intelligent network
US6425007B1 (en) * 1995-06-30 2002-07-23 Sun Microsystems, Inc. Network navigation and viewing system for network management system
US20020113816A1 (en) * 1998-12-09 2002-08-22 Frederick H. Mitchell Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks
US6438984B1 (en) * 2001-08-29 2002-08-27 Sun Microsystems, Inc. Refrigerant-cooled system and method for cooling electronic components
US20020133669A1 (en) * 1999-06-11 2002-09-19 Narayan Devireddy Policy based storage configuration
US20020143905A1 (en) * 2001-03-30 2002-10-03 Priya Govindarajan Method and apparatus for discovering network topology
US20020143920A1 (en) * 2001-03-30 2002-10-03 Opticom, Inc. Service monitoring and reporting system
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US20020147801A1 (en) * 2001-01-29 2002-10-10 Gullotta Tony J. System and method for provisioning resources to users based on policies, roles, organizational information, and attributes
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020162010A1 (en) * 2001-03-15 2002-10-31 International Business Machines Corporation System and method for improved handling of fiber channel remote devices
US6505244B1 (en) * 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network
US6516345B1 (en) * 1999-04-30 2003-02-04 Cisco Technology, Inc. Approaches for determining actual physical topology of network based on gathered configuration information representing true neighboring devices
US20030028624A1 (en) * 2001-07-06 2003-02-06 Taqi Hasan Network management system
US6526768B2 (en) * 2001-07-24 2003-03-04 Kryotech, Inc. Apparatus and method for controlling the temperature of an integrated circuit device
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
US20030055972A1 (en) * 2001-07-09 2003-03-20 Fuller William Tracy Methods and systems for shared storage virtualization
US6542360B2 (en) * 2000-06-30 2003-04-01 Kabushiki Kaisha Toshiba Electronic apparatus containing heat generating component, and extension apparatus for extending the function of the electronic apparatus
US20030074599A1 (en) * 2001-10-12 2003-04-17 Dell Products L.P., A Delaware Corporation System and method for providing automatic data restoration after a storage device failure
US20030093501A1 (en) * 2001-10-18 2003-05-15 Sun Microsystems, Inc. Method, system, and program for configuring system resources
US20030091037A1 (en) * 1999-03-10 2003-05-15 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation
US6587343B2 (en) * 2001-08-29 2003-07-01 Sun Microsystems, Inc. Water-cooled system and method for cooling electronic components
US6604137B2 (en) * 1997-07-31 2003-08-05 Mci Communications Corporation System and method for verification of remote spares in a communications network when a network outage occurs
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US20030169289A1 (en) * 2002-03-08 2003-09-11 Holt Duane Anthony Dynamic software control interface and method
US20030184580A1 (en) * 2001-08-14 2003-10-02 Kodosky Jeffrey L. Configuration diagram which graphically displays program relationship
US6636239B1 (en) * 2000-02-24 2003-10-21 Sanavigator, Inc. Method of operating a graphical user interface to selectively enable and disable a datapath in a network
US6704778B1 (en) * 1999-09-01 2004-03-09 International Business Machines Corporation Method and apparatus for maintaining consistency among large numbers of similarly configured information handling servers
US6714936B1 (en) * 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
US6717943B1 (en) * 1999-06-03 2004-04-06 David Schwering System and method for routing and processing data packets
US6760761B1 (en) * 2000-03-27 2004-07-06 Genuity Inc. Systems and methods for standardizing network devices
US6772204B1 (en) * 1996-02-20 2004-08-03 Hewlett-Packard Development Company, L.P. Method and apparatus of providing a configuration script that uses connection rules to produce a configuration file or map for configuring a network device
US6775700B2 (en) * 2001-03-27 2004-08-10 Intel Corporation System and method for common information model object manager proxy interface and management
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US6871232B2 (en) * 2001-03-06 2005-03-22 International Business Machines Corporation Method and system for third party resource provisioning management
US6874033B1 (en) * 1998-03-23 2005-03-29 Hitachi, Ltd. Network repeater and network next transfer desitination searching method
US20050169281A1 (en) * 2004-02-02 2005-08-04 Eun-Sook Ko Distributed router
US6928475B2 (en) * 1995-11-16 2005-08-09 Peregrine Systems, Inc. Method of determining the topology of a network of objects

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2012527A (en) * 1931-03-16 1935-08-27 Jr Edward H Batchelder Refrigerator car
US2675228A (en) * 1953-02-05 1954-04-13 Edward O Baird Electrical control means for closure devices
US3571677A (en) * 1969-12-31 1971-03-23 Itt Single bellows water-cooled vehicle capacitors
US4138692A (en) * 1977-09-12 1979-02-06 International Business Machines Corporation Gas encapsulated cooling module
US4228219A (en) * 1979-04-26 1980-10-14 Imperial Chemical Industries Limited Aromatic polyether sulfone used as a prime coat for a fluorinated polymer layer
US4665466A (en) * 1983-09-16 1987-05-12 Service Machine Company Low headroom ventilating apparatus for cooling an electrical enclosure
US4729424A (en) * 1985-04-05 1988-03-08 Nec Corporation Cooling system for electronic equipment
US4733331A (en) * 1985-09-30 1988-03-22 Jeumont-Schneider Corporation Heat dissipation mechanism for power semiconductor elements
US4870477A (en) * 1986-05-23 1989-09-26 Hitachi, Ltd. Integrated circuit chips cooling module having coolant leakage prevention device
US4721996A (en) * 1986-10-14 1988-01-26 Unisys Corporation Spring loaded module for cooling integrated circuit packages directly with a liquid
US4809134A (en) * 1988-04-18 1989-02-28 Unisys Corporation Low stress liquid cooling assembly
US4882654A (en) * 1988-12-22 1989-11-21 Microelectronics And Computer Technology Corporation Method and apparatus for adjustably mounting a heat exchanger for an electronic component
US5183104A (en) * 1989-06-16 1993-02-02 Digital Equipment Corporation Closed-cycle expansion-valve impingement cooling system
US5144531A (en) * 1990-01-10 1992-09-01 Hitachi, Ltd. Electronic apparatus cooling system
US5323847A (en) * 1990-08-01 1994-06-28 Hitachi, Ltd. Electronic apparatus and method of cooling the same
US5751933A (en) * 1990-09-17 1998-05-12 Dev; Roger H. System for determining the status of an entity in a computer network
US5282847A (en) * 1991-02-28 1994-02-01 Medtronic, Inc. Prosthetic vascular grafts with a pleated structure
US5166863A (en) * 1991-07-15 1992-11-24 Amdahl Corporation Liquid-cooled assembly of heat-generating devices and method for assembling and disassembling
US5177667A (en) * 1991-10-25 1993-01-05 International Business Machines Corporation Thermal conduction module with integral impingement cooling
US5305461A (en) * 1992-04-03 1994-04-19 International Business Machines Corporation Method of transparently interconnecting message passing systems
US5406807A (en) * 1992-06-17 1995-04-18 Hitachi, Ltd. Apparatus for cooling semiconductor device and computer having the same
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US6029742A (en) * 1994-01-26 2000-02-29 Sun Microsystems, Inc. Heat exchanger for electronic equipment
US5771388A (en) * 1994-05-04 1998-06-23 National Instruments Corporation System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system
US5912802A (en) * 1994-06-30 1999-06-15 Intel Corporation Ducted opposing bonded fin heat sink blower multi-microprocessor cooling system
US5706668A (en) * 1994-12-21 1998-01-13 Hilpert; Bernhard Computer housing with cooling means
US6243747B1 (en) * 1995-02-24 2001-06-05 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5535094A (en) * 1995-04-26 1996-07-09 Intel Corporation Integrated circuit package with an integral heat sink and fan
US6425007B1 (en) * 1995-06-30 2002-07-23 Sun Microsystems, Inc. Network navigation and viewing system for network management system
US6928475B2 (en) * 1995-11-16 2005-08-09 Peregrine Systems, Inc. Method of determining the topology of a network of objects
US6772204B1 (en) * 1996-02-20 2004-08-03 Hewlett-Packard Development Company, L.P. Method and apparatus of providing a configuration script that uses connection rules to produce a configuration file or map for configuring a network device
US5675473A (en) * 1996-02-23 1997-10-07 Motorola, Inc. Apparatus and method for shielding an electronic module from electromagnetic radiation
US5950011A (en) * 1996-03-01 1999-09-07 Bull S.A. System using designer editor and knowledge base for configuring preconfigured software in an open system in a distributed environment
US5956750A (en) * 1996-04-08 1999-09-21 Hitachi, Ltd. Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display
US6205803B1 (en) * 1996-04-26 2001-03-27 Mainstream Engineering Corporation Compact avionics-pod-cooling unit thermal control method and apparatus
US6119118A (en) * 1996-05-10 2000-09-12 Apple Computer, Inc. Method and system for extending file system metadata
US6381637B1 (en) * 1996-10-23 2002-04-30 Access Co., Ltd. Information apparatus having automatic web reading function
US6031528A (en) * 1996-11-25 2000-02-29 Intel Corporation User based graphical computer network diagnostic tool
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6408336B1 (en) * 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6101616A (en) * 1997-03-27 2000-08-08 Bull S.A. Data processing machine network architecture
US6392667B1 (en) * 1997-06-09 2002-05-21 Aprisma Management Technologies, Inc. Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective
US6058426A (en) * 1997-07-14 2000-05-02 International Business Machines Corporation System and method for automatically managing computing resources in a distributed computing environment
US6213194B1 (en) * 1997-07-16 2001-04-10 International Business Machines Corporation Hybrid cooling system for electronics module
US6604137B2 (en) * 1997-07-31 2003-08-05 Mci Communications Corporation System and method for verification of remote spares in a communications network when a network outage occurs
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US6425005B1 (en) * 1997-10-06 2002-07-23 Mci Worldcom, Inc. Method and apparatus for managing local resources at service nodes in an intelligent network
US6301605B1 (en) * 1997-11-04 2001-10-09 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US5940269A (en) * 1998-02-10 1999-08-17 D-Link Corporation Heat sink assembly for an electronic device
US20020069377A1 (en) * 1998-03-10 2002-06-06 Atsushi Mabuchi Control device and control method for a disk array
US6135200A (en) * 1998-03-11 2000-10-24 Denso Corporation Heat generating element cooling unit with louvers
US6874033B1 (en) * 1998-03-23 2005-03-29 Hitachi, Ltd. Network repeater and network next transfer desitination searching method
US6050327A (en) * 1998-03-24 2000-04-18 Lucent Technologies Inc. Electronic apparatus having an environmentally sealed external enclosure
US6137680A (en) * 1998-03-31 2000-10-24 Sanyo Denki Co., Ltd. Electronic component cooling apparatus
US6067559A (en) * 1998-04-23 2000-05-23 Microsoft Corporation Server architecture for segregation of dynamic content generation applications into separate process spaces
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6205122B1 (en) * 1998-07-21 2001-03-20 Mercury Interactive Corporation Automatic network topology analysis
US6229538B1 (en) * 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6628304B2 (en) * 1998-12-09 2003-09-30 Cisco Technology, Inc. Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks
US20020113816A1 (en) * 1998-12-09 2002-08-22 Frederick H. Mitchell Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks
US20030091037A1 (en) * 1999-03-10 2003-05-15 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6205796B1 (en) * 1999-03-29 2001-03-27 International Business Machines Corporation Sub-dew point cooling of electronic systems
US6516345B1 (en) * 1999-04-30 2003-02-04 Cisco Technology, Inc. Approaches for determining actual physical topology of network based on gathered configuration information representing true neighboring devices
US6125924A (en) * 1999-05-03 2000-10-03 Lin; Hao-Cheng Heat-dissipating device
US6130820A (en) * 1999-05-04 2000-10-10 Intel Corporation Memory card cooling device
US6714936B1 (en) * 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
US6717943B1 (en) * 1999-06-03 2004-04-06 David Schwering System and method for routing and processing data packets
US20020133669A1 (en) * 1999-06-11 2002-09-19 Narayan Devireddy Policy based storage configuration
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US6505244B1 (en) * 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US6704778B1 (en) * 1999-09-01 2004-03-09 International Business Machines Corporation Method and apparatus for maintaining consistency among large numbers of similarly configured information handling servers
US20020019864A1 (en) * 1999-12-09 2002-02-14 Mayer J?Uuml;Rgen System and method for managing the configuration of hierarchically networked data processing devices
US6636239B1 (en) * 2000-02-24 2003-10-21 Sanavigator, Inc. Method of operating a graphical user interface to selectively enable and disable a datapath in a network
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US6760761B1 (en) * 2000-03-27 2004-07-06 Genuity Inc. Systems and methods for standardizing network devices
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US6542360B2 (en) * 2000-06-30 2003-04-01 Kabushiki Kaisha Toshiba Electronic apparatus containing heat generating component, and extension apparatus for extending the function of the electronic apparatus
US6396697B1 (en) * 2000-12-07 2002-05-28 Foxconn Precision Components Co., Ltd. Heat dissipation assembly
US20020083169A1 (en) * 2000-12-21 2002-06-27 Fujitsu Limited Network monitoring system
US20020147801A1 (en) * 2001-01-29 2002-10-10 Gullotta Tony J. System and method for provisioning resources to users based on policies, roles, organizational information, and attributes
US6871232B2 (en) * 2001-03-06 2005-03-22 International Business Machines Corporation Method and system for third party resource provisioning management
US20020162010A1 (en) * 2001-03-15 2002-10-31 International Business Machines Corporation System and method for improved handling of fiber channel remote devices
US6775700B2 (en) * 2001-03-27 2004-08-10 Intel Corporation System and method for common information model object manager proxy interface and management
US20020143920A1 (en) * 2001-03-30 2002-10-03 Opticom, Inc. Service monitoring and reporting system
US20020143905A1 (en) * 2001-03-30 2002-10-03 Priya Govindarajan Method and apparatus for discovering network topology
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation
US20030028624A1 (en) * 2001-07-06 2003-02-06 Taqi Hasan Network management system
US20030055972A1 (en) * 2001-07-09 2003-03-20 Fuller William Tracy Methods and systems for shared storage virtualization
US6526768B2 (en) * 2001-07-24 2003-03-04 Kryotech, Inc. Apparatus and method for controlling the temperature of an integrated circuit device
US20030184580A1 (en) * 2001-08-14 2003-10-02 Kodosky Jeffrey L. Configuration diagram which graphically displays program relationship
US6587343B2 (en) * 2001-08-29 2003-07-01 Sun Microsystems, Inc. Water-cooled system and method for cooling electronic components
US6438984B1 (en) * 2001-08-29 2002-08-27 Sun Microsystems, Inc. Refrigerant-cooled system and method for cooling electronic components
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
US20030074599A1 (en) * 2001-10-12 2003-04-17 Dell Products L.P., A Delaware Corporation System and method for providing automatic data restoration after a storage device failure
US20030093501A1 (en) * 2001-10-18 2003-05-15 Sun Microsystems, Inc. Method, system, and program for configuring system resources
US20030169289A1 (en) * 2002-03-08 2003-09-11 Holt Duane Anthony Dynamic software control interface and method
US20050169281A1 (en) * 2004-02-02 2005-08-04 Eun-Sook Ko Distributed router

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885256B1 (en) * 2003-05-30 2011-02-08 Symantec Operating Corporation SAN fabric discovery
US20060059428A1 (en) * 2004-09-01 2006-03-16 Humphries Marshall L Method and system for presenting relationships
US7925758B1 (en) 2006-11-09 2011-04-12 Symantec Operating Corporation Fibre accelerated pipe data transport
US8711864B1 (en) 2010-03-30 2014-04-29 Chengdu Huawei Symantec Technologies Co., Ltd. System and method for supporting fibre channel over ethernet communication

Similar Documents

Publication Publication Date Title
US6314460B1 (en) Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers
US8327004B2 (en) Storage area network methods and apparatus with centralized management
US7287063B2 (en) Storage area network methods and apparatus using event notifications with data
US7177935B2 (en) Storage area network methods and apparatus with hierarchical file system extension policy
US7080140B2 (en) Storage area network methods and apparatus for validating data from multiple sources
US6697924B2 (en) Storage area network methods and apparatus for identifying fiber channel devices in kernel mode
US6920494B2 (en) Storage area network methods and apparatus with virtual SAN recognition
US7406473B1 (en) Distributed file system using disk servers, lock servers and file servers
US8060587B2 (en) Methods and apparatus for launching device specific applications on storage area network components
US7890953B2 (en) Storage area network methods and apparatus with coordinated updating of topology representation
US6952698B2 (en) Storage area network methods and apparatus for automated file system extension
US7734712B1 (en) Method and system for identifying storage devices
US7171624B2 (en) User interface architecture for storage area network
US6996670B2 (en) Storage area network methods and apparatus with file system extension
US7499986B2 (en) Storage area network methods with event notification conflict resolution
US6854035B2 (en) Storage area network methods and apparatus for display and management of a hierarchical file system extension policy
US7430593B2 (en) Storage area network for topology rendering
US6892264B2 (en) Storage area network methods and apparatus for associating a logical identification with a physical identification
US7069395B2 (en) Storage area network methods and apparatus for dynamically enabled storage device masking
US7457846B2 (en) Storage area network methods and apparatus for communication and interfacing with multiple platforms
US20040215764A1 (en) Method, system, and program for rendering a visualization of aggregations of network devices
US20030130821A1 (en) Method, system, and program for rendering a visualization of network devices
US7137124B2 (en) Storage area network methods and apparatus for storage device masking
US20040024573A1 (en) Method, system, and program for rendering information about network components
US7565568B1 (en) Method and system for virtualization switch failover

Legal Events

Date Code Title Description
AS Assignment

Owner name: SUN MICROSYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRABAUSKAS, GINT J.;HANSON, JEFFREY A.;REEL/FRAME:013166/0723

Effective date: 20020723

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION