In a network, there may be multiple interconnected switches, servers, storage devices, etc. A packet of data can be sent from a source device through one or more intervening switches to a destination device. Each switch typically has multiple switch ports and each server has at least one and possibly multiple network interface controller (NIC) ports. In some cases, the switches, servers, storage devices, etc. are housed in equipment racks. The number of ports and associated cabling in such an environment can be large. In such an environment, determining the configuration of the network can be difficult, thereby burdening network administrators attempting to manage such a network.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which.
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect, direct, optical or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, or through a wireless electrical connection.
The term “frame” is used in this disclosure in a broad sense to refer to information, in any suitable form, that is passed from one network device to another. A frame may also be referred to as a “packet” by those skilled in the art.
Each of the switches 52-70 comprises multiple switch ports 74. Each port includes a connector to which an external cable can be mated, although wireless connectivity is also possible as noted above. Various cables 75 are illustrated in
In accordance with some embodiments of the invention, the network implements a spanning tree protocol (STP) such as that defined by the IEEE 802.1D standard. A spanning tree uses a spanning tree algorithm that determines that a given switch has more than one path over which to communicate with another node, determines which path is best and blocks other path(s). If one network segment in the STP becomes unreachable, the spanning tree algorithm reconfigures the spanning tree topology and reestablishes the link by activating the standby path. A spanning tree for a network is “loop free” meaning that the switches are not connected together in a way that would permit a frame to be routed through the network in a closed loop.
In a spanning tree protocol, one of the switches is pre-designated or dynamically elected to be a “root” switch. A root switch represents the logical center of the spanning tree topology in a switched network. Switch 70 in
Each NIC and switch port 72, 74 has an associated visual indicator 76. In accordance with at least some embodiments, each visual indicator comprises a light emitting diode (LED) although other forms of visual indication are possible as well. In accordance with embodiments of the invention, an indicator can be made to illuminate. In some embodiments, the illumination of an indicator is implemented by having the LED turn on and remain on for a period of time. In other embodiments, the illumination of an indicator is implemented by causing the indicator to blink at a pre-defined or programmable rate. Further, an indicator can be made to illuminate with a desired color. That is, the color of a given indicator can be one of multiple colors, the selection of which can be made dynamically. Each indicator 76 in an illustrative embodiment is on or near its associated port 72, 74 so that the user can readily determine to which port the indicator pertains. Embodiments of the invention described herein permit a user to readily visualize paths through the networks as well visualize certain types of ports (e.g., all active ports, all root ports, etc.).
The server 50 and switches 52-70 may be implemented in “blade” form and installed in equipment racks. However, any physical form of the server 50 and switches 52-70 is acceptable. Further, the number of servers and switches can be varied from that shown in
In accordance with embodiments, a user may desire to visualize certain topological aspects of the network. For example, the user may wish to know through which ports on which switches a packet of data will be routed when being transmitted from server 50 to root switch 70. Other examples are provided below. The user, via server 50, causes the server to form a frame that is encoded with certain information regarding whether and how certain indicators 76 are to be illuminated in the network to provide the user the desired topological visualization. Thus, while the frame may perform other functions as well, the frame, at least in part, causes various indicators in the network to be illuminated. The frame is injected into the network (transmitted from the source node, e.g., server 50, to one or more switches) and is routed from switch to switch until the frame reaches its destination. Every switch that receives the frame, decodes the frame, examines the information contained in the frame and performs whatever indicator illumination activity is specified by the frame. The switch then forwards the frame on to another switch in accordance with routing information contained in the frame.
The frame formed in
The GUI provided by server 50 on display 55 provides the user with a list of choices that correspond to, for example, the aforementioned list. The user selects the desired options (e.g., by clicking on one or more of the selectable options). Upon clicking on, for example, “OK” software button, the server's software forms a frame in accordance with the user's choices and injects the frame into the network.
Each frame may effectuate one of the aforementioned actions to occur. Other actions are possible results as well. The user can cause a series of such frames to be generated and injected into the network to cause a series of such results to occur. In other embodiments, a frame may cause more than just one result to occur. Thus, combinations of results may be encoded into a single frame as desired.
Each network device (e.g., switch) may generate a reply frame that indicates the status associated with the indicator that was targeted by the frame to which the reply pertains. The status may be, for example, that the indicator has currently illuminating, has stopped illuminating, that the specified blinking rate is invalid, that the indicator cannot start illuminating, or that the indicator is unable to stop illuminating. Other status is possible as well.
In accordance with at least one embodiment of the invention, multiple frames may be formed and injected into the network to cause various indicators 76 to be illuminated as desired. In one such embodiment, a first frame is formed per action 112 (
In one embodiment, the frame formed in accordance with method 110 (
The frame format in Table I is typical of Ethernet frames. To identify to the network a frame whose purpose to cause indicators to illuminate, the destination address is selected to be a reserved set of multicast addresses. In some embodiments, the destination address is selected from the range of addresses of 01-80-C2-00-00-02 to 01-80-C2-00-00-0F. The source address is the Port MAC address of the server 50, or whatever device originated the frame. The length/type field specifies type value in Ethernet Encapsulation standard. The version number field specifies the version number of the relevant unit identifier (UID) protocol. The type length value (TLV) field is used to encode information that specifies the nature of a data “payload.” The length field specifies the amount of the data payload that follows the TLV and Length fields. Based on the value of the TLV and Length fields, the device receiving the frame knows how to decode and interpret the contents of the data payload. The frame checksum (FCS) ensures that the frame was received without error. The frame ends with a TLV type set to a predefined “terminator” value (e.g., 0) and Length field also at a predefined value (e.g., 0).
As explained above, one of the indicator-related frames may comprise information about how the indicators are to be illuminated. In such a frame, the TLV specifies that an indicator to be illuminated is to be illuminated according to a prescribed set of characteristics. The characteristics regarding how the indicator is to be illuminated are provided in the data payload following the length field. Table II below provides an example of such data payload. The first two fields provided below are the TLV Type and Length fields provided in Table I. The remaining fields comprise the data payload that follows the Length field.
The system identifier (ID) identifies the system that originates the frame. The UID Request/Reply field comprises either a request or a reply as indicated. As a request, the field comprises a value of 0 or 1 to request an indicator to stop or start blinking, respectively. As a reply, the field comprises a value of 2 or 3 to indicate that the blinking has stopped or started, respectively. The Status field comprises a value of 0-3. A value of, for example, 0 is an “OK” status to indicate that the received network device functions normally with the request. A status value of, for example, 1 indicates that the indicator cannot be made to start blinking, while status values of 2 and 3 indicate, respectively, that the indicator cannot be made to stop blinking and that the blinking rate specified in the next fields is invalid (e.g., a switch may not support the blinking rate specified by the frame).
The indicator can be made to blink if desired. In the embodiment of Table II, the blinking rate is provided in two frames to specify a number of blinks per unit of time. The number of blinks is specified in a first blinking rate field while the unit of time for the blinks to occur is specified in a second blinking rate field. The color for the indicator, to the extent the network device containing the indicator can support more than one color, is specified in the Illumination Color field. Values of 0-3 specify, for example, green, amber, red, and yellow, respectively.
In accordance with other embodiments, the frame can be encoded so as to target a root switch. In such embodiments, the UID Request/Reply field (Table II) can be encoded with one of the following exemplary values:
0=blink port on which frame is received if switch is the root
1=blink all ports for the VLAN if switch is the root
2=blink a “management LED” on switch if switch is the root
Similar formats can be used for a Root Port, Root Path, VLAN Path, MAC Path, IGMP Path, Router Path, etc. to illuminate a remote point or a particular path.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. For example, the ports being illuminated in accordance with methods disclosed herein may be located in a common data center (e.g., the same room). However, the illuminated ports may be geographically separated (e.g., different buildings, different cities). It is intended that the following claims be interpreted to embrace all such variations and modifications.
Number | Name | Date | Kind |
---|---|---|---|
5359597 | McLamb et al. | Oct 1994 | A |
5544150 | Fujimoto et al. | Aug 1996 | A |
5646602 | Gertz et al. | Jul 1997 | A |
5878232 | Marimuthu | Mar 1999 | A |
5925131 | Novoa et al. | Jul 1999 | A |
6275864 | Mancusi et al. | Aug 2001 | B1 |
6493498 | Colombo et al. | Dec 2002 | B1 |
6498791 | Pickett et al. | Dec 2002 | B2 |
6615166 | Guheen et al. | Sep 2003 | B1 |
6633905 | Anderson et al. | Oct 2003 | B1 |
6658586 | Levi | Dec 2003 | B1 |
6681261 | Mancusi et al. | Jan 2004 | B2 |
6826631 | Webb | Nov 2004 | B2 |
6859841 | Narad et al. | Feb 2005 | B2 |
6940821 | Wei et al. | Sep 2005 | B1 |
6952421 | Slater | Oct 2005 | B1 |
7006881 | Hoffberg et al. | Feb 2006 | B1 |
7020166 | Chien | Mar 2006 | B2 |
7145881 | Dawes et al. | Dec 2006 | B1 |
20010055274 | Hegge et al. | Dec 2001 | A1 |
20020041599 | Chang et al. | Apr 2002 | A1 |
20020061018 | Chien | May 2002 | A1 |
20020069301 | Fan et al. | Jun 2002 | A1 |
20020097739 | Chen et al. | Jul 2002 | A1 |
20020099816 | Quarterman et al. | Jul 2002 | A1 |
20020105967 | Chen | Aug 2002 | A1 |
20030050998 | Garnett et al. | Mar 2003 | A1 |
20030217123 | Anderson et al. | Nov 2003 | A1 |
20040001479 | Pounds et al. | Jan 2004 | A1 |
20040001501 | Delveaux et al. | Jan 2004 | A1 |
20040008622 | Dolbec et al. | Jan 2004 | A1 |
20040059806 | Webb | Mar 2004 | A1 |
20040066759 | Molteni et al. | Apr 2004 | A1 |
20040081186 | Warren et al. | Apr 2004 | A1 |
20040085974 | Mies et al. | May 2004 | A1 |
20040162898 | Rich | Aug 2004 | A1 |
20050015217 | Weidl et al. | Jan 2005 | A1 |
20050044211 | Adhikari | Feb 2005 | A1 |
20050073957 | Lay | Apr 2005 | A1 |
20050172024 | Cheifot et al. | Aug 2005 | A1 |
20060023638 | Monaco et al. | Feb 2006 | A1 |
20060023676 | Whitmore et al. | Feb 2006 | A1 |
20060104205 | Strutt et al. | May 2006 | A1 |
20060227725 | Huotari et al. | Oct 2006 | A1 |
20060285499 | Tzeng | Dec 2006 | A1 |
Number | Date | Country |
---|---|---|
1515480 | Mar 2005 | EP |
1641182 | Mar 2006 | EP |
63281541 | Nov 1988 | JP |
WO2005071914 | Aug 2005 | WO |
WO2005109754 | Nov 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20080101250 A1 | May 2008 | US |