The present invention relates generally to communication networks, and particularly to methods and systems for clock recovery over packet networks.
Packet networks, typically Ethernet based, constitute a common infrastructure for carrying many types of data services. However, when constant bit rate streams, such as audio, video and Circuit Emulation Services (CESs), are transferred over packet networks, special means are typically applied for allowing accurate recovery of the stream source clock at the receiving station. Clock synchronization is typically required for any service and attached equipment that need accurate timing. Examples of such means, which are very commonly used in Internet Protocol (IP) networks, are Real Time Transport Protocol (RTP) and Real Time Control Protocol (RTCP), specified in IETF RFC 3550, whose content is incorporated herein by reference. A key clock recovery facility that is comprised in RTP/RTCP is a “timestamp” mechanism, which carries timing information from a source station to one or more receiving stations. It is typically assumed that the source system clock is locked on a good reference clack, such as Primary Reference Source (PRS), although other reference clocks are not excluded. Generally, clock synchronization may be needed for any data stream that relies on accurate timing, either in the same network element of the synchronization means, or in a remote equipment.
A receiving station usually controls playback of the received payload by applying the received timestamps to a local system clock that is typically derived from a Primary Reference Source (PRS). However, PRS is normally not available in remote receiving stations, such as Base Transceiver Stations (BTSs) at the edge of a Radio Access Network (RAN) backhaul network. To synchronize its system clock module, such a. remote station uses the timestamps that are received through a selected session that carries time information such as RTP or RTCP. In trying to synchronize a clock over a non-synchronized network, there is a major problem to compensate for delay variation or, in other words, to filter out network jitter affecting arriving timestamps. The delay in the network is a superposition of passive and active network factors. Passive network factors, such as fiber and cable, are usually constant physical factors and their contribution to delay variation is practically negligible. However, active network elements, such as switches and routers, might introduce significantly variable accumulated delay, namely jitter, that must be filtered out.
Several approaches are known in the art for precise timestamp-based clock recovery in a switched packet network. An advanced method and system for mitigating the adverse effect of associated jitter on timestamp-based clock recovery circuits was suggested in our previous U.S. Pat. No. 7,664,118, the disclosure of which is incorporated herein by reference. In this publication, a regression procedure is applied to detect latency change and estimate latency change value.
However, the clock recovery techniques that are known in the art might be vulnerable to temporary path reconfigurations due to failures or other singular network events. Thus, there is a need for improved clock recovery circuits that minimize vulnerability to such singular network events.
Accordingly, it is a principal object of the invention to overcome disadvantages associated with existing clock recovery techniques and provide an improved clock recovery technique which minimizes vulnerability to singular network events such as temporary path reconfigurations.
In accordance with an embodiment of the present invention, there is provided a method and circuit of recovering a clock signal in a receiving station, wherein the receiving station receives packets carrying “Timing Information” (TI) from a transmitting station over a packet switched network, the TI relating to a reference timing source located over the network, the method comprising the steps of: calculating over time, in the receiving station, a “TI Delay” variable based on a time difference between a timestamp assigned to a sample of a clock signal generated in the receiving station and the TI; upon detecting a Delay Deviation in the TI Delay, accumulating the Delay Deviation in an “Accumulated Deviation” variable; subtracting the Accumulated Deviation from the TI Delay; adjusting the frequency of the clock signal based on the TI Delay; and upon detecting that the Accumulated Deviation absolute value is smaller than a Zeroing Threshold, zeroing the Accumulated Deviation before subtracting it from the TI Delay.
In an embodiment of the present invention, a source station in a packet switched network transmits packets carrying Timing Information (TI) to one or more receiving stations. The network is typically Ethernet based, however the disclosed techniques can be applied to any type of packet based network, such as Data-Over-Cable Service Interface Specifications (DOCSIS). The TI is typically, though not necessarily, a timestamp. The terms “timestamp” and “TI” relate herein to either one message or to a series of messages of each type. In a typical embodiment TI comprises RTP or RTCP timestamps.
In one embodiment the packets carrying the TI typically carry also constant bit rate data payload. In another embodiment the packets carry mainly control information, such as timing. The TI reflects a frequency of a reference timing source that is coupled to the transmitting station. and. may also contain phase and/or time of day information. In one embodiment the reference timing source is a Primary Reference Source (PRS); in other embodiments the reference timing source is less accurate than a PRS.
An embodiment of the present invention comprises a Clock Recovery (CR) circuit, which resides in stations of the network that receive the TI. Such a CR circuit typically comprises a clock module that outputs a clock signal, and a synchronization mechanism that adjusts the clock module to be synchronized with the received TI. Thereby, the clock module can comply with wander requirements that are recommended by international standards of timing, such as International Telecommunication Union (ITU) G.823, G.824 or G.8261. Embodiments of the above synchronization are described, for example, in U.S. Pat. No. 7,664,118, referenced above.
The synchronization is based on filtering out estimated network latency variations from a measured time delay over a network route that leads the TI from the transmitting station to the CR circuit, and then adjusting the frequency of the clock module in the CR circuit to track the received TI. The CR circuit also filters out abrupt changes in the estimated network latency, hereinafter denoted as “Delay Deviations”, which may result from switching events in the network that cause changes in the network route. Such switching events include, but are not limited to, protection switching, link upgrades, station upgrades, temporary traffic loads etc.
In an embodiment, the CR circuit further calculates an accumulation of a recent series of consecutive Delay Deviations as “accumulated deviation”. When the accumulation goes down to a sufficiently small value, these recent Delay Deviations are interpreted as having been caused by revertive switching events, i.e. the route between the transmitting station and the CR circuit has resumed its original network path prior to the first Delay Deviation in the series. In this case, the CR introduces a correction to the regular frequency adjustment procedure, as detailed hereinafter. This correction statistically reduces latency estimation errors that might be induced in the clock signal by revertive switching events in the network.
In other embodiments of the present invention the above clock recovery method further comprises conditioning zeroing the Accumulated Deviation on detecting that the number of the accumulated Delay Deviations is even, provided that the network has a ring topology.
In other embodiments of the above clock recovery method, detecting the Delay Deviation comprises detecting minimum network latency points over time and applying regression procedure to the minimum network latency points.
In other embodiments of the present invention the above clock recovery method further comprises calculating a quality of the TI Delay and determining the Zeroing Threshold dynamically, based on the quality of the TI Delay.
The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:
Embodiments of the present invention provide improved methods and circuits of clock recovery. In particular, the disclosed techniques help reducing clock tracking errors that might occur due to switching events in packet switched networks.
Referring now to
Path failure 118 is depicted in
In one embodiment, receiving station 116 also comprises circuits for processing data that it receives and transmits over the network, in particular, constant bit rate data. In this case receiving station 116 uses the clock signal for this processing. In another embodiment, receiving station 116 comprises mainly control and/or timing functions, and outputs the clock signal to adjacent and/or to remote stations.
CM 128 calculates, for each pair of variables (timestamp, TI) that it accepts from packet receiver 124, a relative latency estimation [timestamp minus TI]. CM 128 then estimates the network latency variations over time by filtering out network jitter from the above differences as described, for example, in above-mentioned U.S. Pat. No. 7,664,118. This relative latency estimation is denoted “TI delay”. The CM then produces a frequency control signal thereof. Clock module 132 receives the frequency control signal from CM 128 and adjusts the frequency of the clock signal accordingly. In one embodiment, the clock sample is taken from a clock source, such as an Oven Controlled Crystal Oscillator (OCXO), within clock module 132. In another embodiment, the clock sample is taken from the clock signal at the clock module output. Additional sources are also applicable, such as Sync-E, TDM circuit, etc.
In an embodiment, CM 128 typically comprises a programmable processor, which is programmed in software to carry out the functions described herein. The software may be downloaded to the processor in electronic form, over a network, for example, or it may, alternatively or additionally, be provided and/or stored on non-transitory tangible media, such as magnetic, optical, or electronic memory.
The arrow directions in
The configurations shown in
Referring now to
As long as |delay change|<Change Threshold, flowchart 300 proceeds to a correcting step 336, wherein the CM always subtracts the current Accumulated Deviation from the TI Delay and produces the frequency control signal thereof. In an adjusting step 340 that follows, clock module 132 uses the frequency control signal that it receives from the CM for adjusting the frequency of the clock signal. Once a Delay Deviation is detected in comparing step 320, the flowchart proceeds to an accumulating step 324, wherein the CM accumulates the detected Delay Deviation in Accumulated Deviation variable 208. In a comparing step 328 the CM compares the Accumulated Deviation absolute value with Zeroing Threshold 224.
If the Accumulated Deviation is not sufficiently small the method proceeds to previously discussed step 336. Upon detecting a smaller Accumulated Deviation value than the Zeroing Threshold, the CM (zeroes) the Accumulated Deviation, in a reset step 332, before proceeding to correcting step 336. Reset step 332 actually filters out an estimation error that might have occurred due to consecutive Delay Deviation events. Following adjusting step 340 the method resumes at receiving step 308.
In an embodiment, CM 128 determines Zeroing Threshold 224 dynamically, based on assessing TI Delay quality. For example, a noisy TI delay would lead to a higher Zeroing Threshold. In some embodiments, the Accumulated Deviation value prior to any detected Delay Deviation may constitute a starting point for a nested execution of flowchart 300.
The flowchart shown in
Although the embodiments described herein mainly address clock recovery in packet switched networks, the methods and systems exemplified by these embodiments can also be used in other time synchronization applications.
It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.