Patent Publication Number: US-7903541-B2

Title: Ethernet switch with configurable alarms

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. application Ser. No. 10/377,066 filed Feb. 28, 2003 and entitled “Ethernet Switch With Configurable Alarms”. 
    
    
     TECHNICAL FIELD OF THE INVENTION 
     This invention relates generally to communications and more particularly to an Ethernet switch with configurable alarms. 
     BACKGROUND OF THE INVENTION 
     Ethernet is a standard for communicating both data and voice signals. The use of Ethernet communications in industrial applications is increasing, and in response Ethernet switches particularly designed for industrial applications are being produced. Some such applications include industrial control networks. 
     Industrial control networks are critical links for the operation of manufacturing and processing equipment. Failure of these networks in the manufacturing operation has safety and financial implications that are generally more serious than a traditional data network in a traditional office application. 
     SUMMARY OF THE INVENTION 
     According to one embodiment, an Ethernet switch includes a plurality of ports operable to receive and transmit Ethernet traffic. The Ethernet switch also includes system monitoring software operable to receive an indication from a user of a plurality of fault conditions for which generation of an alarm is desired. The system monitoring software is also operable to monitor the Ethernet switch for the plurality of fault conditions and generate a signal indicating a particular one of the plurality of fault conditions has been met. The Ethernet switch further includes at least one relay responsive to the generated signal that is operable to turn on a respective alarm indicating a particular fault condition has occurred. 
     Embodiments of the invention may provide numerous technical advantages. Some embodiments may include some, none, or all of the above-described advantages. For example, in one embodiment an Ethernet switch is provided that allows user configurable alarms, for which the user wishes to be informed, as opposed to simply a single alarm that is specified by the switch provider. In addition, in some embodiments, alarms may be specified on a per port basis as well as provided with a particular priority. In that regard, in one embodiment multiple relays are provided that allow the selective activation of more than one alarm, which may be utilized to provide different levels of alarms corresponding to the different priority conditions specified for the various faults. In some circumstances, such embodiments allow more accurate monitoring of an Ethernet switch and the possible prevention of catastrophic failures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numbers represent like parts, in which: 
         FIG. 1A  is a block diagram illustrating an Ethernet switch according to the teachings of the invention; 
         FIG. 1B  is a schematic diagram illustrating a front view of the Ethernet switch of  FIG. 1A ; 
         FIG. 1C  is a schematic diagram illustrating a bottom view of the Ethernet switch of  FIG. 1A ; 
         FIG. 2A  is an isometric drawing of portions of the interior of the Ethernet switch of  FIG. 1B , showing certain elements related to cooling of the Ethernet switch; 
         FIG. 2B  is an isometric drawing showing two cards that are included within the Ethernet switch of  FIG. 1B  and associated claim elements; 
         FIG. 2C  is an isometric drawing showing a CPU card with copper uplink card of  FIG. 2B ; 
         FIG. 2D  is an isometric drawing showing the PHY card of  FIG. 2B ; 
         FIGS. 3A and 3B  are elevational drawings showing details of clips used to secure heat sinks; 
         FIG. 4A  is a functional block diagram of the Ethernet switch of  FIG. 1B ; 
         FIG. 4B  is a block diagram of the system monitoring system of  FIG. 4A , showing additional details of the relay system; 
         FIG. 4C  is a block diagram showing portions of the system monitoring system of  FIG. 4B  in conjunction with hardware associated with the monitoring system; 
         FIG. 5  is a flowchart illustrating a method for user configuration of alarms for the Ethernet switch of  FIG. 1A ; 
         FIG. 6  is a flowchart illustrating a method for monitoring fault conditions associated with the Ethernet switch of  FIG. 1A ; 
         FIG. 7A  is a flowchart illustrating a method for enabling or disabling alarms based on the configuration of fault conditions; and 
         FIG. 7B  is a flowchart illustrating a method for initiating an alarm in response to a detected fault condition. 
     
    
    
     DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE INVENTION 
     Embodiments of the invention are best understood by referring to  FIGS. 1 through 7B  of the drawings, like numerals being used for like and corresponding parts of the various drawings. 
       FIG. 1A  is a block diagram illustrating an Ethernet switch  10  according to the teachings of the invention. Ethernet switch  10  receives a plurality of lines  12  at respective ports  14 . Ethernet switch  10  may selectively couple, or switch, each line  12  to another line  12  or to an uplink  18  through output ports  16 . Ethernet switches may be used in a variety of contexts to communicate voice and data to a desired location and may be located in a variety of locations, such as within a central office of a telecommunications carrier or within a manufacturing or industrial environment. 
       FIG. 1B  illustrates an isometric drawing of Ethernet switch  10  according to the teachings of the invention. In this view the front  20  of Ethernet switch is illustrated. Shown on front  20  of Ethernet switch  10  are a plurality of RJ connectors, or ports,  22 , a console port  24 , two RJ uplink ports  26 , a power connector  28 , and a plurality of light pipes  30 . Ethernet switch  10  also has a top side  32 , a right side  34 , a left side  36 , a back side  38 , and a bottom side  40 . An edge  46  is formed by front side  20  and bottom side  40 . 
     Formed on the various sides of Ethernet switch  10  are a plurality of apertures  42  for allowing cooling of Ethernet switch  10 . Formed on top side  38  are a plurality of mounting holes  44  for mounting a mounting clip (not explicitly shown in  FIG. 1B ) for facilitating mounting of Ethernet switch  10  to DIN rails during installation in an industrial environment. Although embodiments are described in the context of a rugged Ethernet switch for use in an industrial environment, aspects of the invention are applicable in non-rugged Ethernet switches, except where explicitly noted otherwise. 
     RJ ports  22  correspond to ports  14  of  FIG. 1A . RJ ports  22  may each accept a RJ compatible line carrying voice or data traffic. Console port  24  allows connection to a console for controlling Ethernet switch  10 . Link ports  26  provide a connection to another device, such as a router, connected to Ethernet switch  10 . Connector  28  provides a location for providing power to Ethernet switch  10  as well as providing a location for user access to the relay connections. 
     Light pipes  30  provide an indication of the operation of Ethernet switch  10 . Light pipes  30  are provided such that they are visible both when Ethernet switch  10  rests on bottom side  40  as well as when it rests on front side  20  (as shown in  FIG. 1C ). Thus, when Ethernet switch  10  is installed to rest either on its front side  20  or its bottom side  40 , an indication of the operation of Ethernet switch  10  may be provided in either configuration. 
       FIG. 1C  is an isometric drawing of Ethernet switch  10  shown in an alternative orientation. In this orientation, Ethernet switch  10  rests on front side  20 . Note that in this configuration, the left and right sides are reversed, as compared to  FIG. 1B . Thus, left side  36  is visible in this view. This configuration represents a second installation orientation of Ethernet device  10  with the other likely installation orientation shown in  FIG. 1B . Also illustrated in this view is a mounting clip  48 , which may be utilized to mount Ethernet switch  10  to DIN rails A plurality of mounting apertures, such as mounting apertures  44 , are also formed in back side  38 , but are obscured from view by mounting clip  48 . 
       FIG. 2A  is an isometric drawing showing portions of Ethernet switch  10 . In this view, portions of Ethernet switch  10  are deleted so as to render visible spacers  80 . Spacers  80  are formed from a generally thermally conductive material, such as aluminum, and operate to both physically support internal cards that perform the main functions of the Ethernet switch as well, as thermally conduct heat from the cards to bottom  40  of the housing of Ethernet switch  10 . Thus, heat that is generated by Ethernet switch and transferred to the cards, such as cards  50  or  82  ( FIG. 2B ) may be conducted to the housing of Ethernet switch  10  for dissipation to the atmosphere. This is one cooling approach utilized. Other approaches are described in greater detail below in conjunction with  FIGS. 2B through 3B . 
     As illustrated, the housing of Ethernet switch  10  is formed with a plurality of apertures  42 . Apertures  42  are designed to maximize the surface area of the apertures along the housing of Ethernet switch  10  to allow for heat transfer to the outside atmosphere but at the same time meet electromagnetic emission requirements. 
       FIG. 2B  is an isometric drawing showing cards  50  and  82  as they would appear positioned within housing of Ethernet switch  10 . Card  50  is a PHY card, described above, which includes a plurality of ports and light pipes for indicating the status of the ports or other operations within Ethernet switch  10 , as described above. Card  82  houses the CPU for control, an ethernet switch and two alarm relays for external signaling. Disposed on both card  82  and card  50  (see  FIG. 2D ) are various cooling devices for dissipating heat generated by Ethernet switch  10 . Because of the environment in which industrial Ethernet switches are often utilized, passive cooling is required, and thus no convection fans are allowed. This restraint creates challenges for the designer in terms of heat dissipation. Convection fans are allowed for non-industrial switches. 
     Also illustrated in  FIG. 2B  are a plurality of heat sinks  84  disposed overlying card  82 . Heat sinks  84  are coupled to card  82  through a plurality of elastic clips  86 . Elastic clips  86  are shown best in  FIG. 3A . Heat sinks  84  are formed with a base portion  88  and a fin portion  90 . Disposed between base portion  88  and card  82  (or component on card  82 ) is a phase change material that changes from a solid to a fluid as it is heated. By changing from a solid to a fluid, voids between the contact of the base portion  88  of heat sinks  84  and card  82 , or components overlying card  82 , are filled creating a better path for the heat to be conducted across the component/heat sink interface. In one example, the thermal interface material is Thermagon HP105, which changes from solid to liquid phases at approximately 60-65 degrees C. However, other interface materials that change phase from solid to liquid may be used. 
     Elastic clips  82  operate to provide an elastic force on base  88  of heat sinks  84  (better illustrated in  FIGS. 3A AND 3B ). Clips  86  work in conjunction with the phase change material  94  to provide a more conductive path for heat to transfer from components on card  82  to the atmosphere. By providing an elastic force against base  88 , clips  86  reduce any space created as the thermal interface material  94  goes through a phase change. Thus, a good thermal contact is maintained between components to be cooled and heat sinks  84 . If a conventional fastener were used to connect heat sinks  84  to the components on card  82 , the conventional fastener, such as screw, would not necessarily maintain good contact between heat sinks  84  and component overlying card  82  as the thermal interface material changes phase. This is because a pin would not provide sufficient pressure when interface material goes through a phase change. 
     According to one embodiment, heat sinks  84  are formed from a relatively lightweight material, such as aluminum. However, other materials may be used. The use of a lightweight material both allows better cooling, due to reduced thermal mass and therefore the reduced time to heat fins  90 , as well as providing lower inertia, which produces desirable vibration characteristics. The lighter weight heat sinks  84  reach thermal equilibrium quicker than more robust sinks and hence radiate and transfer the heat from the component more rapidly. This maintains a cooler component. 
     In general, heat generated on a component under heat sinks  84  is conducted through phase change material  94  to base  88  of heat sinks  84 . The heat then conducts to fins  90  where, in the illustrated orientation, the predominant heat transfer mechanism is radiation, and fins  90  radiate heat toward housing of Ethernet switch  10 . When disposed in a vertical orientation, the predominant heat transfer mechanism is free convection, also known as a chimney effect, and heat transfer occurs through the slow movement of air over fins  90 , taking the heat to the housing of Ethernet switch  10 . 
     As described above, spacers  80  ( FIG. 2A ) support cards  82  and  50  through fasteners  92  and also provide conduction directly from card  82  and  50  to the bottom  40  of Ethernet switch  10 . This provides additional heat transfer directly from the cards to the housing of Ethernet switch  10 . 
       FIG. 2C  shows more clearly card  82 . Although any suitable orientation of heat sinks  84  may be utilized, a particular configuration is described in detail below. In this configuration, each of the fins  90  of the heat sinks  84  has a height of approximately 1.4 inches, as indicated by reference numeral  100 . Fins  84  also have an approximate width of 0.60 inches as indicated by reference numeral  102 , and are formed with a thickness of approximately 0.03 inches, as indicated by reference numeral  104 . Base  88  is formed with a thickness of approximately 0.9 inches, as indicated by reference numeral  106 . The various fins within a given heat sink are spaced apart approximately 0.3 inches as indicated by reference numeral  108 . As illustrated some of the heat sinks are formed in groups having six fins and some are formed in groups having eight fins; however, other configurations and numbers of fins may be utilized according to desired heat transfer requirements and card layout. In this embodiment, a lesser number of fins is utilized to accommodate additional components on card  82   b.    
       FIG. 2D  shows a bottom view of card  50 . As illustrated, card  50  includes a plurality of heat sinks  52  attached to card  50  via clips  56 . Heat sinks  52  are substantially similar to heat sinks  84 , except they are oriented differently and have different dimensions. In this particular embodiment, fins  90  have a length of 1.5 inches, as designed by reference numeral  110  and a height of 1.31 inches as designated by reference numeral  112 . Fins  90  are formed with a thickness of 0.030 inches as designated by reference numeral  118  and base  115  is formed with a thickness of 0.090 inches as designated by reference numeral  116 . In this embodiment, fins  90  are spaced apart by a distance of 0.304 inches, as designated by reference numeral  119  with an irregular spacing of 0.75 inches, as designated by reference numeral  120  to accommodate the board layout. In this embodiment, clip  56 , which is substantially similar to clip  86 , depresses against base  115  of heat sinks  52  between fins  90 . This contrasts with card  82  in which clips  86  depress against base  88  between rows of fins  90 . 
     In addition to the illustrated heat transfer mechanisms, thermal vias may be formed within cards  50  and  82  to further allow heat transfer within Ethernet switch  10 . 
       FIGS. 3A and 3B  are partial elevational views of  FIGS. 2B and 2D , respectively, along the indicated lines, showing clips  86  and  56 . In  FIG. 3A , clip  86  is illustrated as having a shape in the general configuration of an M with two side portions  95  and a middle portion  96 . On the ends of side portions  95  are hooks  97  for coupling clip  86  to card  82 . Clips  86  may also be formed with holes  99  for receiving a tool for attaching clips  86  to card  82 . As illustrated, middle portion  96  overlies a base  88  of heat sinks  84 . Below base  88  is a phase change material  94 , described above, which fills voids between base  88  and a component  120  overlying card  82 . Clip  56  of  FIG. 3B  is analogous to clip  86  except that it is disposed between two fins  90  of heat sinks  90 , rather than a cut across the heat sink fins. 
       FIG. 4A  is a functional block diagram of Ethernet switch  10 , showing various functional groups of Ethernet switch  10 . Ethernet switch  10  implements, in one embodiment, a plurality of advanced features. In general, and as described in greater detail below, Ethernet switch  10  implements, in one embodiment, spanning tree protocol (STP) according to IEEE 802.1d, multiple STP according IEEE 802.1s, rapid STP according to IEEE 802.1w, VLAN, dynamic access ports, VLAN query protocol, VLAN membership policy server, dynamic trunk protocol, secure ports, port aggregation protocol, port security MAC aging, IGMP filter, SPAN, RSPAN, protected ports, storm control, IEEE 802.1x Support, IEEE 802.1p, Auto QoS, IEEE 802.1q trunking protocol, network time protocol, access control list L2-L4s time-based ACL, DHCP Option 82, Cluster Management Suite, Cisco intelligence engine 2100, Cisco networking services, Simple Network Management Protocol, remote monitoring, and system crash information. In one embodiment functions corresponding to these groups are programmed in software and stored on a computer readable media, which is executable by a processor of Ethernet switch  10 . In other embodiments these functions may be programmed in firmware. The functions of Ethernet switch  10  may generally be grouped into the following categories: network management  202 , network availability  204 , network control  206 , network security  208 , and system monitoring  210 . These functions may be implemented in a rugged Ethernet switch or a standard switch. 
     Network management block  202  refers to management functions associated with the network on which Ethernet switch  10  operates. A major portion of network management block  202  comprises cluster management suite  222 . In one embodiment, cluster management suite  222  comprises a Cisco Customer Management Suite, available from Cisco Systems, Inc. Cluster management suite  222  generally allows users to manage a plurality of Ethernet switches  10  from a remote device. In one embodiment, up to sixteen switches may be managed through any standard web browser through use of cluster management system  222  regardless of their geographical proximity to each other. In one embodiment, a single IP address may be utilized for an entire cluster of Ethernet switches if desired. Cluster management system  222  provides, in one embodiment, an integrated management interface for delivering intelligent services, which may include multi-layer switching, QoS, multicast, and security access control lists. Thus cluster management system, in one embodiment, allows administrators to take advantage of advance benefits without having to learn the command-line interface, or even details of the underlying technology. Cluster management system  222  allows a network administrator to designate a standby or redundant command switch, which takes the commander duties should the primary command switch fail. Other features of cluster management system  222  include the ability to configure multiple ports and switches simultaneously, as well as perform software updates across each cluster at once, and clone configurations to other clustered switches for rapid network deployment. Bandwidth graphs may be generated by cluster management system  222  as well as link reports, which provide useful diagnostic information and the topology map gives network administrators a quick view of the network status. 
     In addition to cluster management system  222 , network management block  202  may include functionality such as provided by CiscoWorks for Switched Internetworks. The switch cluster management unit  222  may utilize the hot standby router protocol (HSRP) or supporting command switch redundancy. 
     Network availability block  204  provides functionality associated with maintaining efficient use of resources for bandwidth-hungry applications, such as multicast. In a particular embodiment, an IGMP snooping feature  214  is provided that allows switch  10  to “listen in” on the Internet Group Management Protocol (IGMP) conversation between hosts and routers. When a switch hears an IGMP joined requests from a host for a given multicast group, the switch adds the host&#39;s support number to the group destination address (GDA) list for that group and when the switch hears an IGMP leave request, it removes the host port from the content addressable memory table entry. 
     A PVST block  228  refers to Per VLAN Spanning Tree and allows users to implement redundant uplinks while also distributing traffic loads across multiple links. Additional functionality that enhances performance is voice VLAN  230 . This feature allows network administrators to assign voice traffic to a VLAN dedicated to IP telephony, which simplifies phone installations and provides easier network traffic administration and troubleshooting. A multicast VLAN registration block  232  is provided for applications that deploy multicast traffic across an Ethernet network. For example, the multicast VLAN contains the broadcasts of single or multiple video streams over the network. MVR block  232  allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide multicast VLAN. 
     Network control block  206  provides functionality for classifying, prioritizing and avoiding congestion in network traffic. To do this, network control block  206  may include an auto QoS block  234 , which detects IP phones or other type of hosts requiring special quality of service features and automatically configures the switch for the appropriate classification and egress queuing. This optimizes traffic prioritization in network availability without the challenge of a complex configuration. Network control block  206  is operable to classify, reclassify, police, and mark or drop the incoming packets before the packet is placed into the shared buffer. Packet classification allows the network elements to discriminate between various traffic flows in enforced policies based on layer  2  and layer  3  QoS field. To implement QoS, network control block  206  first identifies traffic flows, or packet groups, and classifies or reclassifies these groups using the DSCP field in the IP packet and/or the 802.1P class of service (CoS) field in the Ethernet packet. Classification and reclassification can also be based on criteria as specific as the source/destination IP address, source/destination MAC address, or the layer for TCP/UDP ports. At the ingress level, network control  206  also performs policing and marking of the packet. 
     After the packet goes through classification, policing, and marking, it is then assigned to the appropriate queue before exiting the switch. In one embodiment, four egress queues per port are supported, which allows the network administrator to be more discriminating and specific in assigning priorities for the various applications on the LAN. At the egress level, the network control block  206  performs scheduling, which is a process that determines the order in which the queues are processed. Weighted round-robin scheduling, strict priority scheduling, or other scheduling approaches may be utilized. The weighted round-robin scheduling algorithm assures that lower priority packets are not entirely starved for bandwidth and are serviced without compromising the priority settings administered by the network manager. Strict priority scheduling ensures that the highest priority packets will always get serviced first out of all other traffic, and that the three queues will be serviced using weighted round-robin best effort. 
     Thus network control  206  allows network administrators to prioritize missions having critical and/or bandwidth-intensive traffic over less time-sensitive applications such as FTP or e-mail. For example, it would be highly undesirable to have a large file download destined to one port or a wiring closet switch and have quality implications such as increased latency in voice or control traffic, destined to another port on this switch. This condition is weighed by ensuring that latency sensitive or critical traffic is properly classified and prioritized throughout the network. Other applications, such as web browsing, can be treated as low priority and handled on a best-effort basis. 
     Network control block  206  is operable to allocate bandwidth based on several criteria including MAC source address, MAC destination address, IP source address, IP destination address, and TCP/UDP port number. Bandwidth allocation is essential in network environments requiring service-level agreements or when it is necessary for the network manager to control the bandwidth given to certain users. 
     Also provided within network control block  206  is a multiple spanning tree block  224  and a rapid spanning tree block  226 . In general, multiple spanning tree block  224  implements multiple spanning tree protocol (MSTP) according to IEEE 802.1s, which groups VLANs into a spanning tree instance and provides for multiple forwarding paths for data traffic and load balancing. Rapid spanning tree block  226  implements rapid spanning tree protocol (RSTP) according to IEEE 802.1w for providing rapid conversions of the spanning tree by immediately transitioning route and designated ports to the forwarding state. Multiple spanning tree block  224  and rapid spanning tree block  226  are described in greater detail below in conjunction with  FIGS. 6A ,  6 B, and  7 . 
     Network security block  208  provides functionality associated with network security. In one embodiment, network security block  208  offers enhanced data security through a wide range of security features. Such features allow customers to enhance LAN security with capabilities to secure network management traffic through the protection of passwords and configuration information; to provide options for network security based on users, ports, and MAC addresses; and to enable more immediate reactions to intruder and hacker detection. An SSH block  234 , standing for secure shell, and a SNMP block  236 , standing for simple network management protocol version 3, protect information from being tampered with or eavesdropped by encrypting information being passed along the network, thereby guarding administrative information. A private VLAN edge block  238  isolates ports on a switch, insuring that traffic travels directly from the entry port to the aggregation device through a virtual path and cannot be directed to another port. A local proxy address resolution protocol (LPARP) block  240  works in conjunction with private VLAN edge  238  to minimize broadcasts and maximize available bandwidth. A plurality of port-based access control parameters  242  restrict sensitive portions of the network by denying packets based on source and destination MAC addresses, IP addresses, or TCP/UDP ports. In one embodiment, access control parameters  242  lookups are performed in hardware; therefore, forwarding performance is not compromised when implementing this type of security in the network. In addition, time-based ACLs, standing for Access Control Lists, allow configuration of differentiated services based on time periods. ACLs can be applied to filter traffic based on DSCP values. DSCP stands for Differential Services Code Point. Port security provides another means to ensure the appropriate user is on the network by eliminating access based on MAC addresses. 
     For authentication of users with a Terminal Access Controller Access Control System (TACACS) or RADIUS server, IEEE Spec. 802.1x provides port-level security. IEEE 802.1x in conjunction with a RADIUS server allows for dynamic port-based user authentication. IEEE 802.1x-based user authentication can be extended to dynamically assign a VLAN based on a specific user regardless of where they connect the network. This intelligent adaptability allows IT departments to offer greater flexibility and mobility to their stratified user populations. By combining access control and user profiles with secure network connectivity, services, and applications, enterprises can more effectively manage user mobility and drastically reduce the overhead associated with granting and managing access to network resources. 
     With network security block  208 , network managers can implement a high level of console security. Multi-level access security on the switch console and the web-based management interface prevents unauthorized users from accessing or altering switch configuration TACACS+ or RADIUS authentication enables centralized access control of the switch and restricts unauthorized users from altering the configuration. Deploying security can be performed through Cisco Cluster Management Systems software  222 , described above, which ease the deployment of security features that restrict user access to a server, a portion of the network, or access to the network. 
     Ethernet switch also includes a system monitoring block  210 . In general, system monitoring block monitors various aspects of the Ethernet switch  10 . 
     The teachings of the invention recognize that fault conditions in industrial environments can be particularly disadvantageous, as can fault conditions in typical operations. The teachings of the invention also recognize that in certain operations there are several events, such as exposure to environmental extremes, power supply failures, and data link failures that require the intermediate intervention of an operator nearby in order to minimize the downtime of the network and potential safety issues. The teachings of the invention recognize that to minimize downtime an alarm configuration and monitoring system is desirable that allows user configuration of fault conditions or multiple claims, or both. Thus, according to the teachings of the invention, a method and system are provided that allows a user to configure the fault conditions for which he desires an alarm. As described in greater detail below, fault conditions may be selected from a predefined group, or initially specified by the user. In response, the Ethernet switch is monitored for the specified fault conditions, and in response, upon detection of a particular fault condition, an alarm is initiated. Initiation of the alarm may replace one of a plurality of relays that are provided, which provides the opportunity to have priority levels associated with any particular fault condition. Details of an example embodiment are described below in conjunction with  FIGS. 4B through 7B . 
       FIG. 4B  is a block diagram of system monitoring system  210  of  FIG. 4A . System monitoring system  221  includes a configuration subsystem  302 , an alarm subsystem  304 , and a monitoring subsystem  306 . Configuration subsystem  302  allows a user to specify which of a plurality of provided fault conditions for which he wishes an alarm to be generated. Details of one example embodiment of configuration system  302  are provided in conjunction with  FIG. 5 . 
     Monitoring subsystem  306  monitors Ethernet switch  10  for each of the plurality of configured fault conditions. If a particular fault condition is detected, the signal is provided to alarm system  304 . Details of one example of monitoring subsystem  306  are provided in conjunction with  FIG. 6 . 
     Alarm subsystem  304  uses an indication of a fault condition from monitoring system  306  and, in response, generates a signal that is provided to a relay connected to an actual alarm. The alarm may be generated such that a user is informed of the fault condition. Alarm subsystem  304  may include an alarm profile module  308  and an alarm generation report module  310 . Alarm profile module  308  updates alarm profiles for which alarms are enabled and/or disabled through configuration block  302 . Alarm generation report module  310  executes enabled alarms in response to a signal received from monitoring subsystem  306 . Additional details of one embodiment of alarm subsystem  304  are described in greater detail in conjunction with  FIGS. 7A and 7B . 
       FIG. 4C  is a block diagram of portions of system monitoring system  221  showing a connection to physical devices to which system monitoring system  221  is attached. As illustrated, configuration subsystem  302  may be coupled to a console  360 . Console  360  may be a personal computer, terminal, or other device that allows data to be inputted into Ethernet switch  10 . In this manner, a user may key in particular fault conditions to configure system monitoring system  221 . Also illustrated are a pair of relays  352  and  354  coupled to alarm subsystem  304 . Relays  352  and  354  may be any suitable relay that is operable to receive its signal indicating relays should be turned on and in response turn on an associated alarm. In this embodiment, alarms  356  and  358  are depicted as external to system monitoring system  221  as well as Ethernet switch  10 , which may be a usual case. However, alarms such as alarms  356  and  358  may be included within Ethernet switch  10  if desired. In addition, more than two relays may be provided, as desired. A temperature sensor  362 , a power sensor  364  and a port failure sensor  361  are illustrated as being coupled to monitoring subsystem  306 . Port failure sensor  361  provides information to monitoring subsystem regarding pre-defined port conditions, such as link fault and nonforwarding ports. Temperature sensors  362  and power sensor  364  may be formed internal to Ethernet switch  10 , or may be external sensors, and may take any suitable term that allows measurement of temperature and power, respectively. 
       FIG. 5  is a flowchart showing a method  400  for configuring fault conditions for Ethernet switch  10 . This method may be implemented by configuration module  302  of system monitoring system  221 , or may be implemented by other software stored on Ethernet switch  10 . The method begins at step  402 . At step  404 , an alarm reference number is received. The alarm reference number corresponds to a particular one of a plurality of possible alarms corresponding to all fault conditions for which detection is sought. In a particular embodiment six possible alarms and corresponding fault conditions are allowed; however, other numbers of alarms may be utilized. This reference number may be received from a user operating console  360 , or through other suitable techniques. 
     At a step  406 , an indication is received of an event that will generate an alarm. Possible events that will generate an alarm include: a link fault, which corresponds to a physical layer fault such as a bad wire; a port not forwarding fault, which corresponds to the condition in which one of ports  22 ,  24 , or  26  is not forwarding data; a port is not operating fault, indicating a port is not operating; an error count threshold crossed, which indicates too high of an error rate; a temperature threshold crossed fault, indicating a particular threshold has been met, corresponding to too high or too low of a temperature for Ethernet switch  10 ; or a loss of power fault, indicating that power has been lost for Ethernet switch  10  or is otherwise unacceptable. These possible faults are provided for example purposes only, and other possible faults may be specified. According to one embodiment, an indication is provided to the user of each of these faults and the user is queried as to whether any one of these should generate a fault condition. 
     At a step  408 , an indication is received of the ports to which the fault condition that will generate an alarm applies. Thus, each of the specified fault conditions may be applied to selected ports rather than all ports at once. Steps  406  and  408  may be performed together. At a step  410 , a priority is specified for the indicated event that will generate an alarm. According to one embodiment, a priority may be high or low, depending on the severity of the fault condition. According to other embodiments, more than two priorities may be specified. At a step  412 , the entered data is updated in memory for any particular fault condition. This memory is accessible by alarm subsystem  304 . Processing returns to step  404  and continues through these series of steps until all fault conditions have been specified. The method concludes at step  414 . 
     Thus, according to the teachings of the invention, particular faults conditions relevant to a particular user and environment may be specified by the user such that the user receives timely notification of fault conditions for only those faults that are important to him. 
       FIG. 6  is a flowchart illustrating a method  500  for monitoring Ethernet switch  10  for a plurality of fault conditions configured by method  400 . Method  500  may be implemented by monitoring subsystem  306  or by other suitable software on Ethernet switch  10 . The method begins at step  502 . At step  504  a plurality of possible fault conditions  504  are periodically checked. In one embodiment, all possible fault conditions are checked, whether or not the user has specified the particular fault condition should generate an alarm. At step  506  the particular fault parameter is compared to a predetermined value, and at step  508  it is determined whether the current fault condition exceeds acceptable levels. If the current fault condition exceeds acceptable levels a determination is made at step  510  of whether the fault condition should generate an alarm. This determination is based upon whether the fault condition has been configured to generate an alarm, as described above in connection with  FIG. 5 . At step  512 , an indication is provided to an alarm subsystem for handling the alarm. The method concludes at step  514 . If particular measured values do not exceed fault thresholds or a fault condition should not generate an alarm, processing continues back at step  504  at which all conditions are checked at periodic intervals. It will be understood that if only fault conditions that are configured by the user to generate an alarm are checked, step  510  would not be performed. 
     Thus, according to the teachings of the invention, potential fault conditions are monitored and a signal is generated indicting the fault conditions may exceed acceptable levels. In this regard, a temperature sensor and a power sensor, such as sensors  362  and  364 , may be utilized. 
       FIG. 7A  illustrates a method  600  for generating an alarm profile. Such a method  600  may be executed by alarm profile module  308 , or through other suitable software on Ethernet switch  10 . The method begins at step  602 . At step  604  particular alarms are enabled or disabled based upon the configuration performed by method  400 . At step  606  specific alarms are associated with specific fault conditions, again according to the configuration performed by method  400 . Such association may involve matching particular alarms with the priority level designated for the particular fault condition. For example, a power failure fault may correspond to turning on a red light, where a port not forwarding fault may correspond to turning on a blue light. Thus, according to the teachings of the invention, different levels of severity of conditions may be indicated to a user by differentiation in the alarms. It will be understood that other techniques may be utilized for differentiating alarms such as different sounds or other visual indications. Furthermore, it will be understood that the use of two alarms may provide new bits of data for which four different levels of priority may be utilized. The method concludes at step  608 . 
       FIG. 7B  illustrates a method  700  for generating an alarm in response to a detected fault condition. Method  700  may be performed by alarm generation report module  310  or by other suitable programming on Ethernet switch  10 . The method begins at step  702 . At step  704  an indication is received from monitoring subsystem  306  of a need for an alarm. This corresponds to a detected fault condition for which a user has configured an Ethernet switch to generate an alarm. At a step  706  a signal is transmitted to a relay connected to the alarm associated with the particular fault condition. This allows the relay to turn on a particular alarm associated with the particular fault condition. In addition, at a step  708 , an alarm report specifying details of the fault condition may be sent to a management system, such as console  360  or an SNMP server. SNMP traps may be generated and sent to an SNMP server, if enabled. The method concludes at step  710 . 
     Although some embodiments of the present invention have been disclosed in detail, it should be understood that various changes, substitutions, and alterations can be made thereto without departing in spirit and scope of the invention as defined by the appended claims.