(Not applicable)
The present invention relates generally to the implementation of a mechanism to synchronize a Real-Time Scheduled Packet Network. A Real-Time Scheduled Packet Network requires precise synchronization to ensure that packets transmitted at a precise time arrive at the next receiver at a predetermined time.
Many types of networks require synchronization; most require that the timing in each of the network elements is frequency-synchronized, but Real-Time Scheduled Packet Networks require both frequency synchronization and phase information.
The present invention uses a novel approach to achieve phase alignment. Rather than requiring Global Positioning System (GPS) receivers in each network element, or by measuring propagation delay of each link, the present invention uses periodic synchronization packets (called Heartbeats) to synchronize transmitters and receivers in the network. These Heartbeats do not contain any timestamps. Furthermore, the timing sources in each network element do not need to be aligned in phase. Instead, the relative phase of each link is determined. This relative phase is called “Link Phase.”
The present invention allows any link to have asymmetric propagation delay, that is, the propagation delay from Point A to Point B can be significantly different from the propagation delay from Point B to Point A. Asymmetric propagation delay is common in certain types of transmission topologies, such as unidirectional path switched rings.
These and other features, advantages, aspects and embodiments of the present invention will become more apparent to those skilled in the art from the following detailed description of an embodiment of the present invention when taken with reference to the accompanying drawings, in which:
U.S. Provisional Patent Application No. 60/490,609, titled “Systems and Methods for the Synchronization of a Real-Time Scheduled Packet Network Using Relative Timing,” filed Jul. 28, 2003, and U.S. patent application Ser. No. 09/746,744, titled “Scheduled Network Packet Switch,” filed Dec. 22, 2000, are hereby incorporated by reference herein.
The present invention provides techniques, in which the heartbeats of switches are not adjusted in phase. In accordance with the presently disclosed techniques, Link Phase provides a per-link adjustment in this regard.
The present disclosure has two main parts: Frequency Synchronization and Link Phase Calculation.
1. Frequency Synchronization
All Scheduled Switch/Routers (SSRs) and Scheduled End Points (SEPs) (collectively referred to herein as “nodes”) in a scheduled network are synchronized in frequency by the distribution of synchronization packets called Heartbeats. Frequency synchronization is used to overcome the variation of individual frequency references in each SSR and SEP. All individual frequency references are synchronized to the same frequency. Frequency synchronization is based on the frequency of arriving heartbeats, which is an inverse of the time period between heartbeats.
At least one SSR is selected to be a “Master” SSR. The SEPs and the other SSRs are synchronized, in frequency, to the Master SSR(s). A “Heartbeat tree” is created for each Master SSR. A Heartbeat tree is the set of paths that distributes Heartbeats from each Master SSR to all SEPs and the other SSRs. The Master SSR forms a root of a Heartbeat tree.
The structure of the Heartbeat tree (i.e., its branches) are determined by the proximity (number of hops) of each SSR and each SEP to the Master SSR. The path to each SSR or SEP from the Master should comprise a minimum number of hops. On the tree, Heartbeats flow from the Master SSR to each SSR and SEP, synchronizing all the SSRs and SEPs to the Master SSR frequency reference, based on the frequency of arriving Heartbeats, i.e. based on the time period between Heartbeats. Although Heartbeats are sent on every scheduled port, only Heartbeats on the tree are used to synchronize SSRs and SEPs. Non-Master SSRs and SEPs synchronize the frequency of their internal frequency references to the incoming Heartbeats received on the designated port of the Heartbeat tree. The timing references of non-Master SSRs and SEPs are allowed to have any phase relative to the Master SSR, but once frequency-synchronized, this relative phase is locked to the Master SSR phase (i.e., the relative phase is constant). This frequency synchronization can be done using a variety of feedback mechanisms, such as digital phase-locked loops. Other mechanisms are well within the capability of those skilled in the art.
It is possible to designate more than one SSR as a Master for Heartbeat distribution. Multiple non-intersecting Heartbeat trees are determined, with a Master as the root of each tree. Since each Master, and its tree, operates independently, each Master should be synchronized to an external timing reference derived from a highly stable common source, such as a GPS or BITS. An example network diagram with two Master SSRs is shown in
If any link of the Heartbeat tree fails, the SSR or SEP that was deriving Heartbeat timing from a port connected to that link transitions to a holdover mode. Downstream SSRs or SEPs continue to derive Heartbeat timing from their respective branches of the tree. The Heartbeat tree is modified as soon as possible to use other operational links, to ensure all nodes stay frequency-synchronized to a Master SSR.
Each SSR or SEP frequency reference has an arbitrary phase offset from the master SSR frequency reference, even though the frequencies of each reference are synchronized. There is no need to phase-align the timing references in each SSR or SEP. Instead, a phase calculation is determined on each link between SSRs or SEPs (in each direction).
2. Link Phase Calculation
The final synchronization step is to determine the phase of each scheduled link (the Link Phase). The determined Link Phase is the relative displacement of heartbeat packet arrival times at specific input ports. Once the Link Phase is known, the packet arrival times on any link from Point A to Point B can be calculated using the transmission time at Point A.
As previously noted, once Frequency Synchronization has been achieved, each SSR and each SEP independently generates heartbeat packets at the frequency determined during Frequency Synchronization. Accordingly, received heartbeat packets are not forwarded. Specifically, each SSR and each SEP transmits these Heartbeats on all scheduled ports in accordance with the frequency determined during Frequency Synchronization. A scheduled port is a port that: 1) supports scheduled packets and 2) has been determined to be connected to another port that supports scheduled packets. Heartbeats are transmitted on all ports of a node at the same time.
The Link Phase of a Link from Point A to Point B is calculated by the receiver (an SSR or SEP) at point B and is equal to the arrival time of Point A's Heartbeat minus the time of Point B's last generated Heartbeat.
LinkPhaseAB=Heartbeat_TimeAB−Heartbeat_TimeB (1)
where Heartbeat_TimeAB is the arrival time of a Heartbeat packet at Point B (SSR-B or SEP-B) that was transmitted from Point A (SSR-B or SEP-A), and Heartbeat_TimeB is the transmit time of the Heartbeat at Point B that was transmitted at or before the arrival time of the Heartbeat packet from Point A.
Since the time between Heartbeats on all SSRs and SEPs is the same (because they are synchronized in frequency), the Link Phase of any link is in the range [0-T], where T is the time interval between Heartbeats.
The Link Phase in the opposite direction, from Point B to Point A, uses a similar formula but in general produces a different result than the Link Phase of the link in the direction from Point A to Point B:
LinkPhaseBA=Heartbeat_TimeBA−Heartbeat_TimeA (2)
Assume that SSR-A is the Master SSR. The phase offset of SSR-B (compared to the SSR-A Master) is arbitrary, and is shown as ΦB 320, which can be measured in phase (0 to 360 degrees) or measured in terms of the Heartbeat period (0 to T, where T is the time interval between Heartbeats). The value of ΦB does not need to be determined.
The Link Phase is calculated in the same manner by each receiving SSR, regardless of the phase relationship of SSR or SEP Heartbeat timing references at either end of the link.
It is not necessary to know the propagation delay (Delay) of any link in order to determine the Link Phase. Link Phase is, however, related to Delay. The formula relating Link Phase and Delay on a link from a Master SSR at point A to an SSR or SEP at point B is:
LinkPhaseAB=(DelayAB−ΦB) modT (3)
LinkPhaseBA=(DelayBA+ΦB) modT (4)
Note: “mod” is the modulo function. The equation “y=x modT” yields a value such that y<T, and (x−y) is divisible by T. The result of this modulo function is expressed as a value in the range [0-T] using the time reference of the SSR or SEP performing the calculation. For LinkPhaseAB, the SSR-B receiver performs the Link Phase calculation. For LinkPhaseBA, the SSR-A (Master SSR) receiver performs the Link Phase calculation.
Since the value of ΦB (the phase of the timing reference at point B) is unknown and arbitrary, it is not possible to determine the one-way propagation delay of individual links using the present invention. However, the round-trip delay (DelayAB+DelayBA) can be determined if it is known to be less than T, the time interval between Heartbeats.
Those skilled in the art can determine that Equation (3) and Equation (4) can be combined to yield:
(DelayAB,BA) modT=(LinkPhaseAB+LinkPhaseBA) modT (5)
where DelayAB,BA (the round-trip delay between point A and point B)=DelayAB+DelayBA
To further illustrate the present invention, consider the case where there are three SSRs, all inter-connected with direct connections. This is illustrated by
LinkPhaseAB=Heartbeat_TimeAB−Heartbeat_TimeB (6)
LinkPhaseBA=Heartbeat_TimeBA−Heartbeat_TimeA (7)
LinkPhaseAC=Heartbeat_TimeAC−Heartbeat_TimeC (8)
LinkPhaseCA=Heartbeat_TimeCA−Heartbeat_TimeA (9)
LinkPhaseBC=Heartbeat_TimeBC−Heartbeat_TimeC (10)
LinkPhaseCB=Heartbeat_TimeCB−Heartbeat_TimeB (11)
The round-trip delay, if known to be less than T, can be calculated between each pair SSRs. Once again, assume that SSR-A is the master. SSR-B has a phase offset, ΦB. Likewise, SSR-C has an arbitrary clock offset, ΦC, so the resulting relationships among the Link Phases and the Delays are:
LinkPhaseAB=(DelayAB−ΦB) modT (12)
LinkPhaseBA=(DelayBA+ΦB) modT (13)
LinkPhaseAC=(DelayAC−ΦC) modT (14)
LinkPhaseCA=(DelayCA+ΦC) modT (15)
LinkPhaseBC=(DelayBC+ΦB−ΦC) modT (16)
LinkPhaseCB=(DelayCB−ΦB+ΦC) modT (17)
Those skilled in the art can combine Equations (12) and (13), Equations (14) and (15) and Equation (16) and (17) to relate round-trip delay and Link Phase:
(DelayAB,BA) modT=(LinkPhaseAB+LinkPhaseBA) modT (18)
(DelayAC,CA) modT=(LinkPhaseAC+LinkPhaseCA) modT (19)
(DelayBC,CB) modT=(LinkPhaseBC+LinkPhaseCB) modT (20)
An illustrative example of a scheduled packet 600 passing from one SSR to another SSR via a third SSR is shown in
In this example, SSR-A transmits a scheduled packet at relative time TA (relative to SSR-A's heartbeat). This packet begins to arrive at SSR-B at relative time TB1 (relative to SSR-B's heartbeat), where
TB1=(TA+LinkPhaseAB)modT (21)
SSR-B begins to transmit this scheduled packet at relative time TB2 (relative to SSR-B's heartbeat).
TB2=(TB1+XB)modT=(TA+XB+LinkPhaseAB)modT (22)
where XB is the transfer delay of a packet through SSR-B.
SSR-C begins to receive this scheduled packet at relative time TC (relative to SSR-C's heartbeat), where:
TC=(TB2+LinkPhaseBC)modT (23)
It should be appreciated that modifications to and variations of the above-described methods and system may be made without departing from the inventive concepts disclosed herein. Accordingly, the invention is not to be viewed as limited except by the scope and spirit of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 60/490,609 titled “Systems and Methods for the Synchronization of a Real-Time Scheduled Packet Network Using Relative Timing,” filed Jul. 28, 2003.
Number | Date | Country | |
---|---|---|---|
60490609 | Jul 2003 | US |