|Publication number||US7209447 B1|
|Application number||US 09/615,287|
|Publication date||Apr 24, 2007|
|Filing date||Jul 13, 2000|
|Priority date||Jul 13, 2000|
|Publication number||09615287, 615287, US 7209447 B1, US 7209447B1, US-B1-7209447, US7209447 B1, US7209447B1|
|Inventors||Anita Brady Marsh, Dale Alan Scholtens|
|Original Assignee||Tellabs Operations, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (16), Referenced by (12), Classifications (15), Legal Events (5)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates to communication networks. In particular, this invention relates to packetized data communication networks.
For years, the public switched telephone network of the U.S. has provided reliable two-way telephone service. This network is made up of various types of well-known switching systems and well-known physical media over which are carried electrical signals representing voice-frequency information.
Those skilled in the art know that switching systems of the public switched telephone network synchronously route electrical signals in the form of bi-polar, binary-valued pulses that represent samples of voice frequency information. Telephone conversations, which by their nature require immediate transmission, are adequately carried over synchronous networks, which, by definition, carry data at a fixed rate. In addition to carrying digitized voice communications however, the public switched telephone network also carries data of the kind that is created and used by computers.
While the synchronous public switched telephone network provides very reliable communications for both voice and data, there are now several different kinds of asynchronous data networks that are intended to carry primarily data (not necessarily representing speech) but which are now being considered to carry telephone calls much as the public switched telephone network does. Some of these data networks include Ethernet networks, asynchronous transfer mode (or “ATM”) networks, Internet protocol (or “IP”) networks and frame relay networks, among others. They all share a few characteristics: data is sent in discrete bundles or packets and the packets are sent asynchronously as opposed to synchronously.
In order to carry acceptable voice quality telephone calls or voice traffic, which require near-zero latency variation between the voice sample transmissions, an asynchronous network must be set up so as to allow digitized voice samples to be reliably and repeatedly routed through the network and delivered to a destination on time so that a person's utterances that are reconstructed from recovered data packets is at least a reasonable facsimile of the speaker's actual voice. Inasmuch as those skilled in the art know that any band-limited time-varying signal that is sampled at a sufficiently high rate can be perfectly reconstructed from the samples but only if all of the samples are delivered and delivered on time and in the proper sequential order, dropping or losing data samples that represent an analog signal will degrade the reproduction quality of digitized signal. When voice samples are carried over an asynchronous network, even delaying a voice sample will degrade signal reproduction. As voice samples are delayed or lost on an asynchronous data network, reproduction quality gets increasingly worse. A method and apparatus by which the transmission quality of service through an asynchronous network might be measured might be a valuable tool in insuring voice quality when an asynchronous network is used to carry telephone traffic.
In addition to carrying data representing internet web page content, e-mail and other information files, asynchronous data networks can be used to carry voice information (e.g. telephone conversations). When an asynchronous data network is used to carry telephone traffic or voice signals, data packets representing speech or voice information can be unacceptably delayed and sometimes lost, significantly degrading voice reproduction quality.
A method and apparatus for measuring packetized-data transmission quality (also known as transmission quality of service or “QoS”) packet-based network determines when transmission quality has degraded to a point where a new pathway through the network is required. When network transmission quality, as measured by lost, missing or delayed packets, exceeds a threshold, subsequent data packets or subsequent telephone calls can be routed over a different pathway through the network, one preferably having better data transfer capability.
In the preferred embodiment, data network transmission quality is determined by counting voice data packets travelling over a pathway during a predetermined time interval. Because data packets representing speech (like in a telephone call) must be received substantially synchronously in order to preserve voice reproduction quality, when the voice data packet reception rate or count value over a predetermined time period varies from a predetermined expectation, call already in progress or subsequent calls can be routed through the network over another pathway.
With respect to
As shown in
Switching system 102 could be any of a number of types of asynchronous switching systems. In the preferred embodiment, switching system 102 is an internet protocol (IP)switch but may also be an asynchronous transfer mode(ATM) switching system or other system sending packetized data such as an Ethernet network. The switching system 102 might also be a frame relay switching system or perhaps an Ethernet hub.
When the data packets 106, 108, 110, etc. arrive at the switching system 102 at predicted intervals, t as shown, they are preferably re-routed by the switching system 102 onto an out-bound data channel or media 103 for subsequent routing to another switch. Eventually the data packets are used to recreate the original voice-frequency signal which the data packets are encoded to represent samples of.
Carrying speech signals for a telephone call or other voice transmission through an asynchronous network (so called “voice over IP” or “VoIP” networking) is problematic however when the voice samples represented by the data packets 106, 108, 110, 112 etc. do not arrive at the switching system synchronously or at predicted or expected intervals as shown in
As can happen in an asynchronous data network, such as a VoIP network, the third voice packet 110 (as shown in
The fifth data packet (represented by reference numeral 114) is also delivered late with respect to voice packet no. 4 by an amount equal to t+Δt1. Voice samples 6, 7 and 8 arrive ahead of schedule by an amount equal to t−Δt3. (An alternative way of viewing the arrival time of samples 6, 7, and 8 is that all of samples 5, 6, 7, and 8 were delayed somewhere and that thereafter they are bunched together when they arrive at the switching system by a time t−Δ3.”)
When data cells (also known as packets) that speech arrive at irregular intervals, the delivery time irregularity can sometimes be hidden by a playout buffer 150 within the switch 102. If the data cells arrive at a sufficiently high rate, (perhaps by over-sampling the original speech signal) data cells stored in the playout buffer can be played out from the play out buffer (also known as a PDU buffer) 150 at a substantially constant rate, until the buffer is overfilled creating what it known in the art as a buffer overrun. When a buffer overrun occurs, buffer storage space is exhausted; data packets that arrive and for which there is no storage available in the buffer are discarded (lost) and not sent on to be used in reconstructing the original speech signal. At least two ways of dealing with a buffer overrun is to either flush the buffer completely or to flush the buffer half-way. Emptying the buffer completely will enable the buffer to completely refill with newly arriving samples, minimizing the duration of voice interruption. If the buffer is not completely flushed, at least some of the newly arriving samples are likely to be discarded because the buffer will be filled.
Conversely, when data packets arrive too slowly, the time between data packets or data cells 106, 108, 110, 112 etc. that might have been-stored in the read out of the buffer faster than they arrive. Eventually, the buffer completely empties creating an underrun condition. An underrun condition means that there is no data to provide. Voice reproduction suffers because the samples representing the original speech information is completely lost. If only a few packets are lost or so delayed that they can't be used, the reconstructed voice might be intelligible but as the number of lost packets increases, eventually the original signal cannot be recovered. The invention disclosed herein automatically determines voice quality degradation by recording missing packets as well as underrun and overrun conditions.
Switching system 102 includes a counter array 151 (not shown in
In the case of significantly delayed data packets, such as the fourth data packet represented by reference numeral 112, the play out buffer 150 might “under run” (i.e. run out of data samples for transmission on pathway 103) before the arrival of the next incoming sample, depicted in
When the number of error conditions (overruns and under-runs and late or missing samples) per unit time becomes excessive, indicating that voice transmission quality is degrading, a flag 160 is generated by the switching system 102 is set indicating that the transmission pathway, including switching system 102 and the media 104, might be incapable of accurately carrying voice data packets. The flag 160 might be an output voltage provided by the switch on some appropriate output connection, however, alternate embodiments would include flat 160 embodied as a software flag set or reset in an appropriate storage device of the switch's controlling processor or ancillary memory.
By way a suitable flat control signal 160 the switching system 102 can notify a network controller—not shown—that some other pathway should be used for subsequent data packets or cells for the call in progress, or that for subsequent telephone calls, a different pathway through the network should be chosen.
The method of the invention is represented by a simplified flow chart shown in
So long as the voice packet arrival rate is known, the switching system 102 can assume that a certain number of packets should arrive at the switching system over the time intervals T1. As the number of data packets accrues, at the expiration of time T1, the accrued total amount of data packets that arrived at the time period T1can be compared to an expected count value 304, excluding any playout buffer overruns which are as problematic as lost data packets. The expected count value V, can be chosen to be a minimum number of voice packets per unit time that produces an acceptable voice quality level. Alternatively it might be chosen to be the value V, of the number of voice packets that would be expected per unit time over a synchronous data network for optimum voice reproduction quality. If the difference 306 between the accrued total number of data packets is substantially below the expected count value “V,” a decision can be made that the packet error rate is too high 308 to sustain acceptable quality levels of voice transmission. In such a case, a network controller (not shown in the figures) can be informed to reroute subsequent data packets for this call, or to maintain the connection intact 310 for subsequent calls that might be made between the same two end points. While the preferred embodiment reroutes data packets whenever the data error rate exceeds a predetermined threshold, in an alternate embodiment, the data rate or error rate for a call in progress, might be maintained for the duration of the call 312 but with subsequent telephone calls routed over some other, i.e. different pathway.
In the preferred embodiment, the switching system 102 and the methodology disclosed herein is implemented on a packetized data network, preferably an internet protocol or “IP” network. The invention would find applicability to other packet networks such as ATM networks, frame relay networks, Ethernet networks or an MPLS (multi-protocol level system) network.
So long as one or more switching systems of the network can track error rate or otherwise calculate or determine missing or misplaced data packets, maintaining a record of packet errors over time can be used to reroute subsequent transmissions over another pathway. In at least one embodiment, multiple. switches along a pathway might each track error rates using the methodology disclosed herein and collectively accumulate their error measurement information over the entire pathway or a subpart thereof. In such an embodiment, end-to-end (or part thereof) errors for a telephone call through the asynchronous network could be calculated so that a better picture of the transmission quality could be determined.
In the preferred embodiment, data packets are received at the switching system at a play out buffer of an internet gateway. Such a device readily keeps track of over run and under runs both of which can be considered error conditions effecting voice reproduction quality.
Those skilled in the art should recognize that voice packets need to arrive at a substantially continuous rate, but on average arrive at between 5–10 milliseconds apart a corresponding 5–10 ms. sampling rate. A 20 ms. sampling rate means that voice packets will arrive roughly every 20 milliseconds. The count value over some length of time by which an error condition can be determined is therefore operator dependent. A determination that two temporally adjacent data packets are missing or out of order might not seriously degrade voice reproduction quality nor will losing individual samples over a long period of time. The inventors have determined that losing approximately 1% of 6 ms samples of a 64 KBPS uncompressed voice stream does not noticeably affect voice quality. Inasmuch as acceptable voice quality is subjective, different subscribers might be willing to pay higher service rates is a service provider is able to guarantees higher levels of voice quality. A more lengthy time interval over which packets are counted may be preferable to determine voice transmission quality over an IP network.
In the preferred embodiment the data packets were expected to arrive at the switching system at approximately 5–10 millisecond intervals.
It should be apparent that with the advent of the internet, and widespread use of other data packet networks that were primarily intended to handle computer data, that it might be possible to carry telephone conversations over such networks if they can be set up or provisioned such that voice samples are routed through the network with a reasonable expectation that they can be delivered between a source and a destination in order and in ample time to allow real time conversations to take place.
By monitoring the voice transmission quality through an asynchronous network as measured by missing, out of order or delayed packets, a real time metric of the quality of service through a data network can be determined.
Valid data packets are forwarded to a hardware-based playout data buffer or PDU 406 which could be implemented using any appropriate memory device such as a random access memory or the like. Invalid data packets, which might include data packets with checksum errors, missing header files or packets that are otherwise lost or corrupted are deleted. Data packets from the PDU 406 can be forwarded to anther switching system. One or more timers, preferably implemented in software but also performed using discrete hardware functions, reads data from the cell processing unit 404 and the PDU 406.
For each connection being monitored, a PDU timer 408 periodically triggers software-based counters 410 of the activities performed by the cell processing unit 404 so as to accumulate or total incoming packet error counts. These software-based counter arrays 410 obtain cell counts from the cell processing hardware; obtain overrun and underrun counts from the PDU 406; enables aged entries in the PDU 406 to be overwritten and establishes the quality of service ranking for a connection based upon the number of cells received versus the number of cells expected. The average of the quality of service calculation for each set of connections associated with a route is used in subsequent routing decisions by sending the quality of service measurement results to a software-based ranking function 412. This QOS ranking can be used as a basis of whether to re-route traffic from a high error-rate pathway to preferably a lower-rate pathway.
From the foregoing it can be seen that by objectively measuring data errors and error rates on a packet-based switching system, voice quality on a packetized network can be maintained. By using the methodologies and apparatus disclosed herein, voice over an internet protocol, Ethernet protocol, asynchronous transfer mode protocol or other asynchronous networks can be significantly improved. Those skilled in the art will recognize that each of the foregoing functions might be performed in software as well as an appropriately fast processor or by combinational and/or sequential logic devices.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5309431 *||Mar 19, 1991||May 3, 1994||Fujitsu Limited||Route regulating apparatus|
|US5963551||Nov 18, 1996||Oct 5, 1999||Innomedia Pte Ltd.||System and method for dynamically reconfigurable packet transmission|
|US6064654 *||Jun 18, 1997||May 16, 2000||Dialogic Corporation||Internet facsimile timing technique|
|US6144636 *||Dec 8, 1997||Nov 7, 2000||Hitachi, Ltd.||Packet switch and congestion notification method|
|US6178235 *||Dec 13, 1996||Jan 23, 2001||Telefonaktiebolaget Lm Ericsson||Dynamic traffic distribution|
|US6308209 *||Oct 22, 1998||Oct 23, 2001||Electronic Data Systems Corporation||Method and system for measuring usage of a computer network by a network user|
|US6314105 *||May 19, 1998||Nov 6, 2001||Cisco Technology, Inc.||Method and apparatus for creating and dismantling a transit path in a subnetwork|
|US6438104 *||Aug 7, 1998||Aug 20, 2002||Telefonaktiebolaget L M Ericsson (Publ)||Link-level flow control method for an ATM server|
|US6480468 *||Sep 17, 1998||Nov 12, 2002||Kabushiki Kaisha Toshiba||Repeater|
|US6510219 *||Sep 30, 1999||Jan 21, 2003||Nortel Networks Limited||Alternate network fallback for IP telephony|
|US6570846 *||May 25, 1999||May 27, 2003||Samsung Electronics Co., Ltd.||Method for monitoring and controlling traffic in real time in an ATM switching node|
|US6678250 *||Feb 19, 1999||Jan 13, 2004||3Com Corporation||Method and system for monitoring and management of the performance of real-time networks|
|US6700895 *||Mar 15, 2000||Mar 2, 2004||3Com Corporation||Method and system for computationally efficient calculation of frame loss rates over an array of virtual buffers|
|US6771594 *||Mar 31, 1997||Aug 3, 2004||Intel Corporation||Reliable/non-reliable transmission of voice using TCP/UDP based on network quality of service|
|US6822940 *||Sep 29, 2000||Nov 23, 2004||Cisco Technology, Inc.||Method and apparatus for adapting enforcement of network quality of service policies based on feedback about network conditions|
|US6831895 *||May 19, 1999||Dec 14, 2004||Lucent Technologies Inc.||Methods and devices for relieving congestion in hop-by-hop routed packet networks|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7801067 *||Sep 21, 2010||Motorola, Inc.||Method for mitigating collisions on a data channel upon request from a subscriber|
|US7904752||Jun 3, 2008||Mar 8, 2011||International Business Machines Corporation||Synchronizing device error information among nodes|
|US7907520||Sep 27, 2007||Mar 15, 2011||Verizon Patent And Licensing Inc.||Path testing and switching|
|US8422398 *||Apr 16, 2013||Zebra Enterprise Solutions Corp.||Media access control (MAC) for an active RFID system|
|US8891381||Dec 27, 2010||Nov 18, 2014||Verizon Patent And Licensing Inc.||Path testing and switching|
|US9036505||Mar 14, 2013||May 19, 2015||Zebra Enterprise Solutions Corp.||Media access control (MAC) for an active RFID system|
|US20050030970 *||Aug 5, 2003||Feb 10, 2005||Britton Michael J.||Method for mitigating collisions on a data channel upon request from a subscriber|
|US20090086643 *||Sep 27, 2007||Apr 2, 2009||Verizon Services Organization Inc.||Path testing and switching|
|US20090185505 *||Jul 23, 2009||Sandlinks Systems Ltd.||Media access control (mac) for an active rfid system|
|US20090274040 *||Nov 5, 2009||Avaya Technology Llc||Mid-call Redirection of Traffic Through Application-Layer Gateways|
|US20090300436 *||Jun 3, 2008||Dec 3, 2009||International Business Machines Corporation||Synchronizing device error information among nodes|
|US20110090802 *||Dec 27, 2010||Apr 21, 2011||Verizon Patent And Licensing Inc.||Path testing and switching|
|U.S. Classification||370/237, 370/232, 370/229, 370/234|
|Cooperative Classification||H04L65/80, H04L29/06027, H04L43/16, H04L65/1083, H04L43/0847|
|European Classification||H04L43/16, H04L43/08E2, H04L29/06C2, H04L29/06M8, H04L29/06M2S4|
|Jul 13, 2000||AS||Assignment|
Owner name: TELLABS OPERATIONS, INC., ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MARSH, ANITA BRADY;SCHOLTENS, DALE ALAN;REEL/FRAME:010945/0042
Effective date: 20000626
|Oct 25, 2010||FPAY||Fee payment|
Year of fee payment: 4
|Dec 6, 2013||AS||Assignment|
Owner name: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGEN
Free format text: SECURITY AGREEMENT;ASSIGNORS:TELLABS OPERATIONS, INC.;TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.);WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.);REEL/FRAME:031768/0155
Effective date: 20131203
|Oct 16, 2014||FPAY||Fee payment|
Year of fee payment: 8
|Nov 26, 2014||AS||Assignment|
Owner name: TELECOM HOLDING PARENT LLC, CALIFORNIA
Free format text: ASSIGNMENT FOR SECURITY - - PATENTS;ASSIGNORS:CORIANT OPERATIONS, INC.;TELLABS RESTON, LLC (FORMERLY KNOWN AS TELLABS RESTON, INC.);WICHORUS, LLC (FORMERLY KNOWN AS WICHORUS, INC.);REEL/FRAME:034484/0740
Effective date: 20141126