Method for determining VoIP gateway performance and SLAs based upon path measurements

Information

  • Patent Grant
  • 8055755
  • Patent Number
    8,055,755
  • Date Filed
    Thursday, February 5, 2004
    20 years ago
  • Date Issued
    Tuesday, November 8, 2011
    13 years ago
Abstract
A system and method make quality measurements in a network to determine if a Service Level Agreement is breached. The system includes a plurality of routers for routing traffic through the network, means for taking measurements on a path between a first router and a second router, and means for charging at least one of the plurality of routers when data related to the measurements falls below a target value.
Description
BACKGROUND OF THE INVENTION

Voice-Over-Internet Protocol (VoIP) is attracting a multitude of users because VoIP offers tremendous cost savings relative to a Public Switching Telephone Network (PSTN). For instance, users may bypass long-distance carriers with per minute charges in lieu of transmitting voice calls over the Internet for a flat monthly Internet access fee.


Internet telephony within an intranet enables users to reduce costs by eliminating long-distance charges between sites included in the intranet. An intranet is a local-area network which may or may not be connected to the Internet, but which has some similar functions. The intranet is used for connectivity within, for example, a company. Some companies set up World Wide Web servers on their own internal networks so employees have access to the organization's Web documents. Users may make point-to-point calls via gateway servers attached to a local-area network. For example, a user may want to make a point-to-point call to another user in another office included in the same intranet. The calling party will dial an extension to connect with the gateway server, which is equipped with a telephony board and compression-conversion software; the server configures a private branch exchange (PBX) to digitize the upcoming call. The calling party then dials the number of the called party and the gateway server transmits the call over the IP-based wide-area network to the gateway to the destination office. The destination gateway converts the digital signal back to analog format and delivers the call to the called party.


Although progressing rapidly, VoIP continues to exhibit decreased reliability and sound quality when compared to the PSTN, due primarily to limitations both in Internet bandwidth, current compression technology, delay, jitter, and packet loss. Because the Internet is a packet-switched network, the individual packets of each voice signal may travel over separate network paths for reassembly in the proper sequence at the destination. Although transmitting each packet over a separate path creates a high efficiency for network resources over the PSTN, the chances for packet loss also increase. Packet loss shows up in the form of gaps or periods of silence in a conversation, leading to a clipped-speech effect that is unsatisfactory for most users and unacceptable in business communications. As a result, most corporations looking to reduce communication costs confine their Internet-telephony applications to their intranets. With more predictable bandwidth available than the public Internet, intranets can support full-duplex, real-time voice communications. However, restricting Internet telephony to company intranets does not allow optimum cost saving benefits or flexibility when compared to Internet-telephony over the public Internet.


To date, most developers of Internet-telephony software, as well as vendors of gateway servers, have been using a variety of speech-compression protocols. The use of various speech-coding algorithms, with different bit rates and mechanisms for reconstructing voice packets and handling delays, produces varying levels of intelligibility and fidelity in sound transmitted over the public Internet.


An evolving solution to the varying levels of quality of sound, etc. transmitted over the Internet is to tier the public Internet. Users of the public Internet will then be required to pay for the specific service levels or Quality of Service (QoS) they require. A Service Level Agreement (SLA) is a contract between a carrier and a customer that defines the terms of the carrier's responsibility to the customer and the type and extent of remuneration if those responsibilities are not met. Reports on the QoS based on either per-call measurements or per-path measurements are a tool for determining if carrier responsibilities are met and if not, any rebate due to the customer. Per-call measurements are capable of illustrating voice quality on a call-by-call basis, which more closely reflects the customer's calling experience. However, in many cases, VoIP gateways or IP-PBXs are managed by the customer and therefore per-call information is not available. For instance, when a customer manages the VoIP gateways, the customer security restrictions or technical constraints may prevent the dissemination of per-call information.


Currently, one solution requires the installation of additional hardware at each customer site to take performance measurements. This solution is not scalable and due to the excessive hardware costs, additional cost of maintaining equipment, and additional network connectivity required to communicate and support the additional hardware, most cost-conscious users would not implement the additional hardware.


Therefore, there is a need for a system and method for making path-based VoIP quality measurements without deploying additional hardware at each customer site.


SUMMARY OF THE INVENTION

The present invention relates to a method and system for making quality measurements in a VoIP network. More particularly, one aspect of the present invention relates to a system for making quality measurements in a network. The system includes a plurality of routers for routing traffic through the network, means for taking measurements on a path between a first router and a second router, and means for charging at least one of the plurality of routers when data related to the measurements falls below a target value.


In another aspect, the present invention relates to a method of making quality measurements in a network. The term “R-Factor” as utilized herein refers to an objective measure of voice quality that, for example, accounts for equipment impairments, latency, jitter, and packet loss such as is defined in ITU Standard G.107. The method includes the steps of tracking at least one path that exhibits an R-Factor below a target threshold, tracking a start time indicating when the R-Factor of a particular path falls below the target value, and tracking an end time indicating when the R-Factor of the particular path rises above the target value. The method also includes the steps of determining if an overlap exists between the start time and the end time for multiple paths connecting to a particular router, charging the particular router with one degradation if the overlap exists, and charging the particular router with each degradation if the overlap does not exist.





BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and apparatus of the present invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:



FIG. 1 is a block diagram of an exemplary VoIP network that may be utilized in accordance with an embodiment of the present invention;



FIG. 2 is a block diagram of an exemplary VoIP network illustrating multiple routers;



FIG. 3 is a method for determining the occurrence of degradations in a VoIP network; and



FIG. 4 is a diagram illustrating a matrix of set and clear events in accordance with an embodiment of the present invention.





DETAILED DESCRIPTION OF THE INVENTION

Many VoIP customers require SLA support which is achieved by evaluating the quality of calls placed on the network. Most SLAs are related to router performance, not path performance and therefore, embodiments of the present invention translate measurements of the performance of the path between routers into measurements of the performance of the routers. The router performance measurements, in this example, the R-Factor, are used to determine if the QoS guaranteed in the SLA is maintained on a per-site basis. The R-Factor is monitored between designated sites throughout a predetermined amount of time (e.g., a week, a month, etc.) and the QoS guaranteed by the SLA is met if the R-Factor is maintained above a predetermined target value.


Referring now to FIG. 1, a block diagram of an exemplary VoIP network that may be utilized in accordance with an embodiment of the present invention is illustrated. The VoIP network 100 routes calls from a calling party 102A through a Public Switched Telephone Network (PSTN) 104A to a gateway 106A. As previously mentioned, the gateway 106A may be managed by the customer and therefore, no call detail information is available through the gateway 106A. The call passes through an Ethernet switch 108 to an IP router 110A that may be operated by the supplier of the VoIP service. The call is routed through the Internet 112 to another IP router 110B. The call is then routed through an Ethernet switch 108B, gateway 106B, and PSTN 104B, to the called party 102B. Embodiments of the present invention are utilized to measure the performance of the path between, for example, IP routers 110A and 110B to determine if the QoS guaranteed is experienced by the calling party 102A and the called party 102B.


Referring now to FIG. 2, a block diagram of an exemplary VoIP network 100 illustrating a plurality of IP routers 110 is illustrated. Embodiments of the present invention monitor the paths between the customer sites. Therefore, if a problem occurs in a path between routers 110, the particular site that the problem should be attributed to is determined. As evidenced by router A, each router may be a connection point for multiple paths. Therefore, multiple paths may be monitored for a given router 110 such as router A 110A. For router A 110A, the paths between router A 110A and router E 110E, router D110D, and router C 110C are monitored.


When the R-Factor falls below the target value for a specific path, a degradation is charged to the router 110 at each end of the path. For example, if the path between router A 110A and router C 110C has degraded below the target value, then a degradation is charged to router A 110A and to router C 110C. However, when a router 110 that is a connection point for multiple paths fails, several paths may degrade below the target value. However, in accordance with an aspect of the present invention, if a router 110 that is a connection point for multiple paths fails, the router 110 is charged with one degradation despite the fact that multiple paths may fall below the target value. This aspect prevents double counting of a single failure event. A server 114 responsible for performing path measurements may perform the fore-mentioned calculations, or alternately two separate servers or a separate dedicated device could be utilized.


Referring now to FIG. 3, a method 300 of implementing an embodiment of the present invention is illustrated. At step 302, at least one path that is below a target value is tracked. At step 304, the start and end times that the path is below the target value is tracked. At step 306 it is determined whether an overlap in the start and end times for a particular router 110 exists. If an overlap exists, at step 308 the particular router 110 is charged for one degradation. If an overlap does not exist, at step 310 the particular router 110 is charged for each degradation occurrence. As evidenced by the exemplary method 300, if a router 110 fails and affects the performance of multiple paths, the start and end times of the failure of each path are tracked. Because the start and end times of each failure will overlap to some extent when the cause is a single failing router 110, the failing router 110 is charged for one degradation despite the fact that multiple degradations are tracked along various paths connected to the failing router. For example, if router 110A is not functioning properly, a below target R-Factor may be seen in paths between routers A 110A and router C 110C, router D 110, and router E 110E. In this case, router A 110A is charged once, not three times, for falling below the target value.


Referring now to FIG. 4, an embodiment of the present invention is illustrated as a matrix 400 based on source and destination routers 110. A router pair, such as router A 110A and router B 110B, may experience a problem forcing the R-Factor below the target value. If the R-Factor falls below the target value, then a SET event 402 is written into the matrix 400 at the location of the failure, for example A, B and B, A. When the router pair resumes normal functionality and the R-Factor is restored to a value above the target value, then a CLEAR event 404 is written into the matrix 400 at the same location, in this example, location A, B and B, A.


The matrix 400 may be edited by a manual mechanism (preferably a web interface) that allows the supplier to indicate a site where a problem occurs that results in a breach of the SLA. In addition, the manual mechanism may also allow the supplier to indicate the nature of the problem (i.e., power failure), a start time indicating when the R-Factor falls below the target value, an end time indicating when the R-Factor rises above the target value, and an identifier (i.e., name, initials, etc.) of the individual that reports the problem. The nature of the problem, as well as any other information may be manually typed in or entered with a drop down menu or other similar data entry means.


When SET events or CLEAR events occur, they may be entered into the matrix 400 in GMT time or the local time where the event occurs. The elapsed time of the SLA breach begins when the first SET event occurs for a particular site, and the elapsed time ends when all the events are CLEARED. It is possible that there are multiple SET events which occur at overlapping times. For the purposes of determining the elapsed time of the SLA breach, the elapsed time begins when the first SET event happens, and ends when the last SET event for that site has CLEARED.


A set of reports may be generated based on the events logged into the matrix 400. For example, an exclusion period report may be generated that lists each site for each customer. The exclusion period report may indicate time periods where the R-Factor is below the target value (if any) along with a reason code that indicates the reason for the R-Factor falling below the target value. The matrix may also be utilized to generate an SLA Report: The SLA report lists each site for each customer and indicates the measured R-Factor for a predetermined time period (e.g., a month), adjusted by any time periods where the R-Factor falls below the target value. The percentage of the month that the measured R-Factor for the site was greater than or equal to the target value may also be shown in the SLA report (the elapsed time that no SET events occur for that site). An R-Factor report may be generated that lists the paths measured for each customer. The R-Factor report may indicate the percentage of time that the R-Factor is greater than or equal to the target value. The reports may be available for current month-to-date, as well as monthly reports for a prior predetermined amount of time (e.g., 3 months).


Although the above embodiments have been described with reference to intranet/Internet, the present invention may be equally applicable to other environments such as peer-to-peer Internet, solely intranet environments, etc.


The previous description is of various embodiments for implementing the invention, and the scope of the invention should not necessarily be limited solely by these descriptions. The scope of the present invention is instead defined by the following claims.

Claims
  • 1. A system for making quality measurements in a network having a plurality of routers for routing traffic through the network, the system comprising: a hardware server, wherein the hardware server is configured to: take measurements on each path of all paths within the network, wherein the each path is between a pair of routers from the plurality of routers;determine paths of the all paths within the network that have data related to the measurements that falls below a target value;determine a particular router of the plurality of routers that is associated with the paths that have data related to the measurements that falls below the target value;determine if the particular router is a connection point for two or more of the paths that have data related to the measurements that falls below the target value; andcharge, after it is determined that the particular router is the connection point for two or more of the paths that have data related to the measurements that falls below the target value, a single degradation against the particular router of the plurality of routers even though the particular router is responsible for multiple path failures and tracking a number of degradations for each one of the plurality of routers in the network over a period of time.
  • 2. The system of claim 1, wherein the network is a voice over internet protocol network.
  • 3. The system of claim 1, wherein the data related to the measurements is an R-Factor.
  • 4. The system of claim 1, further comprising a manual mechanism for entering information into a matrix.
  • 5. The system of claim 4, wherein the information comprises an indication of a nature of the problem.
  • 6. The system of claim 4, wherein the matrix includes a matrix of source routers and destination routers.
  • 7. The system of claim 6, wherein the matrix includes set events and clear events for one of the source routers and one of the destination routers.
  • 8. A method of making quality measurements in a network, the method comprising: monitoring an R-Factor for each path of all paths within the network, wherein the each path is between a pair of routers;tracking a path that exhibits the R-Factor below a target value;tracking a start time indicating when the R-Factor of the path falls below the target value;tracking an end time indicating when the R-Factor of the path rises above the target value;determining if an overlap exists between the start time and the end time for multiple paths connecting to a particular router;charging the particular router connected to the multiple paths with one degradation if the overlap exists;charging the particular router with each degradation connected to the multiple paths if the overlap does not exist; andtracking a number of degradations for each router of all routers in the network over a period of time.
  • 9. The method of claim 8, wherein the target value is 70.
  • 10. The method of claim 8, further comprising entering the start time as a set event in a matrix.
  • 11. The method of claim 8, further comprising entering the end time as a clear event in a matrix.
  • 12. A hardware server for making quality measurements in a network comprising the hardware server configured to: take measurements on each path of all paths within the network, wherein the each path is between a pair of routers from the plurality of routers;determine paths of the all paths within the network that have data related to the measurements that falls below a target value;determine a particular router of the plurality of routers that is associated with the paths that have data related to the measurements that falls below the target value;determine if the particular router is a connection point for two or more of the paths that have data related to the measurements that falls below the target value; andcharge, after it is determined that the particular router is the connection point for two or more of the paths that have data related to the measurements that falls below the target value, a single degradation against the particular router of the plurality of routers even though the particular router is responsible for multiple path failures and tracking a number of degradations for each one of the plurality of routers in the network over a period of time.
  • 13. The hardware server of claim 12, wherein the network is a voice over internet protocol network.
  • 14. The hardware server of claim 12, wherein the data related to the measurements is an R-Factor.
  • 15. The hardware server of claim 12, further comprising a manual mechanism for entering information into a matrix.
  • 16. The hardware server of claim 15, wherein the information comprises an indication of a site where a problem occurs.
  • 17. The hardware server of claim 15, where the information further comprises an indication of a nature of the problem.
  • 18. The hardware server of claim 15, wherein the matrix includes a matrix of source routers and destination routers.
  • 19. The hardware server of claim 18, wherein the matrix includes set events and clear events for one of the source routers and one of the destination routers.
  • 20. The hardware server of claim 15, wherein the information comprises an identifier of an individual who reports the problem.
US Referenced Citations (68)
Number Name Date Kind
5631898 Dent May 1997 A
5963551 Minko Oct 1999 A
5973642 Li et al. Oct 1999 A
5974237 Shurmer et al. Oct 1999 A
6041041 Ramanathan et al. Mar 2000 A
6496140 Alastalo Dec 2002 B1
6625115 Ikeda et al. Sep 2003 B1
6640248 Jorgensen Oct 2003 B1
6650617 Belotserkovsky et al. Nov 2003 B1
6711134 Wichelman et al. Mar 2004 B1
6748433 Yaakov Jun 2004 B1
6765904 Anandakumar et al. Jul 2004 B1
6778491 Fourcand et al. Aug 2004 B1
6785292 Vogel Aug 2004 B1
6807156 Veres et al. Oct 2004 B1
6813241 Wang et al. Nov 2004 B1
6823381 Harper Nov 2004 B1
6853388 Ueno et al. Feb 2005 B2
6904017 Meempat et al. Jun 2005 B1
6907006 Sakamoto et al. Jun 2005 B1
6912258 Birru Jun 2005 B2
6934258 Smith et al. Aug 2005 B1
6965597 Conway Nov 2005 B1
6980737 Anslow et al. Dec 2005 B1
7020621 Feria et al. Mar 2006 B1
7023811 Pinto Apr 2006 B2
7042880 Voit et al. May 2006 B1
7050401 Wichelman et al. May 2006 B1
7068684 Suder et al. Jun 2006 B1
7075932 Matsuhira et al. Jul 2006 B2
7082463 Bradley et al. Jul 2006 B1
7085230 Hardy Aug 2006 B2
7099280 Shaffer et al. Aug 2006 B1
7099281 Conway Aug 2006 B1
7099282 Hardy Aug 2006 B1
7111074 Basturk Sep 2006 B2
7120122 Starr et al. Oct 2006 B1
7120139 Kung et al. Oct 2006 B1
7149917 Huang et al. Dec 2006 B2
7151769 Stanforth et al. Dec 2006 B2
7164649 Walton et al. Jan 2007 B2
7167443 Dantu et al. Jan 2007 B1
7167860 Black et al. Jan 2007 B1
7190676 Anderson, Sr. Mar 2007 B2
7191229 Edmondson Mar 2007 B2
7209473 Mohaban et al. Apr 2007 B1
7222190 Klinker et al. May 2007 B2
7245609 D'Eletto Jul 2007 B2
7251218 Jorgensen Jul 2007 B2
7269157 Klinker et al. Sep 2007 B2
7283519 Girard Oct 2007 B2
7315511 Morita et al. Jan 2008 B2
7324439 Loo Jan 2008 B2
7336613 Lloyd et al. Feb 2008 B2
7376132 Conway May 2008 B2
7394760 Nucci et al. Jul 2008 B1
7406539 Baldonado et al. Jul 2008 B2
7420960 Somekh et al. Sep 2008 B2
7430164 Bare Sep 2008 B2
7496046 Kanazawa et al. Feb 2009 B2
7586899 Mohaban et al. Sep 2009 B1
7719962 Grover et al. May 2010 B2
20020152185 Satish Jamadagni Oct 2002 A1
20030093513 Hicks May 2003 A1
20030133443 Klinker et al. Jul 2003 A1
20040252698 Anschutz et al. Dec 2004 A1
20050052996 Houck et al. Mar 2005 A1
20060182034 Klinker et al. Aug 2006 A1
Foreign Referenced Citations (1)
Number Date Country
WO 0079730 Dec 2000 WO
Related Publications (1)
Number Date Country
20050198266 A1 Sep 2005 US