CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation application of pending U.S. application Ser. No. 12/109,743, filed on Apr. 25, 2008, the contents of which are expressly incorporated by reference herein in its entirety.
The present invention relates generally to communications networks and, more particularly, to a method and apparatus for providing a measurement of performance for a packet network, e.g., a Local Area Network (LAN), a Virtual Private Network (VPN), an Internet Protocol (IP) network, and the like.
BACKGROUND OF THE INVENTION
A customer may request a network service provider to guarantee the performance of one or more network services. For example, the service provider and the customer may detail the level of network performance for a service to be received by the customer in a Service Level Agreement (SLA). For example, a SLA may detail transport level service assurances for a service using performance parameters such as: frequency of loss events, duration of loss events, packet loss rates, delay, delay variation, etc. Failing to meet an SLA guarantee may result in a service disruption for the customer. In addition, the failure to meet an SLA guarantee may result in a loss of revenue for the customer and/or the network service provider.
The service provider may perform compliance monitoring to ensure that SLA targets are met. The compliance monitoring may be performed passively by collecting network data or actively by injecting measurement probes. Passive measurements are performed on a link-by-link basis and are not well suited to end-to-end performance targets. Current active measurements are focused on assessing a specific parameter (e.g., delay or loss), and are often not sufficiently accurate to determine whether an SLA has been violated.
SUMMARY OF THE INVENTION
In one embodiment, the present invention discloses a method and apparatus for providing a measurement of performance for a network. For example, the method sends a plurality of multi-objective probes on a path, and receives one or more of said plurality of multi-objective probes for the path. The method then determines a plurality of performance measurements.
BRIEF DESCRIPTION OF THE DRAWINGS
The teaching of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates an illustrative network related to the current invention;
FIG. 2 illustrates an illustrative network of the current invention for providing a measurement of performance for a network;
FIG. 3 illustrates an illustrative architecture of a multi-objective probe scheduler;
FIG. 4 illustrates a flowchart of a method for providing a measurement of performance for a network; and
FIG. 5 illustrates a high level block diagram of a general purpose computer suitable for use in performing the functions described herein.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
The present invention a method and apparatus for providing a measurement of performance for a packet network, e.g., a Local Area Network (LAN), a Virtual Private Network (VPN), an Internet Protocol (IP) network, and the like. For example, the present invention discloses a method for providing SLA compliance monitoring.
FIG. 1 illustrates an exemplary packet network 100 related to the current invention. Exemplary packet networks include Internet protocol (IP) networks, Asynchronous Transfer Mode (ATM) networks, frame-relay networks, and the like. An IP network is broadly defined as a network that uses Internet Protocol such as IPv4 or IPv6 and the like to exchange data packets. It should be noted that the present invention is not limited to a particular type of network.
In one embodiment, the packet network may comprise a plurality of endpoint devices 102-104 configured for communication with the core packet network 110 (e.g., an IP based core backbone network supported by a service provider) via an access network 101. Similarly, a plurality of endpoint devices 105-107 are configured for communication with the core packet network 110 via an access network 108. The network elements (NEs) 109 and 111 may serve as gateway servers or edge routers for the network 110.
The endpoint devices 102-107 may comprise customer endpoint devices such as personal computers, laptop computers, Personal Digital Assistants (PDAs), servers, routers, and the like. The access networks 101 and 108 serve as a means to establish a connection between the endpoint devices 102-107 and the NEs 109 and 111 of the IP/MPLS core network 110. The access networks 101 and 108 may each comprise a Digital Subscriber Line (DSL) network, a broadband cable access network, a Local Area Network (LAN), a Wireless Access Network (WAN), and the like.
The access networks 101 and 108 may be either directly connected to NEs 109 and 111 of the IP/MPLS core network 110 or through an Asynchronous Transfer Mode (ATM) and/or Frame Relay (FR) switch network 130. If the connection is through the ATM/FR network 130, the packets from customer endpoint devices 102-104 (traveling towards the IP/MPLS core network 110) traverse the access network 101 and the ATM/FR switch network 130 and reach the border element 109.
The ATM/FR network 130 may contain Layer 2 switches functioning as Provider Edge Routers (PERs) and/or Provider Routers (PRs). The PERs may also contain an additional Route Processing Module (RPM) that converts Layer 2 frames to Layer 3 Internet Protocol (IP) frames. An RPM enables the transfer of packets from a Layer 2 Permanent Virtual Connection (PVC) circuit to an IP network which is connectionless.
Some NEs (e.g., NEs 109 and 111) reside at the edge of the core infrastructure and interface with customer endpoints over various types of access networks. An NE that resides at the edge of a core infrastructure is typically implemented as an edge router, a media gateway, a border element, a firewall, a switch, and the like. An NE may also reside within the network (e.g., NEs 118-120) and may be used as a mail server, honeypot, a router, or like device. The IP/MPLS core network 110 may also comprise an application server 112 that contains a database 115. The application server 112 may comprise any server or computer that is well known in the art, and the database 115 may be any type of electronic collection of data that is also well known in the art. Those skilled in the art will realize that although only six endpoint devices, two access networks, five network elements, one application server are depicted in FIG. 1, the communication network 100 may be expanded by including any number of additional endpoint devices, access networks, network elements, application servers without altering the scope of the present invention.
The above IP network is described to provide an illustrative environment in which packets for voice and data services are transmitted on networks. In one embodiment, the network service provider and the customer may detail the network performance level for a network used to transport packets for the customer in a Service Level Agreement (SLA). For example, the SLA may detail transport level service assurances using network performance parameters. For example, the SLA may provide minimum performance targets for frequency of loss events, duration of loss events, packet loss rates, delay, delay variation, etc.
The network service provider may then perform compliance monitoring to determine if the performance parameters are meeting the minimum performance targets. The compliance monitoring may be based on passive or active measurements. For example, a passive measurement may be performed by collecting data from one or more counters (e.g., Simple Network Management Protocol (SNMP) counters) located within the network. However, the packets from and/or to the customer may traverse multiple links and/or networks. Hence, the passive measurement is insufficient for estimating the performance level experienced by the customer traffic on an end-to-end basis.
It should be noted that although the present invention is disclosed in the context of a single service provider, the present invention is not so limited. Namely, the present invention can be adapted to the end-to-end monitoring through multiple networks owned by different service providers.
An active measurement may be performed by injecting one or more measurement probes. A measurement probe refers to one or more packets sent on an end-to-end path. However, current active measurement probes are limited in focus to estimation and optimization of a single performance parameter. For example, one or more packets may be injected to measure the end-to-end delay for a customer traffic traversing a network. Furthermore, current active measurements make assumptions about underlying network conditions and are not suitable for realistic networks with abrupt changes.
In one embodiment, the present invention broadly discloses a method and apparatus for providing a measurement of performance for a network using a multi-objective probe. To better understand the present invention, the following networking terminology will first be provided:
Packet loss rate;
A probe refers to one or more packets sent on an end-to-end path. For example, a delay measurement probe may be sent from a source to a destination to determine the delay being experienced by packets in traversing the network from the source to the destination. It should be noted that various systems can be used to send or receive probes, e.g., general purpose computers or NEs (e.g., switches, routers, and the like).
Multi-objective probing refers to simultaneous estimation of multiple performance metrics using a single probing stream of packets.
Packet loss rate refers to the total number of lost packets divided by the total number of transmitted packets on a given path (consisting of one or more links) over a specified time interval. For example, if one packet is lost out of 1000 packets sent in one second, the packet loss rate is 0.001 per second.
Delay refers to the duration of time between when a packet is sent by an origination device and when the packet is received by a destination device. For example, a delay may be the time a packet takes to travel from the origination device to the destination device.
Delay Variation refers to a measurement of the variation of delay experienced by multiple packets. For example, if two packets are sent one second apart and they reach the destination at one second apart, then the delay variation is zero. However, if the packets are received 1.1 seconds apart (in the order sent), then there is a delay variation in the network. Delay variation is sometimes refers to as a jitter.
Note that an SLA may specify availability as a performance parameter. Availability can be loosely defined as the capability of the network to successfully transmit any end-to-end probe over an interval of time. Thus, availability may be considered as a special case of a loss rate. The current invention addresses availability as a special case of a loss rate and as such, it is not discussed separately.
FIG. 2 illustrates an illustrative network 200 of the current invention for providing a measurement of performance for a network. For example, the customer endpoint devices 102 and 105 are communicating via the IP/MPLS core network 110. The IP/MPLS core network 110 may contain various routers 201-206 that support the communications between customer endpoint devices 102 and 105. FIG. 2 broadly shows that packets associated with the communications between customer endpoint devices 102 and 105 may traverse over different paths or links within the network 110.
In one embodiment, the network service provider implements the current invention for providing a measurement of performance parameters in an application server 212. The application server 212 implements one or more performance measurement algorithms for various network performance parameters, e.g., delay, delay variation, packet loss rate, and the like.
FIG. 3 illustrates an illustrative architecture 300 of a multi-objective probe scheduler. In one embodiment, one or more discrete-time performance measurement algorithms operating at the same time may schedule measurement probes to be sent at the same time slot. The requests may be accommodated by tagging probes according to one or more relevant estimator. Thus, a single probe stream 306 may be used for concurrent estimation of performance parameters such as delay, delay variation, packet loss, and other quantities, thereby reducing the impact of measurement traffic on a network.
In one embodiment, the discrete-time scheduler 304 provides callback and probe scheduling mechanisms. Probe modules 301, 302 and 303 provide various path-oriented performance measurement methods for delay, delay variation and packet loss, respectively. These path-oriented performance measurement methods will be described further below. The probe scheduler 304 interacts with network elements for sending and receiving probes via the network interface 305, i.e., generating a single probe stream 306 for measuring delay, delay variation and packet loss. This architecture allows for logical separation among multiple, simultaneously operating performance measurement methods and for optimizations of network bandwidth.
In one embodiment, a multi-objective probe may include one or more of: a time stamp indicating when the probe was sent, a time stamp indicating when the probe is received, one or more markers to indicate the parameter to be measured, size of the probe (e.g., the number of packets in each probe), the time spacing of the packets within a probe, and/or the sequence number within a probe.
In one embodiment, the current invention provides a measurement of delay for a network. For example, the measurement of delay may be performed to determine various statistical values for delay parameters such as mean delay, median delay, or high quantiles of the delay distribution such as 95th percentile, 99th percentile, and so on.
In one embodiment, the current method provides an estimate of mean delay along a path. For example, the method first models the delay as a continuous function ƒ(t) whose independent variable is the time that a probe packet is sent and the dependent variable is measured as a one-way delay. Based on this model, a method to provide the mean delay estimation is to use Simpson\'s method for numerical integration. The Simpson\'s formulation is straightforward: once the domain of integration is partitioned, the integral of the function ƒ over the subinterval Ij is estimated by