Abstract:
Systems and methods to monitor a network are provided. A particular method includes determining a data packet delivery rate between a first edge switch and a second edge switch coupled to a network. The method also includes sending the data packet delivery rate to a user device, operably coupled to a customer equipment side of the first edge switch, as graphical user interface display data.

Description:
CLAIM OF PRIORITY 
       [0001]    The present application claims priority from and is a continuation of patent application Ser. No. 10/975,022 filed on Oct. 27, 2004 and entitled “System and Method for Collection and Presenting Service Level Agreement Metrics in a Switched Metro Ethernet Network,” the contents of which are expressly incorporated herein by reference in their entirety. 
     
    
     FIELD OF THE DISCLOSURE 
       [0002]    The present disclosure relates generally to the monitoring of networks. 
       BACKGROUND 
       [0003]    Ethernet is a local-area network architecture that was developed in the late 1970s for use in offices, e.g., to interconnect computers to each other and to a common printer. In recent years, companies have begun to develop ways to expand Ethernet principles to wide area networks, e.g., using Internet routers that are interconnected in various ways. The result has been the creation of switched metro Ethernet data networks. 
         [0004]    In an effort to market switched metro Ethernet services, service providers can offer varying levels of service for different prices. Moreover, a service can be considered a high level service and may be offered at a premium price if it has certain characteristics that are beneficial to customers. For example, a service provider may offer a service in which data is delivered at a relatively high packet delivery rate. Further, a service level agreement between a service provider and a customer may state that the data will be delivered at or above a particular packet delivery rate and the customer will pay a particular fee for that promised packet delivery rate. However, it can be difficult to provide an indication to a customer that the service they are receiving is meeting the level agreed to in the service level agreement. 
         [0005]    Accordingly, there is a need for a system and method for collecting and presenting service level agreement metrics in a switched metro Ethernet network. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  is a diagram of a switched metro Ethernet system; 
           [0007]      FIG. 2  is a flow chart to illustrate a method for collecting one or more metrics related to a switched metro Ethernet system and presenting those metrics to a user; 
           [0008]      FIG. 3  is a general diagram representative of an embodiment of a graphical user interface that can be used to present one or more metrics related to a switched metro Ethernet system; and 
           [0009]      FIG. 4  is a general diagram representative of another embodiment of a graphical user interface that can be used to present one or more metrics related to a switched metro Ethernet system. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    A method for monitoring a network includes injecting a plurality of data packets into the network. The data packets are transmitted between a source device and a destination device. A plurality of reflected data packets is collected. In a particular embodiment, the plurality of reflected data packets are reflected from the destination device to the source device. Also, the plurality of reflected data packets includes at least a portion of the data packets that are injected into the network. 
         [0011]    In a particular embodiment, the method further includes determining a total number of the reflected data packets. A packet delivery rate, a latency value, and a jitter value can be calculated based at least partially on the total number of reflected data packets. Further, the packet delivery rate, the latency value, and the jitter value can be reported to a user. Also, in a particular embodiment, the network is a switched metro Ethernet network and the plurality of data packets are created at a server and injected into an edge switch of the switched metro Ethernet network. Particularly, the plurality of data packets is created by a service assurance agent (SAA) within the server. Further, in a particular embodiment, the source device is a first edge switch of a switched metro Ethernet network, the destination device is a second edge switch of the switched metro Ethernet network, and the first edge switch is coupled to the second edge switch via a core system of the switched metro Ethernet network. 
         [0012]    In another embodiment, a server includes a processor and a memory device that is coupled to the processor. A service assurance agent (SAA) is embedded within the memory device and the SAA is executable by the processor. In a particular embodiment, the SAA includes instructions to inject a plurality of data packets into a switched metro Ethernet network from a source device to a destination device. Moreover, the SAA includes instructions to collect a plurality of data packets that are reflected from the destination device back to the source device. 
         [0013]    In yet another embodiment, a switched metro Ethernet network includes a core system. A first edge switch and a second edge switch are coupled to the core system. Further, a computer program is embedded within the server. In a particular embodiment, the computer program includes instructions to calculate a data packet delivery rate between the first edge switch and the second edge switch. 
         [0014]    Referring to  FIG. 1 , a switched metro Ethernet network is shown and is generally designated  100 . As shown, the switched metro Ethernet network  100  includes a core system  102 . Particularly, the core system  102  includes a plurality of switches and routers that can be used to route network traffic through the core system  102 . In a particular embodiment, the switches and routers are optical equipment. As illustrated in  FIG. 1 , a first edge switch  104  is coupled to the core system  102 . Also, a first customer premises equipment (CPE)  106  is coupled to the edge switch  104 .  FIG. 1  further shows a first user computer  108  coupled to the first CPE  106 . In a particular embodiment, the CPE  106  can be a modem, a gateway, or a router. Further, the first user computer  108  can be a desktop computer, a laptop computer, a handheld computer, or any other computer device. 
         [0015]    In a particular embodiment, the first user computer  108  includes a processor  110  and a display  112  that is coupled to the processor  110 . Moreover, as illustrated in  FIG. 1 , a graphical user interface (GUI)  114  can be presented to a user at the first user computer  108  via the display  112 . In a particular embodiment, information regarding the switched metro Ethernet network  100  including one or more metrics concerning the operation of the switched metro Ethernet network  100  can be presented to a user via the GUI  114 .  FIG. 1  further shows a memory device  116  that is coupled to the processor  110  within the first user computer  108 . 
         [0016]    As shown in  FIG. 1 , a server  118  can be coupled to the first edge switch  104 . In a particular embodiment, the server  118  includes a processor  120  and a memory device  122 . Further, in a particular embodiment, a service assurance agent (SAA)  124  is stored within the server  118 , e.g., within the memory device  122 . In a particular embodiment, the SAA  124  is a computer program that can have one or more instructions that can be executed by the processor  120  in order to collect and calculate one or more metrics concerning the operation of the switched metro Ethernet network  100 . Further, the SAA  124  can present the metrics or any data derived from the metrics to the user computer  108  via the GUI  114 . 
         [0017]      FIG. 1  further shows that a second edge switch  126  is coupled to the core system  102 . Moreover, a second CPE  128  is connected to the second edge switch  126 . As illustrated in  FIG. 1 , a second user computer  130  is also coupled to the second CPE  128 . In a particular embodiment, the second user computer  130  includes a processor  132  and a display  134  coupled thereto. Moreover, as illustrated in  FIG. 1 , a GUI  136  can be presented to a user at the second user computer  130 . Particularly, information regarding the switched metro Ethernet network  100  including one or more metrics concerning the operation of the switched metro Ethernet network  100  can be presented to a user via the GUI  136 .  FIG. 1  also shows a memory device  138  that is coupled to the processor  132 . 
         [0018]    With this configuration of structure, the first user computer  108  can be networked to the second user computer  130  by the first CPE  106 , the first edge switch  104 , the core system  102 , the second edge switch  126  and the second CPE  128 . In a particular example, multiple offices of a single company at different locations can be networked via the switched metro Ethernet network  100 . 
         [0019]    Referring to  FIG. 2 , a method for collecting one or more metrics related to a switched metro Ethernet system and for presenting those metrics to a user is disclosed. Commencing at block  200 , the method includes periodically creating a predetermined number of artificial data packets. At block  202 , the artificial data packets are injected into the network from a source Internet protocol (IP) address toward a destination IP address, e.g., from the first edge switch  104  ( FIG. 1 ) to the second edge switch  126  ( FIG. 1 ). In an illustrative embodiment, the artificial data packets can be created and injected into the network every fifteen minutes or less. Moving to block  204 , the packets are reflected, or otherwise returned, from the destination IP address back to the source IP address, e.g., from the second edge switch  126  ( FIG. 1 ) back to the first edge switch  104  ( FIG. 1 ). Next, at block  206 , the artificial data packets that have been reflected back to the source IP address are collected, e.g., by the SAA  124  ( FIG. 1 ) within the server  118  ( FIG. 1 ) coupled to the first edge switch  104  ( FIG. 1 ). 
         [0020]    Moving to block  208 , a total number of packets that are reflected, or otherwise returned, to the source IP address is determined. At block  210 , a packet delivery rate is calculated based on the total number of returned packets. In a particular embodiment, the packet delivery rate is a measure of the percentage of packets that reach the destination IP address and that are reflected back to the source IP address. Packet delivery rate can be determined using the following formula: 
         [0000]        PDR =(packets delivered to destination)/(packets offered at source) 
         [0021]    In a particular embodiment, in order to determine a more reliable value for packet delivery rate, several metrics can be used by the SAA  124  ( FIG. 1 ). Table 1 shows several exemplary, non-limiting metrics that can be used by the SAA  124  ( FIG. 1 ) in order to determine the packet delivery rate. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Exemplary, non-limiting metrics used by the SAA in order to determine a Packet Delivery Rate. 
               
             
          
           
               
                 Variable 
                 Measurement 
                 Description 
               
               
                   
               
               
                 A 
                 rttMonLatestJitterStatsNumOfRTT 
                 The number of round trip times (RTTs) that are 
               
               
                   
                   
                 successfully measured 
               
               
                 B 
                 rttMonLatestJitterStatsPacketLossSD 
                 The number of packets lost when sent from source 
               
               
                   
                   
                 to destination. 
               
               
                 C 
                 rttMonLatestJitterStatsPacketLossDS 
                 The number of packets lost when sent from 
               
               
                   
                   
                 destination to source 
               
               
                 D 
                 RttMonLatestJitterStatsPacketOutOfSequence 
                 The number of packets arrived out of sequence 
               
               
                 E 
                 rttMonLatestJitterStatsPacketMIA 
                 The number of packets that are lost for which we 
               
               
                   
                   
                 cannot determine the direction. 
               
               
                 F 
                 RttMonLatestJitterStatsPacketLateArrival 
                 The number of packets that arrived after the 
               
               
                   
                   
                 timeout 
               
               
                   
               
             
          
         
       
     
         [0022]    Moreover, in a particular embodiment, the metrics shown in Table 1 can be used to determine a packet delivery rate using the following formula: 
         [0000]        PDR =(Σ A* 100)/(Σ A+ΣB+ΣC+ΣD+ΣE+ΣF ) 
         [0023]    Returning to the description of  FIG. 2 , at block  212 , a latency value is calculated based on the total number of returned packets. In an illustrative embodiment, latency is the delay that the packets experience as they flow through the network, e.g., from the first edge switch  104  to the second edge switch  126  and back. Particularly, latency can include the time that packets spend in buffers and the propagation delay. In a particular embodiment, several metrics can be used by the SAA  124  ( FIG. 1 ) in order to determine latency. Table 2 shows several exemplary, non-limiting metrics that can be used by the SAA  124  ( FIG. 1 ) in order to determine the latency value. 
         [0000]    
       
         
               
             
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                 Exemplary, non-limiting metrics used by the SAA in order to determine a latency value. 
               
             
          
           
               
                 Measurement 
                 Description 
               
               
                   
               
               
                 rttMonLatestJitterStatsNumOfRTT 
                 The number of RTTs that are successfully measured 
               
               
                 rttMonLatestJitterStatsRTTSum 
                 The sum of RTTs that are successfully measured 
               
               
                 rttMonLatestJitterStatsRTTMin 
                 The minimum of RTTs that were successfully measured 
               
               
                 rttMonLatestJitterStatsRTTMax 
                 The maximum of RTTs that were successfully measured 
               
               
                 rttMonLatestJitterStatsRTTSum2Low 
                 The sum of squares of RTTs that are successfully measured 
               
               
                 rttMonLatestJitterStatsRTTSum2High 
                 (low/high order 32 bits) 
               
               
                 rttMonJitterStatsOWSumSD 
                 The sum of one way times from source to destination 
               
               
                 rttMonJitterStatsOWMinSD 
                 The minimum of all one way times from source to destination. 
               
               
                 rttMonJitterStatsOWMaxSD 
                 The maximum of all one way times from source to destination. 
               
               
                 rttMonJitterStatsOWSumDS 
                 The sum of one way times from destination to source. 
               
               
                 rttMonJitterStatsOWMinDS 
                 The minimum of all one way times from destination to source. 
               
               
                 rttMonJitterStatsOWMaxDS 
                 The maximum of all one way times from destination to source. 
               
               
                 rttMonJitterStatsNumOfOW 
                 The number of one way times that are successfully measured. 
               
               
                   
               
             
          
         
       
     
         [0024]    In a particular embodiment, in order to calculate latency in one direction, e.g., from the first edge switch  104  ( FIG. 1 ) to the second edge switch  126  ( FIG. 1 ), the RTT numbers can be divided by two. Further, rttMonLatestJitterStatsRTTSum2 Low and rttMonLatestJitterStatsRTTSum2High are optional metrics and can be collected if a calculation of a standard deviation is desired. 
         [0025]    Continuing the description of  FIG. 2 , at block  214 , a jitter value is calculated based on the total number of returned packets. In a particular embodiment, jitter is defined as the variance in the inter-packet arrival rate at the destination. In a particular embodiment, several metrics can be used by the SAA  124  ( FIG. 1 ) in order to determine latency. Table 3 shows several exemplary, non-limiting metrics that can be used by the SAA  124  ( FIG. 1 ) in order to determine the Jitter value. 
         [0000]    
       
         
               
             
               
               
             
           
               
                 TABLE 3 
               
             
             
               
                   
               
               
                 Exemplary, non-limiting metrics used by the SAA in order to determine a jitter value. 
               
             
          
           
               
                 Measurement 
                 Description 
               
               
                   
               
               
                 rttMonJitterStatsMinOfPositivesSD 
                 The minimum of absolute values of all positive jitter values from 
               
               
                   
                 packets sent from source to destination. 
               
               
                 rttMonJitterStatsMaxOfPositivesSD 
                 The maximum of absolute values of all positive jitter values from 
               
               
                   
                 packets sent from source to destination. 
               
               
                 rttMonJitterStatsNumOfPositivesSD 
                 The sum of number of all positive jitter values from packets sent 
               
               
                   
                 from source to destination. 
               
               
                 rttMonJitterStatsSumOfPositivesSD 
                 The sum of all positive jitter values from packets sent from source 
               
               
                   
                 to destination. 
               
               
                 rttMonJitterStatsSum2PositivesSDLow 
                 The sum of square of RTT&#39;s of all positive jitter values from 
               
               
                   
                 packets sent from source to destination (low order 32 bits). 
               
               
                 rttMonJitterStatsSum2PositivesSDHigh 
                 The sum of square of RTT&#39;s of all positive jitter values from 
               
               
                   
                 packets sent from source to destination (high order 32 bits). 
               
               
                 rttMonJitterStatsMinOfNegativesSD 
                 The minimum of all negative jitter values from packets sent from 
               
               
                   
                 source to destination. 
               
               
                 rttMonJitterStatsMaxOfNegativesSD 
                 The maximum of all negative jitter values from packets sent from 
               
               
                   
                 source to destination. 
               
               
                 rttMonJitterStatsNumOfNegativesSD 
                 The sum of number of all negative jitter values from packets sent 
               
               
                   
                 from source to destination. 
               
               
                 rttMonJitterStatsSumOfNegativesSD 
                 The sum of RTT&#39;s of all negative jitter values from packets sent 
               
               
                   
                 from source to destination. 
               
               
                 rttMonJitterStatsSum2NegativesSDLow 
                 The sum of square of RTT&#39;s of all negative jitter values from 
               
               
                   
                 packets sent from source to destination (low order 32 bits). 
               
               
                 rttMonJitterStatsSum2NegativesSDHigh 
                 The sum of square of RTT&#39;s of all negative jitter values from 
               
               
                   
                 packets sent from source to destination (high order 32 bits). 
               
               
                 rttMonJitterStatsMinOfPositivesDS 
                 The minimum of absolute values of all positive jitter values from 
               
               
                   
                 packets sent from destination to source. 
               
               
                 rttMonJitterStatsMaxOfPositivesDS 
                 The maximum of absolute values of all positive jitter values from 
               
               
                   
                 packets sent from destination to source. 
               
               
                 rttMonJitterStatsNumOfPositivesDS 
                 The sum of number of all positive jitter values from packets sent 
               
               
                   
                 from destination to source. 
               
               
                 rttMonJitterStatsSumOfPositivesDS 
                 The sum of all positive jitter values from packets sent from 
               
               
                   
                 destination to source. 
               
               
                 rttMonJitterStatsSum2PositivesDSLow 
                 The sum of square of RTT&#39;s of all positive jitter values from 
               
               
                   
                 packets sent from destination to source (low order 32 bits). 
               
               
                 rttMonJitterStatsSum2PositivesDSHigh 
                 The sum of square of RTT&#39;s of all positive jitter values from 
               
               
                   
                 packets sent from destination to source (high order 32 bits). 
               
               
                 rttMonJitterStatsMinOfNegativesDS 
                 The minimum of all negative jitter values from packets sent from 
               
               
                   
                 destination to source. 
               
               
                 rttMonJitterStatsMaxOfNegativesDS 
                 The maximum of all negative jitter values from packets sent from 
               
               
                   
                 destination to source. 
               
               
                 rttMonJitterStatsNumOfNegativesDS 
                 The sum of number of all negative jitter values from packets sent 
               
               
                   
                 from destination to source. 
               
               
                 rttMonJitterStatsSumOfNegativesDS 
                 The sum of RTT&#39;s of all negative jitter values from packets sent 
               
               
                   
                 from destination to source. 
               
               
                 rttMonJitterStatsSum2NegativesDSLow 
                 The sum of square of RTT&#39;s of all negative jitter values from 
               
               
                   
                 packets sent from destination to source (low order 32 bits). 
               
               
                 rttMonJitterStatsSum2NegativesDSHigh 
                 The sum of square of RTT&#39;s of all negative jitter values from 
               
               
                   
                 packets sent from destination to source (high order 32 bits). 
               
               
                   
               
             
          
         
       
     
         [0026]    In a particular embodiment, to calculate an average jitter value from a source to destination the following equation can be used: 
         [0000]      (rttMonJitterStatsSumOfPositivesSD+rttMonJitterStatsSumOfNegativesSD)/(rttMonJitterStatsNumOfPositivesSD+rttMonJitterStatsNumOfNegativesSD) 
         [0027]    Further, to calculate an average jitter value from a destination to a source, the following equation can be used: 
         [0000]      (rttMonJitterStatsSumOfPositivesDS+rttMonJitterStatsSumOfNegativesDS)/(rttMonJitterStatsNumOfPositivesDS+rttMonJifterStatsNumOfNegativesDS) 
         [0028]    Additionally, a maximum jitter value from a source to a destination is defined as the maximum between these values: rttMonJitterStatsNumOfNegativesSD and rttMonJitterStatsNumOfPositivesSD. 
         [0029]    In an illustrative embodiment, the metrics described herein are simple network management protocol management information base (SNMP MIB) objects that can be collected using an SNMP collection mechanism. 
         [0030]    Returning to  FIG. 2 , at block  216 , the packet delivery rate, the latency value, and the jitter value are reported to a user. In a particular embodiment, the packet delivery rate, the latency value, and the jitter value are reported to the user via a GUI  114 ,  136  ( FIG. 1 ) presented at one of the user computers  108 ,  130  ( FIG. 1 ) and the method ends at state  218 . 
         [0031]    In a particular embodiment, the metrics described above and collected by the SAA  124  ( FIG. 1 ) can be used to enhance or optimize the switched metro Ethernet network ( FIG. 1 ). For example, if a user notices that a packet delivery rate between two locations is not at or above a stated value in a service level agreement, the user can contact the service provider who can verify the packet delivery rate and then, determine the cause of the problem and correct the problem, if possible. 
         [0032]    Referring now to  FIG. 3 , an exemplary, non-limiting embodiment of a graphical user interface (GUI) is shown and is generally designated  300 . As shown, the GUI  300  includes a graphical representation of a user&#39;s network  302  showing a core network  304  and different CPE  306  and their locations. Further, the GUI  300  includes an information window  308  that provides information relevant to the CPE  306  when each is selected by a user.  FIG. 3  also shows that the GUI  300  includes an information table  310  that provides network trouble information, e.g., device type, problem severity, reason, and date/time. 
         [0033]      FIG. 4  shows another exemplary, non-limiting embodiment of a GUI, designated  400 . The GUI  400  shown in  FIG. 4  includes a matrix  402  of information blocks  404 . A user can use the GUI  400  to determine a jitter value, a latency value, and a packet delivery rate between two CPEs within a switched metro Ethernet network. Further, the GUI  400  can indicate a level of service provided for in a service level agreement. In a particular embodiment, the GUI  400  can indicate the level of service by providing a certain color within the information blocks  404 , e.g., bronze, silver, or gold. 
         [0034]    With the configuration of structure described above, the system and method for collecting and presenting service level agreement metrics disclosed herein provides the capability for determining jitter, latency, and packet delivery rate between two edge switches within a switched metro Ethernet. Each edge switch is coupled to a CPE and each edge switch represents the outer boundary of the portion of a switched metro Ethernet that is under the control of a service provider. As such, the system and method can provide a close approximation of the jitter, latency, and packet delivery rate between the two CPEs coupled to the edge switches. Further, a GUI is provided for presenting the jitter, latency, and packet delivery rate information to a user via a computer. Using the information presented via the GUI, a user can verify that the terms of a service level agreement are being met. 
         [0035]    The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.