U.S. patent number RE36,633 [Application Number 08/555,196] was granted by the patent office on 2000-03-28 for synchronous residual time stamp for timing recovery in a broadband network.
This patent grant is currently assigned to Telcordia Technologies, Inc.. Invention is credited to Paul E. Fleischer, Chi-Leung Lau.
United States Patent |
RE36,633 |
Fleischer , et al. |
March 28, 2000 |
**Please see images for:
( Certificate of Correction ) ** |
Synchronous residual time stamp for timing recovery in a broadband
network
Abstract
A Residual Time Stamp (RTS) technique provides a method and
apparatus for recovering the timing signal of a constant bit rate
input service signal at the destination node of a synchronous ATM
telecommunication network. At the source node, a free-running P-bit
counter counts cycles in a common network clock. At the end of
every RTS period formed by N service clock cycles, the current
count of the P-bit counter, defined as the RTS, is transmitted in
the ATM adaptation layer. Since the absolute number of network
clock cycles likely to fall within an RTS period will fall within a
range determined by N, the frequencies of the network and service
clocks, and the tolerance of the service clock, P is chosen so that
the 2.sub.P possible counts, rather than representing the absolute
number of network clock cycles an RTS period, provide sufficient
information for unambiguously representing the number of network
clock cycles within that predetermined range. At the destination
node, a pulse signal is derived in which the periods are determined
by the number of network clock cycles represented by the received
RTSs. This pulse signal is then multiplied in frequency by N to
recover the source node service clock.
Inventors: |
Fleischer; Paul E. (Little
Silver, NJ), Lau; Chi-Leung (Marlboro, NJ) |
Assignee: |
Telcordia Technologies, Inc.
(Morristown, NJ)
|
Family
ID: |
25515713 |
Appl.
No.: |
08/555,196 |
Filed: |
November 8, 1995 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
Reissue of: |
969592 |
Oct 30, 1992 |
05260978 |
Nov 9, 1993 |
|
|
Current U.S.
Class: |
375/354; 370/394;
370/509; 370/516; 375/362; 375/364 |
Current CPC
Class: |
H04J
3/0632 (20130101); H04L 12/6418 (20130101); H04N
21/4305 (20130101); H04N 21/64307 (20130101); H04Q
11/0478 (20130101); H04L 2012/5649 (20130101); H04L
2012/5653 (20130101); H04L 2012/5654 (20130101); H04L
2012/5674 (20130101) |
Current International
Class: |
H04J
3/06 (20060101); H04Q 11/04 (20060101); H04N
7/62 (20060101); H04N 7/60 (20060101); H04L
12/64 (20060101); H04N 7/52 (20060101); H04L
12/56 (20060101); H04L 007/00 () |
Field of
Search: |
;375/354,355,362,365,366,371,364
;370/503,509,510,511,512,516,394,517,519 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
Other References
CCITT Study Group XVIII/8--Contribution D. 1123 entitled "Proposed
method to provide the clock recovery function for circuit
emulation", (Dec. 1990). .
Letter from P. Adam of CNET dated Aug. 26, 1991 concerning
discussion on TS/SFET. .
Memorandum from R. Lau and B. Kittams of Bellcore dated Oct. 11,
1991 re A Compromise of SFET and TS. .
Memorandum from T. Houdoin to B. Kittams & R. Lau dated Oct.
14, 1991 re Compromise SFET/TS. .
CNET Memorandum from T. Houdoin to R. Lau and B. Kittams re
Compromise SFET/TS (undated). .
Y. Matsuura, S. Kozuka, K. Yuki, "Jitter Characteristics of Pulse
Stuffing Synchronization," pp. 259-264, Jun. 1968. .
D.L. Duttweiler, "Waiting Time Jitter," Bell System Technical
Journal, vol. 51, No. 1, pp. 165-209, Jan. 1972. .
CCITT Recommendations G. 707, G. 708, G. 709 (1988). .
CCITT Recommendations G. 823, G. 824 (1988). .
CCITT Recommendations D.294, "Timing for CBO Services," Jun. 1989.
.
R.C. Lau, "Synchronous Frequency Encoding Technique for B-ISDN
Circuit Emulation," SPIE vol. 1179 Fiber Networking and
Telecommunications, pp. 160-171, Sep. 1989. .
H.M. Ahmed, "Adaptive Terminal Synchronization in Packet Data
Networks," Globecom, pp. 20.6.1-20.6.5, 1989. .
CCITT SG XVIII Contribution, D.1020, "Timing Recovery for CBR
Circuit Emulation." Dec. 1990. .
CCITT Study Group XVIII--Contribution D. 1451 entitled "Performance
Comparison of Timing Recovery Methods for CBR Services," Jun. 1991.
.
Submission to T1S1 entitled "Broadband Aspects of ISDN,"
T1S1.5/91-382, Nov. 4, 1991. .
Summary Minutes of T1 Services, Architecture, and Signaling
Technical Subcommittee (T1S1) Session, Nov. 8, 1991. .
CCITT Study Group XVIII entitled "Synchronous Residue-Time Stamp: A
Combination of SFET/TS", Dec. 1991. .
CCITT Study Group XVIII entitled "Report of the meeting of SWP
XVIII/8-3 (Services, IVS and AAL types 1 and 2)", Dec. 1991. .
CCITT Study Group XVIII entitled "Revised text of I.363 Section 2
(AAL type 1)", Dec. 1991. .
CCITT Recommendation I.363 entitled "B-ISDN ATM Adaptation Layer
(AAL) Specification," (1991). .
Appendix 5 (to Annex 7) for COM XVIII-R 70-E entitled "Descriptions
of the SFET Method" (Jul. 1991). .
Appendix 6 (to Annex 7) for COM XVIII-R 70-E entitled "Descriptions
of the TS Method" (Jul. 1991). .
R.C. Lau and P.E. Fleischer, "Synchronous Techniques for Timing
Recovery in BISDN," IEEE Globecom, pp. 814-820, Dec. 1992. .
R.C. Lau and P.E. Fleischer, "Synchronous Techniques for Timing
Recovery in BISDN," Communications Switching of the IEEE
Communications Society, IEEE Transactions on Communications, Apr.
1995. .
Kozuka, "Phase Controlled Oscillator for Pulse Stuffing
Synchronization System," Review of the Electrical Communications
Laboratory, vol. 17, Nos. 5-6, May-Jun. 1969. .
R.P. Singh et al., "Jitter and Clock Recovery for Periodic Traffic
in Broadband Packet Networks," Bell Communications Research, Inc.,
presented at IEEE Globecom, Florida, Dec. 1988. .
J. Gonzales et al., Proceedings ICC '91, "Jitter Reduction in ATM
Networks," 1991, pp. 274-279. .
R.P. Singh et al., "Adaptive Clock Synchronization Schemes for
Real-Time Traffic in Broadband Packet Networks," Presented-8th
European Conference on Electrotechnics, Stockholm, Sweden, Jun.
1988. .
American National Standard, ANSI T1.105-1988, "Digital Hierarchy
Optical Interface Rates and Formats Specification," Sep. 1988.
.
"Jitter Reduction in ATM Networks," Julio Gonzales and Jean-Paul Le
Meur Proceedings ICC '91, 9.4.1-9.4.6..
|
Primary Examiner: Vo; Don N.
Attorney, Agent or Firm: Giordano; Joseph
Parent Case Text
.Iadd.This application is the parent application of reissue
application 09/292,668 filed Apr. 16, 1999. .Iaddend.
Claims
What is claimed is:
1. A method of recovering, at a destination node of a packet-based
telecommunications network, the timing clock of a service input at
a source node of said packet-based telecommunications network, the
destination node and the source node having a common network clock,
comprising the steps of:
(a) at the source node, dividing the timing clock of the service
input by a factor of an integer N to form residual time stamp (RTS)
periods;
(b) at the source node, counting the network clock cycles modulo
2.sup.P, where 2.sub.P is less than the number of network clock
cycles within an RTS period and P is chosen so that the 2.sub.P
counts uniquely and unambiguously represent the range of possible
network clock cycles within an RTS period;
(c) transmitting from the source node to the destination node an
RTS at the end of each RTS period that is equal to the modulo
2.sub.P count of network clock cycles at that time;
(d) determining from the RTSs received at the destination node, the
number of network clock cycles in each RTS period;
(e) generating a pulse signal from the network clock at the
destination node in which the period between each pulse in the
pulse signal equals the determined number of network clock cycles
in the corresponding RTS period; and
(f) multiplying the frequency of the pulse signal generated in step
(e) by the same factor of an integer N used in step (a) to recover
the timing clock of the service input.
2. The method of claim 1 wherein the network clock frequency is
less than or equal to twice the service clock frequency.
3. A method of recovering, at a destination node of a packet-based
telecommunications network, the timing clock of a service input at
a source node of said packet-based telecommunications network, the
destination node and the source node having a common network clock,
comprising the steps of:
(a) at the source node, dividing the timing clock of the service
input by a factor of an integer N to form residual time stamp (RTS)
periods;
(b) at the source node, dividing the network clock by a rational
factor to form a derived network clock;
(c) at the source node, counting the derived network clock cycles
modulo 2.sup.P, where 2.sub.P is less than the number of derived
network clock cycles within an RTS period and P is chosen so that
the 2.sub.P counts uniquely and unambiguously represent the range
of possible derived network clock cycles within an RTS period;
(d) transmitting from the source node to the destination node an
RTS at the end of each RTS period that is equal to the modulo
2.sub.P count of derived network clock cycles at that time;
(e) at the destination node, dividing the network clock by the same
rational factor used at the source node to form a derived network
clock equal to the derived network clock at the source node;
(f) determining from the RTSs received at the destination node, the
number of derived network clock cycles in each RTS period;
(g) generating a pulse signal from the derived network clock at the
destination node in which the period between each pulse in the
pulse signal equals the determined number of derived network clock
cycles in the corresponding RTS period; and
(h) multiplying the frequency of the pulse signal generated in step
(g) by the same factor of an integer N used in step (a) to recover
the timing clock of the service input.
4. The method of claim 3 wherein the derived network clock
frequency is less than or equal to twice the service clock
frequency.
5. Apparatus for recovering, at a destination node of a
packet-based telecommunications network, the timing clock of a
service input at a source node of said packet-based
telecommunications network, the destination node and the source
node having a common network clock, comprising at the source
node:
dividing means for dividing the timing clock of the service input
by a factor of an integer N to form residual time stamp (RTS)
periods;
counting means connected to the network clock for counting network
clock cycles modulo 2.sup.P, where 2.sub.P is less than the number
of network clock cycles within an RTS period and P is chosen so
that the 2.sub.P counts uniquely and unambiguously represent the
range of possible network clock cycles within an RTS period;
and
transmitting means, responsive to the RTS periods formed by said
dividing means and the count of said counting means, for
transmitting over the telecommunications network an RTS at the end
of each RTS period that is equal to the modulo 2.sup.P count of
network clock cycles at that time;
and comprising at the destination node:
receiving means for receiving the RTSs transmitted over the
telecommunications network by said transmitting means;
converting means responsive to the received RTSs and the network
clock for converting the received RTSs into a pulse signal in which
the periods between pulses are determined from the numbers of
network clock cycles associated with the counts of network clock
cycles within said RTS periods; and
means for multiplying the frequency of the pulse signal generated
by said converting means by the same factor of an integer N used in
said dividing means for recovering the timing clock of the service
input.
6. Apparatus in accordance with claim 5 wherein the network clock
frequency is less than or equal to twice the service clock
frequency.
7. Apparatus in accordance with claim 5 wherein said converting
means comprises:
means for sequentially storing the received RTSs;
means for counting network clock cycles modulo 2.sub.P ;
comparing means for comparing the modulo 2.sub.P count of network
clock cycles with a stored RTS and for generating a pulse each time
the count of network clock cycles matches the RTS; and gating means
for gating to said multiplying means, for each sequentially
received and stored RTS, the pulse produced by said comparing means
that occurs after the counting means counts, starting-in-time from
the previous gated pulse, a number of network clock cycles that is
greater than a predetermined minimum absolute number of network
clock cycles that can occur within any RTS period.
8. Apparatus for recovering, at a destination node of a
packet-based telecommunications network, the timing clock of a
service input at a source node of said packet-based
telecommunications network, the destination node and the source
node having a common network clock, comprising at the source
node:
first dividing means for dividing the timing clock of the service
input by a factor of an integer N to form residual time stamp (RTS)
periods;
second dividing means for dividing the network clock by a rational
factor to form a derived network clock;
counting means connected to the network clock for counting derived
network clock cycles modulo 2.sup.P, where 2.sub.P is less than the
number of derived network clock cycles within an RTS period and P
is chosen so that the 2.sub.P counts uniquely and unambiguously
represent the range of possible derived network clock cycles within
an RTS period; and
transmitting means, responsive to the RTS periods formed by said
first dividing means and the count of said counting means, for
transmitting over the telecommunications network an RTS at the end
of each RTS period that is equal to the modulo 2.sup.P count of
derived network clock cycles at that time;
and comprising at the destination node:
receiving means for receiving the RTSs transmitted over the
telecommunications network by said transmitting means;
means for dividing the network clock by the same rational factor
used at the source node to form a derived network clock;
converting means responsive to the received RTSs and the derived
network clock for converting the received RTSs into a pulse signal
in which the periods between pulses are determined from the numbers
of derived network clock cycles associated with the counts of
derived network clock cycles within said RTS periods; and
means for multiplying the frequency of the pulse signal generated
by said converting means by the same factor of an integer N used in
said first dividing means for recovering the timing clock of the
service input.
9. Apparatus in accordance with claim 8 wherein the derived network
clock frequency is less than or equal to twice service clock
frequency.
10. Apparatus in accordance with claim 8 wherein said converting
means comprises:
means for sequentially storing the received RTSs;
means for counting derived network clock cycles modulo 2.sub.P
;
comparing means for comparing the modulo 2.sub.P count of derived
network clock cycles with a stored RTS and for generating a pulse
each time the count of derived network clock cycles matches the
RTS; and
gating means for gating to said multiplying means, for each
sequentially received and stored RTS, the pulse produced by said
comparing means that occurs after the counting means counts,
starting-in-time from the previous gated pulse, a number of derived
network clock cycles that is greater than a predetermined minimum
absolute number of derived network clock cycles that can occur
within any RTS period. .Iadd.11. Apparatus for generating a
representation of the relationship between the timing clock of a
service input, at a source node of a packet-based
telecommunications network, and a network clock, the apparatus
comprising:
(a) means, at the source node, for defining a residual time stamp
(RTS) period as an integral number N of source-node service clock
cycles;
(b) means, at the source node, for defining a derived network clock
frequency f.sub.nx from a network frequency f.sub.n where f.sub.nx
=f.sub.n /x, x is a rational number, and f.sub.nx is less than or
equal to twice the service clock frequency;
(c) means, at the source node, for counting the derived network
clock cycles modulo 16 in an RTS period and;
(d) means for transmitting from the source node an RTS that is
equal to the modulo 16 count of derived network clock cycles in the
RTS period.
.Iaddend..Iadd.12. Apparatus for recovering, at a destination node
of a packet-based telecommunications network, the timing clock of a
service input at a source node of the packet-based
telecommunications network, wherein the destination and source
nodes have a common network clock divided network clock and wherein
the service node generates a residual time stamp (RTS) signal equal
to a modulo 16 count of cycles based on the network clock; the
apparatus comprising:
means for receiving the RTS signal;
means for determining the number of network cycles in an RTS period
from the RTS signal; and
means responsive to the determining means for generating a clock
signal which represents a recovery of the timing clock of the
service input. .Iaddend..Iadd.13. Apparatus for generating a
representation of a timing clock of a service input at a source
node of a packet-based telecommunications network, wherein a common
network clock or divided network clock is provided for the source
node and a destination node; the apparatus comprising:
(a) means for defining a time interval by a fixed number of service
clock cycles; and
(b) means for generating a digital representation of a quantized
difference between an actual number of network clock cycles within
the time interval and an expected number of network clock cycles
within the time interval, the difference being within a defined
time window corresponding to a
frequency variation of the source-node service clock.
.Iaddend..Iadd.14. The apparatus of claim 13, wherein the digital
representation represents a chosen number of the least significant
bits of the quantized actual number, the chosen number being
sufficient to represent a range of frequency deviations of the
source-node service clock variation. .Iaddend..Iadd.15. The
apparatus of claim 14 wherein the chosen number is 4.
.Iaddend..Iadd.16. Apparatus for recovering, at a destination node
of a packet-based telecommunications network, the timing clock of a
service input at a source node of said network, wherein a common
network clock or divided network clock is provided for the
destination node and the source node and a time interval is defined
by a fixed rational number of source-node service clock cycles; the
apparatus comprising:
means for receiving generating a digital representation of a
quantized difference between an actual number of network clock
cycles within the time interval and an expected number of network
clock cycles within the time interval, the difference being within
a defined time window corresponding to a frequency variation of the
source-node service clock; and
means for recovering the source-node service clock at the
destination node by constructing a timing signal at the destination
node based on a received representation of the network cycle
difference. .Iaddend..Iadd.17. Apparatus for reconstructing, at a
destination node of a packet-based telecommunications network, a
timing clock of a service input at a source node of the network,
wherein a common network clock or divided network clock is provided
for the destination node and the source node and wherein the
reconstruction is based on successive modulo 2.sup.P numerical
representations of the number of network clock cycles within
corresponding successive predetermined time periods, each of the
numerical representations being received from the source node and
being less than the actual number of network clock cycles within
its corresponding time period; the apparatus comprising:
means for receiving the numerical representations in succession at
the destination node;
means for converting the received numerical representations into
successive fixed time intervals, wherein each successive interval
corresponds to the number of network clock cycles in a
corresponding one of the predetermined time periods; and
means for recovering the source-node service clock from the fixed
time intervals. .Iaddend..Iadd.18. The apparatus of claim 17,
wherein the converting means further comprises:
means for sequentially storing the successive modulo 2.sup.P
numerical representations;
means for comparing the successive numerical representations with a
modulo 2.sup.P count of the network clock cycles at the destination
node to generate a comparison signal for each match between the
numerical representation and the modulo 2.sup.P count at the
destination node; and
means for successively selecting a proper comparison signal by
waiting until a minimum number of network clock cycles has
occurred.
.Iaddend..Iadd.19. A method for generating a signal at a source
node for use in recovering a source-node service clock at a
destination node in a packet-based telecommunications network,
wherein a common network clock or divided network clock is provided
for the source and destination nodes; the steps of the method
comprising:
defining a time interval by a fixed number of cycles of the
source-node service clock;
determining an actual number of cycles of the network clock within
the time interval;
determining a numerical deviation of the number of actual network
clock cycles from another number of network clock cycles that would
occur if the source-node service clock frequency were nominal;
and
generating a digital signal representing the numerical deviation
for transmission through the network to the destination node.
.Iaddend..Iadd.20. A method for recovering a source-node service
clock at a destination node in a packet-based telecommunications
network, wherein a common network clock or divided network clock is
provided for the source and destination nodes, wherein an actual
time interval is defined by a fixed number of cycles of the
source-node service clock, and wherein a number of actual cycles of
the network clock within the actual time interval and a numerical
deviation of the number of actual network clock cycles from another
number of network clock cycles known nominally to be within the
time interval are determined; the steps of the method
comprising:
receiving a digital signal representing the numerical deviation
transmitted through the network from the source node; and
generating a timing signal corresponding to the source-node service
clock on the basis of the digital signal representing the numerical
deviation. .Iaddend..Iadd.21. A method for recovering, at a
destination node of a packet-based telecommunications network, a
timing clock of a service input at a source node of the
packet-based telecommunications network, wherein a common network
clock or divided network clock is provided for the destination node
and the source node; the steps of the method comprising:
defining a time interval by a fixed number of cycles of the
source-node service clock;
determining an actual number of cycles of the network clock within
the time interval;
determining a numerical deviation of the number of actual network
clock cycles from another number of network clock cycles that would
occur within the time interval if the source-node service clock
frequency were nominal;
generating a digital signal representing the numerical
deviation;
transmitting the digital signal to the destination node; and
generating a timing signal at the destination node corresponding to
the source node service clock on the basis of the digital signal
and a signal
from the network clock. .Iaddend..Iadd.22. The method of claim 21
wherein the numerical deviation is determined as a function of the
fixed number of source-node service clock cycles, the frequencies
of the network clock and the source-node service clock, and a
frequency variation of the source-node service clock.
.Iaddend..Iadd.23. The method of claim 21 further including the
step of employing a modulo 2.sup.P counter to generate a
representation of the numerical deviation. .Iaddend..Iadd.24.
Apparatus for generating a signal at a source node for use in
recovering a source-node service clock at a destination node in a
packet-based telecommunications network, wherein a common network
clock or divided network clock is provided for the source and
destination nodes; the apparatus comprising:
means for defining a time interval by a fixed number of cycles of
the source-node service clock;
means for determining a number of actual cycles of the network
clock within the time interval;
means for determining a numerical deviation of the number of actual
network clock cycles from another number of network clock cycles
that would occur within the time interval if the source-node clock
frequency were nominal; and
means for generating a digital signal representing the numerical
deviation for transmission through the network to the destination
node.
.Iaddend..Iadd.25. The apparatus of claim 24 wherein the numerical
deviation is determined as a function of the fixed number of
source-node service clock cycles, and frequencies of the network
clock and the source-node service clock, and a nominal frequency of
the source-node service clock. .Iaddend..Iadd.26. The apparatus of
claim 24 wherein the numerical deviation determining means includes
a modulo 2.sup.P counter which generates the numerical deviation.
.Iaddend..Iadd.27. The apparatus of claim 26 wherein a value of
2.sup.P is 16. .Iaddend..Iadd.28. Apparatus for recovering a
source-node clock at a destination node in a packet-based
telecommunications network, wherein a common network clock or
divided network clock is provided for the source and destination
nodes and wherein a time interval is defined by a fixed number of
cycles of the source-node service clock, and wherein a number of
actual cycles of the network clock within the time interval and a
numerical deviation of the number of actual network clock cycles
from another number of network clock cycles that would occur within
the time if the source-node service clock frequency were
nominal;
means for receiving a digital signal representing the numerical
deviation transmitted through the network from the source node;
and
means for generating a timing signal corresponding to the
source-node service clock on the basis of the digital signal
representing the numerical deviation. .Iaddend..Iadd.29. Apparatus
for recovering, at a destination node of a packet-based
telecommunications network, a timing clock of a service input at a
source node of the packet-based telecommunications network, wherein
a common network clock or divided network clock is provided for the
destination node and the source node; the apparatus comprising:
means for defining a time interval by a fixed number of cycles of
the source-node service clock;
means for determining a number of actual cycles of the
network-clock within the time interval;
means for determining a numerical deviation of the number of actual
network clock cycles from another number of network clock cycles
that would occur within the time interval if the source-node
service clock frequency were nominal;
means for generating a digital signal representing the numerical
deviation;
means for transmitting the digital signal to the destination node;
and
means for generating a timing signal at the destination node
corresponding to the source-node service clock on the basis of the
digital signal and a signal from the network clock.
.Iaddend..Iadd.30. The apparatus of claim 29 wherein the numerical
deviation is determined as a function of the fixed number of
source-node service clock cycles, frequencies of the network clock
and the source-node service clock, and a nominal frequency of the
source-node service clock. .Iaddend..Iadd.31. The apparatus of
claim 29 wherein the numerical deviation determining means includes
a modulo 2.sup.P counter which generates the numerical
deviation.
.Iaddend..Iadd.32. The apparatus of claim 29 wherein means are
provided for carrying any fractional network cycle in any time
interval for network cycle counting by the modulo 2.sup.P counter
for counting the next time
interval. .Iaddend..Iadd.33. A method for generating a
representation of the relationship between the timing clock of a
service input, at a source node of a packet-based
telecommunications network, and a network clock, the method
comprising the steps of:
(a) defining, at the source node, a residual time stamp (RTS)
period as an integral number N of source-node service clock
cycles;
(b) defining, at the source node, a derived network clock frequency
f.sub.nx from a network frequency f.sub.n where f.sub.nx =f.sub.n
/x, x is a rational number, and f.sub.nx is less than or equal to
twice the service clock frequency;
(c) counting, at the source node, the derived network clock cycles
modulo 16 in an RTS period; and
(d) transmitting from the source node an RTS that is equal to the
modulo 16 count of derived network clock cycles in the RTS period.
.Iaddend.
Description
BACKGROUND OF THE INVENTION
This invention relates to timing recovery of a source node service
clock frequency at a destination node in a broadband asynchronous
transfer mode (ATM) network where the source and destination nodes
receive reference timing signals derived from a single master
clock.
Asynchronous Transfer Mode (ATM) is a packet oriented technology
for the realization of a Broadband Integrated Services Network
(BISDN). By using ATM, network resources can be shared among
multiple users. Moreover, various services including voice, video
and data can be multiplexed, switched, and transported together
under a universal format. Full integration will likely result in
simpler and more efficient network and service administration and
management. However, while conventional circuit-switching is
optimized for real-time, continuous traffic, ATM is more suitable
for the transport of bursty traffic such as data. Accommodation of
constant bit rate (CBR) services is, however, an important feature
of ATM, both for universal integration and for compatibility
between existing and future networks. In the transport of a CBR
signal through a broadband ATM network, the CBR signal is first
segmented into 47-octet units and then mapped, along with an octet
of ATM Type I Adaptation Layer (AAL) overhead, into the 48-octet
payload of the cell. The cells are then statistically multiplexed
into the network and routed through the network via ATM
switches.
It is essential to the proper delivery of such CBR service traffic
in a broadband network that the clock controlling the destination
node buffer be operating at a frequency precisely matched to that
of the service signal input at the source node in order to avoid
loss of information due to buffer over- or under-flow. However,
unlike the circuit-switched transport of service data wherein the
clock frequency at the destination node may be traced directly back
to that of the source node by the regular, periodic arrival of the
CBR traffic, transport in an ATM network inherently results in cell
jitter, i.e. the random delay and aperiodic arrival of cells at a
destination node, which essentially destroys the value of cell
arrival instances as a means for directly recovering the original
service signal input frequency.
Such cell jitter, generally the result of the multiplexing of
transport cells in the broadband network and the cell queuing
delays incurred at the ATM switches in the network, is
substantially unpredictable. Thus, little is known about the cell
arrival time beyond the fact that the average cell delay is a
constant, assuming that the ATM network provides sufficient
bandwidth to ensure against loss of cells within the network. As a
means for closely approximating the service signal frequency at the
destination node, some consideration had previously been given to
utilizing a direct extension of circuit-switched timing recovery
practices which rely entirely upon a buffer fill signal as the
basis for recovery of the source timing. However, due to the lack
of knowledge of statistics of the cell jitter, this approach would
have required a phase-locked loop with very low cut-off frequency
(in the order of a few Hz) and would thus have resulted in
excessive converging time and degradation of jitter and wander
performance.
A number of schemes have been proposed to improve upon such a
conventional manner of recovering service timing in the presence of
cell jitter, yet none has achieved this end economically and
without extensive control systems of notable complexity. Singh et
al., for example, in "Adaptive Clock Synchronization Schemes For
Real-Time Traffic In Broadband Packet Networks," 8th European
Conference on Electrotechnics, Stockholm, Sweden, June 1988, and
"Jitter And Clock Recovery For Periodic Traffic In Broadband Packet
Networks," IEEE Globecom '88, Florida, December 1988, have proposed
algorithms which attempt to more closely estimate cell jitter
statistics and derive timing recovery from those indications. These
adaptive approaches, suggested to be applicable to both synchronous
and non-synchronous networks, rely upon the interaction of
increasingly complex algorithms which would require the noted
extensive controls for implementation.
These prior art schemes described above can be classified as
non-synchronous techniques, which are based on the simple fact that
the expected value of the network cell jitter is zero and thus rely
on phase filtering. Synchronous techniques, on the other hand,
utilize the fact that common timing is available at both the
transmitter and the receiver. In a synchronous broadband ATM
network, such as the Synchronous Optical Network (SONET) prescribed
by American National Standard, ANSI T1.105-1988, "Digital Hierarchy
Optical Interface Rates and Formats Specification," Mar. 10, 1988,
the network source and destination node control clocks are
synchronized to the same timing reference. As a result, there is no
necessity for relying upon any extraneous phenomenon such as
instants of cell arrival to provide a datum base for determining
the relative frequencies of those control clocks. The effect of
cell jitter caused by multiplexing and switching delays in the
network is therefore of little consequence in any procedure for
circuit transporting CBR service, which is based, as is the present
invention, on an actual synchrony of node timing. Thus being devoid
of concern for cell jitter, this process is free to simply
determine the difference in frequency between the CBR service
signal input at the source node and the source/destination node
timing clock(s).
U.S. Pat. No. 4,961,188 issued on Oct. 2, 1990 to Chi-Leung Lau,
co-inventor herein, discloses a synchronous frequency encoding
technique (SFET) for clock timing in a broadband network. The SFET
takes advantage of the common timing reference at both the source
and the receiver. At the source, the asynchronous service clock is
compared to the network reference clock. The discrepancy between
properly chosen submultiples of the two clocks is measured in units
of a preassigned number of slip cycles of network clock. This clock
slip information is conveyed via a Frequency Encoded Number (FEN)
which is carried in the ATM Adaptation Layer (AAL) overhead. At the
receiver, the common network clock and the FEN are used to
reconstruct the service clock. This timing recovery process does
not rely on any statistics of the cell jitter except that it has a
known, bounded amplitude. Therefore, the recovered clock has jitter
performance comparable to that of the circuit-switched network.
An alternative proposed approach is known as Time Stamp (TS). In
the Time Stamp approach (see, for example, Gonzales et al, "Jitter
Reduction in ATM Networks", Proceedings ICC'91, 9.4.1-9.4.6), the
network clock is used to drive a multi-bit counter (16-bits in the
proposal), which is sampled every fixed number of generated cells
(e.g., 16). Thus, a fixed number, N, of service clocks cycles is
used as the measuring yardstick. The sampled value of the 16-bit
counter is the TS that inherently conveys the frequency difference
information. Because of the size of the TS (2 octets), it has been
proposed that the TS be transmitted via the Convergence Sublayer
(CS) overhead. Thus the TS is a 16-bit binary number occurring once
every N service clock cycles. Differences in successive TSs
represent the quantized values of M, where M is the number of
network clock cycles during the fixed TS period. At the receiver,
the TS period is reconstructed from the received TSs and the
network clock. A free-running 16-bit counter is clocked by the
network clock and the output of the counter is compared to the
received TSs which are stored in a TS FIFO. A pulse is generated
whenever there is a match between the TS and the 16-bit counter.
The service clock is recovered by supplying the resultant pulse
stream as the reference signal to a multiply-by-N phase locked loop
(PLL).
A comparison of the SFET approach and the TS approach reveals
advantages and disadvantages for each. In the SFET approach there
is a relatively stringent requirement on the derived network clock
since it must be slightly larger than the service clock.
Advantageously, however, a convergence sublayer is not required to
transmit the FEN and only small overhead bandwidth is required to
transmit the necessary information. On the other hand, the TS
approach is more flexible in that it does not require stringent
relationships between the service clock and the network derived
clock and can therefore support a range of service bit rates.
Disadvantageously, however, a rigid convergence sublayer structure
is required to transmit the TS, which adds complexity and makes
inefficient use of the overhead bandwidth.
An object of the present invention is to achieve synchronous timing
recovery with an approach that has the advantages of both the SFET
and TS approaches, specifically, the efficiency of SFET and the
flexibility of TS.
SUMMARY OF THE INVENTION
As described hereinabove, the TS approach requires a large number
of bits (16-bits in the example), to represent the number of
network clock cycles within a time interval defined by a fixed
number (N) of service clock cycles. In accordance with the present
invention, the number of bits required to represent the number of
network clock cycles within that time interval is substantially
reduced. This is possible through the realization that the actual
number of network clock cycles, M (where M is not necessarily an
integer), deviates from a nominal known number of cycles by a
calculable deviation that is a function of N, the frequencies of
the network and service clocks, and the tolerance of the service
clock. Specifically, therefore, rather than transmitting a digital
representation of the quantized actual number of network clock
cycles within the interval, only a representation of that number as
it exists within a defined window surrounding an expected, or
nominal, number of network clock pulses is transmitted from a
source node to a destination node in an ATM network. This
representation will be referred to hereinafter as the Residual Time
Stamp (RTS). By selecting the number of bits, P, so that all
2.sub.P possible different bit patterns uniquely and unambiguously
represent the range of possible numbers of network clock cycles
within the fixed interval that is defined by N service clock
cycles, the destination node can recover the service clock from the
common network clock and the received RTS.
At the source node, a free-running P-bit counter counts clock
cycles in a clock signal derived from the network clock. The
service clock, which is derived from the incoming data signal to be
transmitted over the ATM network, is divided by the factor of N to
produce a pulse signal having a period (the RTS period) which
defines the time interval for measuring the number (modulo 2.sup.P)
of derived network clock pulses. At the end of each RTS period, the
current count of the free-running P-bit counter is sampled. That
sampled value is the RTS, which is transmitted via the adaptation
layer. Since the service clock from which the RTS period is defined
and the derived network clock are neither synchronized nor
integrally related in frequency, the actual number of derived
network clock cycles in a RTS period is unlikely to be an integer.
Thus, when sampled at the end of each RTS period, the increment in
the count of the P-bit counter is a quantized version of the count
(modulo 2.sup.P) of pulses in the RTS interval as modified by any
accumulated fractional counts from a previous interval.
At the destination node, after the AAL is processed, the successive
RTSs are converted into a pulse signal which has periods between
pulses defined by the fixed integral numbers of derived network
clock pulses that correspond to the conveyed RTS periods.
Specifically, a free-running P-bit counter is driven by the derived
network clock. A comparator compares this count with a stored
received RTS and produces a pulse output upon a match. Since the
count of the P-bit counter matches the stored RTS every 2.sub.P
derived network clock cycles, comparator output pulses that do not
actually represent the end of the RTS period are inhibited by
gating circuitry. This gating circuitry includes a second counter
that counts the derived network clock cycles occurring since the
end of the previous RTS period. When this second counter reaches a
count equal to the minimum possible number of derived network clock
pulses within an RTS period, the next comparator pulse output
produced upon a match between the RTS and the count of the P-bit
counter, is gated-through to the output and resets the second
counter. The resultant gated through output pulse stream drives a
multiply-by-N phase locked loop to recover the service clock.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 are timing diagrams showing the RTS concept of the present
invention;
FIG. 2 is a block diagram showing apparatus, in accordance with the
present invention, for generating the RTS at the source node of an
ATM network;
FIG. 3 is a block diagram showing apparatus, in accordance with the
present invention, for reconstructing the service clock at the
destination node of an ATM network; and
FIG. 4 are timing diagrams showing the gating function at the
apparatus of FIG. 3.
DETAILED DESCRIPTION
The concept of the Residual Time Stamp is described with reference
to FIG. 1. In FIG. 1, and in the description hereinafter, the
following terminology is used:
f.sub.n --network clock frequency, e.g. 155.52 MHz;
f.sub.nx --derived network clock frequency, ##EQU1## where x is a
rational number; f.sub.s --service clock frequency;
N--period of RTS in units of the service clock (f.sub.s)
cycles;
T.sub.n --the n-th period of the RTS in seconds;
.+-..epsilon.--tolerance of the source clock frequency in parts per
million;
M.sub.n (M.sub.nom, M.sub.max, M.sub.min)--number of f.sub.nx
cycles within the n-th (nominal, maximum, minimum) RTS period,
which are, in general, non-integers.
As can be noted in FIG. 1, during the n-th period, T.sub.n,
corresponding to N service clock cycles, there are M.sub.n network
derived clock cycles. As aforenoted, since the service clock and
the network clock are neither synchronized nor integrally related
in frequency, this number of derived network clock cycles is not an
integer. Since all practical timing recovery techniques transmit
only integer values, the fractional part of M.sub.n must be dealt
with. Simple truncation or rounding of the fractional part in each
RTS time slot is not permissible, as this would lead to a "random
walk" type error accumulation. Rather, it is necessary to
accumulate the fractional parts at the transmitter and use the
accumulated value to modify the transmitted integer quantity. Since
it is most convenient to generate RTS by an asynchronous counter,
as will be described hereinafter in conjunction with the
description of FIG. 2, a "truncation" operation is natural,
reflecting the fact that an asynchronous counter's output does not
change until the subsequent input pulse arrives. To formalize these
notions, S.sub.n is defined as the truncated value of M.sub.n after
accounting for the left over fractional part, d.sub.n, from the
(n-1)-th interval, viz.,
and
where [a] denotes the largest integer less than or equal to a.
Since for accurate clocks, the range of M.sub.n, is very tightly
constrained, i.e., M.sub.max -M.sub.min =2y<M.sub.n, the
variation in S.sub.n is also smaller than its magnitude. It follows
from Equation (1) that
Since the maximum and minimum of d.sub.n are 1 and 0 respectively,
S.sub.n is bounded by,
This implies, that the most significant portion of S.sub.n carries
no information and it is necessary to transmit only its least
significant portion. This, therefore, is the essential concept of
the RTS. The minimum resolution required to represent the residual
part of S.sub.n unambiguously is a function of N, the ratio of the
network derived frequency to the service frequency, and the service
clock tolerance, .+-..epsilon.. The maximum deviation, y, between
the nominal number of derived network clock pulses in an RTS
period, M.sub.nom, and the maximum or minimum values of M
(M.sub.max or M.sub.min) is given by, ##EQU2## where M.sub.nom
equals ##EQU3##
A specific numerical example can be considered for clarity of
understanding. As illustrative derived network clock frequency and
service clock frequencies could be given by f.sub.nx =155.52 MHZ
(for x=1), and f.sub.s =78.16 MHz (nominal), respectively. A
typical RTS sampling period (N) is 3008, which corresponds to a
period of 8 cells and a 47-octet payload per cell (47
bytes/cell.times.8 bits/byte.times.8 cells per RTS period). Using
these numbers, M.sub.nom =5985.2119. If it is further reasonable to
assume that the service clock tolerance is 200 parts per million,
i.e., .+-.200.times.10.sup.-6. From equation (5), therefore,
y=1.197, which demonstrates that it is superfluous to transmit the
full S.sub.n in each RTS sampling period and transmission of the
last few (P) bits of S.sub.n is sufficient. This P-bit sample is
the Residual-TS (RTS).
FIG. 2 is a block diagram of the source node of an ATM network
showing apparatus for generating and transmitting the RTS. The
basic network clock, C, shown at 10, serves as the reference for
timing of all nodes of the synchronous network being here
considered. This clock, having a frequency f.sub.n, is divided in
frequency by a rational factor x by a divider 11 to produce a
derived network clock having a frequency f.sub.nx. Preferably, x
would be an integer value. The dividing factor is chosen so that
the P bits available can unambiguously represent the number of
derived network clock cycles within an RTS period. In the case
where ##EQU4## is less than or equal to two, as in the example
above, it can be shown that a 3-bit RTS is sufficient.
The derived network clock, f.sub.nx, drives a P-bit counter, which
is continuously counting these derived network clock pulses, modulo
2.sup.P. The service clock, f.sub.s, on lead 13, which is derived
from the service data signal (not shown) to be transmitted over the
ATM network, is divided in frequency by N, the desired RTS period
in units of f.sub.s cycles, by divide-by N circuit 14. As shown in
FIG. 2, the output of divider 14 is a pulse signal in which T.sub.n
is its n-th period. At every T seconds (N source clock cycles)
latch 15 samples the current count of counter 12, which is then the
P-bit RTS to be transmitted. As aforedescribed, this number
represents the residual part of S.sub.n and is all that is
necessary to be transmitted to recover the source clock at the
destination node of the network.
Each successive RTS is incorporated within the ATM adaptation layer
overhead by AAL processor 16. The associated data to be transmitted
(not shown) is also processed by processor 16 to form the payload
of the cells, which are then assembled by an ATM assembler 17,
which adds an ATM header for transmission over the network 18.
With reference again to the previous example, a four-bit counter
(P=4) can be assumed to be used. Since M.sub.nom =5985.2119 and
5985.2119 (modulo 16)=1.2119, a typical RTS output sequence when
the source is at nominal frequency will be as follows;
Since the counter 16, in effect, quantizes by truncation, the RTS
changes only by integer values. The changes in RTS are such that
their average is exactly equal to M.sub.nom (modulo 2.sup.P). In
this example, the changes are either 1 or 2 with the change of 2
occurring either every 4 or 5 RTSs in such a way that the average
interval is 1/0.2119=4.7198. In general, successive RTSs are
related by
In order to guarantee that no information is lost due to the modulo
arithmetic, i.e., that the transmitted RTS represents S.sub.n
unambiguously, it can be seen from equation (4) that the number of
bits used for transmission must satisfy:
Thus, in the example above, the number of bits allocated to the RTS
must be 3 or greater. It can be noted that the number of bits
necessary to unambiguously represent the number of derived network
clock cycles within the RTS period is substantially less than the
number of bits that would be required to represent the absolute
number of clock cycles within the same interval. In the example
above, for example, a 13-bit number would be required to represent
M.sub.nom.
If equation (7) is satisfied, knowledge of M.sub.nom in the
receiver at the destination node along with the received RTSs can
be used to reproduce the service clock from the synchronous network
clock. FIG. 3 shows one receiver implementation for reproducing the
service clock from the received RTSs. At the receiver the common
network clock 10 is available as it was at the transmitter. As in
the transmitter, a divider 31 divides the network clock frequency,
f.sub.n by the same factor of x as divider 11 in the source node,
to produce the same derived network clock signal having a frequency
f.sub.nx as was used by the transmitter at the source node of FIG.
2.
In a structure paralleling the transmitter in FIG. 2, a
disassembler 32 processes the ATM headers received from the network
18 and passes the payload to an AAL processor 33. In addition to
extracting the transmitted data (not shown), processor 33 extracts
the periodic transmitted RTSs, which are sequentially stored in a
FIFO 34, which is used to absorb the network cell jitter. The
earliest received RTS in FIFO 34 is compared by P-bit comparator 35
with the count of a free running P-bit counter 36, driven by the
derived network clock, f.sub.nx. Whenever the output of counter 36
matches the current RTS, comparator 35 generates a pulse. Since
counter 36 is a modulo 2.sub.P counter, the RTS in FIFO 34 matches
the count of counter 36 every 2.sub.P derived network clock pulses,
f.sub.nx. The output of comparator 35 thus consists of a train of
pulses that are separated, except for the first pulse, by 2.sub.P
cycles of the derived network clock. In order to select the output
pulse of comparator 35 that corresponds to the end of the fixed
period of the transmitted service clocks, which is the period per
RTS to be recovered, gating circuitry 37 is employed. Gating
circuitry 37, which includes a counter 38, a gating signal
generator 39, and an AND gate 40, gates only that pulse output of
comparator 35 produced after counting, from the last gated output
pulse, a minimum number, M.sub.l, of derived network clock cycles.
This minimum number, M.sub.l, is given by:
This ensures that [M.sub.max ]-2.sub.P <M.sub.l <[M.sub.min
], and thus the gating pulse is guaranteed to select the correct
RTS.
The gating function is best explained in conjunction with the
timing diagrams of FIG. 4. Initially, it can be assumed that gating
signal generator 39 is set to keep AND gate 40 open. Comparator 35
compares the first RTS in FIFO 34 with the free-running count of
counter 36. When the count of counter 36 matches this first RTS,
shown in FIG. 4 as "2", comparator 35 produces a pulse which is
gated through AND gate 40. This gated output pulse resets gating
signal generator 39 thereupon turning off AND gate 40, resets the
counter of counter 38 to zero, and reads the next stored RTS, "5",
in FIFO 34. When counter 36 reaches the count of "5", comparator 35
produces another output pulse. AND gate 40, however, is OFF and
remains off until counter 38 counts M.sub.l derived network clock
cycles. Therefore, as noted in FIG. 4, all the subsequent matches
of the RTS, "5" and the count of counter 36, which occur every
2.sub.P derived network clock cycles, are blocked by AND gate 40.
These subsequent pulses are blocked until counter 38 reaches a
count of that minimum number of clock cycles that can comprise the
fixed interval to be recovered from the RTS. After counting M.sub.l
derived network clock cycles, counter 38 generates a pulse which
signals gating signal generator 39 to open AND gate 40. The next
pulse produced by comparator 35 upon the match between the RTS in
FIFO 34 and the count of counter 36 is gated through AND gate 40.
This pulse, as before, resets counter 38, resets gating signal
generator 39, and reads-in the next stored RTS to the output of
FIFO 34. The resultant time difference between output pulses of AND
gate 40 is the desired fixed time interval, S.sub.n, to be
recovered from the transmitted RTSs. As previously defined in
equation (1), S.sub.n is the truncated value in the nth interval,
after accounting for a left over portion from the (n-1)-th
interval, of the actual number of derived network clock cycles
within the fixed interval defined by N source clock cycles. As can
be noted, S.sub.n modulo (2.sup.P) is equal to the difference of
the RTSs associated with the pulses matched by comparator 35 right
before and right after the reset. Thus in FIG. 4, for the n-th
period, this is the difference between "5" and "2", or "3", and for
the (n+1)-st period, this is the difference between "9" and "5" or
"4". The resultant pulse train at the output of gating circuitry 37
can be seen to duplicate the signal at the source node of the
network, which is defined by N service clock cycles, as modified by
the quantization effect of the RTSs. This pulse stream is input to
a multiply-by N phase-locked loop 41 which multiplies the frequency
by the factor of N and smooths out the variation of the reproduced
periods. The resultant output clock signal, f.sub.r, is the
reproduced service timing signal, which can be employed by the
circuitry at the destination node.
The above-described embodiment is illustrative of the principles of
the present invention. Other embodiments could be devised by those
skilled in the art without departing from the spirit and scope of
the present invention.
* * * * *