The present invention refers to a method and device for forwarding a clock synchronization message. The invention further refers to a forwarding arrangement comprising such a device.
Certain distributed systems like fixed or mobile access networks require that nodes of these distributed systems be precisely synchronized with each other. In some situations, synchronization accuracy in the order of microseconds or even nanoseconds is needed. The Precision Time Protocol (PTP) allows such high-accuracy synchronization. Frequency synchronization (in the context of PTP also referred to as “Syntonization”) of a slave clock with a master clock may be achieved by the slave clock listening to time synchronization messages transmitted by the master clock. Phase synchronization is based on measuring a round trip delay between the master clock and the slave clock and estimating the one-way delay therefrom.
The accuracy of the delay estimation is impacted by variations of a processing delay introduced by network nodes arranged between the master clock and the slave clock. The variations of the processing delay may be a result of varying lengths of a packet queue of the network node or varying computing time needed for packet forwarding decisions. In order to compensate the disturbing effect on the delay estimation, PTP defines a Transparent Clock (TC) that may be implemented in a network node that forwards PTP messages. A transparent clock measures the overall residence time of a packet within the network node and adjusts a correction field of the PTP message to be forwarded using the measured residence time, when the packet leaves the node. Typically, the network node adds the measured residence time to a value stored in the correction field. The compensation field of a PTP message having passed multiple transparent clocks and arriving at its destination node message thus includes an accumulated residence time of the message, i.e. the sum of all residence times in each network node that has forwarded the PTP message.
A destination node of the PTP message may subtract the accumulated residence time from a timestamp or a measured delay in order to remove the impact of the processing delay from the estimated delay, thereby improving the accuracy of the delay estimation.
However, in current networks, residence time is measured and corrected for between the ingress and egress of a same node, whereby the ingress and egress time stamps use a wall clock with same Epoch, and same advancing pace.
In particular, access networks often have different delays in downstream communication and in upstream communication (asymmetric delays) because of particular, medium related transmission techniques between the network nodes at each end of the medium. A transparent clock confined to operation within one physical network node cannot compensate for these transmission delay asymmetries. Also the peer delay measurement mechanism described by the IEEE1588v2 standard cannot solve this issue as these asymmetrical delays may vary considerably from packet to packet.
The object of the present invention is to provide a method and a device that allow for accurate clock synchronization even in case of asymmetric delays across sections between two or more nodes within a network. Moreover, the method and device should be simple to implement, require as little modifications to PTP as possible and work efficiently.
According to an embodiment of the present invention, a first method for forwarding a clock synchronization message is provided, the clock synchronisation message comprising a time correction field, a value of which describing an residence time of the clock synchronization message, the method comprising determining an arrival time of the message; calculating a modified residence time from the value of the time correction field and from an offset time derived from the arrival time; modifying the clock synchronization message so that the clock synchronization message includes the modified residence time; and forwarding the modified clock synchronization message comprising the modified residence time. In an embodiment, the method comprises receiving the clock synchronization message to be forwarded. The residence time may be a time during which the clock synchronization message was stored within a network node. In some cases, the clock synchronization passes multiple network nodes until it arrives at its destination node. In such cases, the residence time may be an accumulated residence time, i.e. the sum of the residence times of the message in the multiple nodes the message has passed. Although the modified residence time may not describe the (possibly accumulated) residence time directly, it is possible for a network element that receives the modified clock synchronization message forwarded by the method to determine a total residence time from the modified residence time. In an embodiment, the modified residence time may be stored in the time correction field of the modified clock synchronization message, i.e. the method may modify the clock synchronization message by replacing the residence time stored in the time correction field with the calculated modified residence time.
Because the method adjusts the residence time based on the offset time, which is calculated from a time of arrival, the modified clock synchronization message includes information about the arrival time. Thus, a receiving node that receives the forwarded modified clock synchronization message can determine the total residence time of the message within a forwarding arrangement including the transmitting node that executes the method, a receiving node and a transmission medium (e.g. electrical or optical transmission line) for transferring the message from the transmitting node to the receiving node. In other words, the forwarding arrangement provides a distributed transparent clock that includes the transmitting node, the transmission medium and the receiving node. The distributed transparent clock allows for precise clock synchronization even in case of asymmetric delays in the transmitting node, the transmission medium and/or the receiving node because the whole total residence time of the distributed transparent clock may be considered.
Moreover, the method can be implemented using already existing clock synchronization message format, e.g. exiting PTP message formats, without introducing additional messages. Even the definition of an additional extension field for the synchronization message is avoided. As a consequence, the method can be easily implemented and operates efficiently. The embodiments described herein are based on the inventor's finding that the residence time can be modified such that the modified residence time implicitly includes information about the arrival time without the need for additional explicit messages or additional message fields in the existing messages.
In an embodiment, the arrival time is measured using a local clock arranged for measuring a local time of a node that is executing the method. In this embodiment, a time stamp is created using the local clock, when the clock synchronization message is received. This timestamp describing the arrival time may be stored in a memory of the node or device executing the method so that the offset value can be derived from the timestamp.
In an embodiment, the offset time is a least significant portion of the arrival time. The arrival time may be a bit set. The least significant portion may be easily obtained by just selection a pre-defined number of least significant bits of the bit set.
In an embodiment, the offset time, e.g. the least significant portion of the arrival time, is a portion of the time of arrival describing an amount of time in a fractional second unit, preferably an amount of nanoseconds, since a last second roll-over of the local time. This embodiment is particularly well-suited when the arrival time is encoded by means of separate fields for seconds and nanoseconds, which is the case when using the timestamp representation specified the PTP standard.
In an embodiment, calculating the modified residence time includes subtracting the offset time from the residence time included into the clock synchronization message, which may correspond to a value of the correction field. In case that the clock synchronization message has already passed one or more PTP transparent clocks, the residence time included into the clock synchronization message received by the method typically describes the accumulated residence time of the message within the one or more transparent clocks.
In an embodiment, the method comprises including a least significant bit of a most significant portion of the arrival time in the modified clock synchronization message. Including said least significant bit into the clock synchronizations allows for detecting that a second roll-over has occurred which the clock synchronization was within the forwarding arrangement.
In an embodiment, the least significant bit of a most significant portion of the arrival time is included into the time correction field of the modified clock synchronization message. In another embodiment, any other bit of the clock synchronization message is used to hold the least significant bit of a most significant portion of the arrival time.
Although the methods described herein may be applied in connection with any clock synchronization protocol that has time synchronization messages that have a field that describe a residence time, in a preferred embodiment, the clock synchronization message is an event message according to the Precision Time Protocol (PTP).
According to another embodiment of the present invention, a device for forwarding a clock synchronization message is provided, the clock synchronisation message comprising a time correction field, a value of which describing a residence time of the clock synchronization message, wherein the device is operable for determining an arrival time of the message; calculating a modified residence time from the value of the time correction field and from an offset time derived from the arrival time; modifying the clock synchronization message so that the clock synchronization message includes the modified residence time; and forwarding the modified clock synchronization message comprising the modified residence time.
In an embodiment, the device is operable for executing the first method described herein.
According to yet another embodiment of the present invention, a second method for forwarding a clock synchronization message is provided, the clock synchronisation message comprising a time correction field the method comprising determining a transmission time of a modified clock synchronization message to be forwarded; calculating a modified residence time from a value of the time correction field and from an offset time derived from the transmission time; modifying the clock synchronization message so that the clock synchronization message includes the modified residence time; and forwarding the modified clock synchronization message comprising the modified residence time. The value of the time correction field may describe a time value such as the modified residence time determined by the first method an embodiment, the second method may modify the clock synchronization message by replacing value stored in the time correction field with the calculated modified residence time.
In an embodiment, calculating the modified residence time includes adding the offset time to the residence time. It should be noted that the offset time determined by the second method differs from the offset time calculated by the first method because the clock synchronization is processed by the second method at a later point in time than by the first method. In any case, the residence time modified by the second method reflects the total residence time of the clock synchronization message within the forwarding arrangement (i.e. the distributed transparent clock), possibly including the residence time within other transparent clocks before entering the section covered by the distributed transparent clock and the residence time of any nodes within the section covered by the distributed transparent clock.
In an embodiment, the method comprises extracting a least significant bit of a most significant portion of an arrival time encoded into the clock synchronization message, determining a corresponding least significant bit of a most significant portion of the transmission time and detecting a roll-over of the low significant portion (e.g. a second roll-over) if the two least significant bits differ from each other. When a roll-over has been detected then a value corresponding to one second has to be added to the residence time.
According to still another embodiment of the present invention, a device for forwarding a clock synchronization message is provided wherein the device is operable for determining a transmission time of a modified clock synchronization message; calculating a modified residence time from a value of the time correction field and from an offset time derived from the transmission time; modifying the clock synchronization message so that the clock synchronization message includes the modified residence time; and forwarding the modified clock synchronization message comprising the modified residence time.
In an embodiment, the device is operable for executing the second method described herein.
According to a further embodiment of the present invention, a forwarding arrangement for forwarding a clock synchronization message comprising a time correction field is provided, wherein the arrangement comprises a first network node operable for forwarding the synchronization message to a second node of the arrangement, the second network node being operable for transmitting the forwarded synchronization message to outside a section of a network covered by a distributed transparent clock function provided by the forwarding arrangement, wherein the first node comprises a device for executing the first method and the second node comprises a device for executing the second method.
In an embodiment, the first and the second nodes have local wall clocks that are synchronized with each other. These clocks may be synchronized by synchronization approaches that are specific to a transmission medium or system that connects the two devices with each other. For example, the frequency, phase and time synchronization may be based on standardized, medium specific mechanisms as for Passive Optical Network (PON) or Digital Subscriber Line (DSL) systems.
In an embodiment, the first node and the second node have local wall clocks that are both synchronized to a third master clock node in a network accessible by the first node and the second node. In a preferred embodiment, the third master clock generates at least some clock synchronization messages to be forwarded by the methods end devices described herein. Although synchronizing the two nodes with the third master clock node is not mandatory, such synchronization improves the accuracy of the distributed transparent clock. In addition, synchronization with the third node is a way to achieve clock synchronization between the first node and the second node.
In an embodiment, the arrangement is operable for forwarding Precision Time Protocol Event Messages in order to provide a Transparent Clock according to the Precision Time Protocol.
Exemplary embodiments and further advantages of the present invention are shown in the Figures and described in detail hereinafter.
The description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
Both the DRAM as well as the OLT are connected to a node 21a of a packet network 19 of the access network 11 e.g. by optical links. As shown in
The access network 11 has a time synchronization mechanism for synchronizing local clocks 23 of at least some network elements (NE) 21a, 21b, 21, OLT, DSLAM, ONT, CPE with a master clock 25 of the access network. The time synchronization mechanism is based on the Precision Time Protocol (PTP) specified in the IEEE standard 1588-2008, which corresponds to the international standard IE 61588. The document IEEE 1588-2008 is further referred to as the PTP standard. Using the terminology defined in the PTP standard, the master clock 25 is also referred to as Grand Master clock (GM).
Unlike the local wall clocks 23 of the individual network elements NE, the master wall clock 25 has direct access to a precise time base that may be provided by a primary reference clock PRC. The PRC provides a precise reference frequency source as well as a Time of Day (ToD) according to a predefined time scale (e.g. UTC, GPS time scale, etc.). In an embodiment, the primary reference clock PRC includes a Global Positioning System (GPS) receiver for receiving time information from the GPS.
The master clock 25 is operable for transmitting time synchronization messages that contain a time stamp that specifies the transmission time of the message measured by the primary reference clock PRC. To this end, the master clock comprises a time stamping arrangement 27 that inserts the transmission time into a field of the synchronization message. In another embodiment, the timestamp is not included in the synchronization message but sent in a separate follow-up message transmitted after the synchronization message. Using a follow-up message allows using hardware that is capable to determine the timestamp for a message but cannot include it into this message. According to the PTP standard, time stamping is applied to PTP event messages. Besides the event messages, PTP uses general messages to which time stamping is not applied and that do typically not contain a timestamp.
As shown in
Other nodes 21 of the network 11 may include a PTP Boundary Clock (BC). A boundary block synchronizes its local wall clock 23 with the master wall clock 25 using PTP event messages and allows other nodes 21 to synchronize their local clocks 25 with the local clock 21 of the boundary clock BC. A boundary clock BC has a time stamping arrangement 27 that functions at least similarly as the time stamping arrangement 27 of the grand master clock GM.
As can be seen in
Transmission characteristics at the subscriber lines 13, 17 are asymmetrical. As a consequence, at least in some situations, a transmission delay in downstream direction (from the DSLAM or OLT to the CPE or ONT) is different from a transmission delay in upstream direction (from the CPE or ONT to the DSLAM or OLT). This asymmetry decreases the accuracy of time synchronization between e.g. the master clock GM or a boundary clock BC and a clock in the ONT or CPE or in nodes of networks connected to the ONT or CPE. In order to avoid accuracy problems due to this asymmetry, the network 11 has a distributed transparent clock DTC that includes the DSLAM, an electrical subscriber line 13 and the CPE connected to that subscriber line 13. Another distributed transparent clock DTC includes the OLT, the optical subscriber line 17 and the ONT connected to that subscriber line. Embodiments of distributed transparent clocks DTC are shown in more detail in
In
After a start 35, the first method 33, performs a step 37 for receiving the time synchronization message M. A step 39 of the first method 33 determines an arrival time TA of the time synchronization message at the receiving interface 31. Step 39 may include retrieving a momentary value of the local clock 23 of the node that has received the message and that is executing the first method 33. The retrieved momentary value corresponds to arrival time TA of the message M.
A subsequent step 41 of the first method 33 adjusts a value corr of the time correction field of the message M. Although the present invention may be applied in connection with any clock synchronization protocol that uses messages that have the correction field describing a residence time of the message M within a node or a region of a communication network, embodiments described herein refer to PTP. Accordingly, the clock synchronization messages may be PTP event messages. The time correction field of a PTP event message (in the PTP standard referred to as correctionField) is a signed integer value corr representing a time interval in increments of 1/65536 ns. The signed integer value has a size of 64 bits.
In
Besides the original and modified correction field,
In general, a low significant portion and a high significant portion can be constructed from the arrival time TA. Each bit of the high significant portion has a higher significance than every bit of the lower significant portion. The time correction field describes the length of a time interval, where a maximum absolute value of this length may be less than a valid time value of the arrival time TA. For example, the correction field used in PTP can encode a maximum value of about 78 hours. The absolute time, however, encoded in the arrival time TA is the time since the epoch of the used time scale (e.g. the time since Dec. 31, 1969, 23:59:50).
As can be seen in
The offset value O may be the low significant portion of the arrival time TA. In order to avoid an overflow when adjusting the residence time (e.g. by subtracting or adding), the low significant portion should be pre-selected such that a time value of the low significant portion can be encoded in the time correction field. When using the PTP, the low significant portion should never exceed the above-mentioned maximum value of about 78 hours. In the shown embodiment, the first method 33 uses the nanoseconds field ns as the low significant portion. The remaining bits of the arrival time TA, i.e. the seconds field s, is considered to be the high significant portion of the arrival time TA. The high significant portion is not used for adjusting the residence time.
However, it is possible to define the high significant portion and the low significant portion in a different way. For example, all bits of the nanoseconds field and one bit of the seconds field s could constitute the low significant portion. In another example, only some of the bits of the nanoseconds field ns form the low significant portion. Moreover, constructing the high significant portion and the low significant portion need not correspond to subdividing the arrival time between adjacent bits. In an embodiment, the low significant portion may correspond to minutes of the arrival time and the high significant portion may correspond to hours. However, calculating so defined low significant and high significant portions from the arrival time shown in
In the shown embodiment, subtracting the arrival time TA from the residence time is accomplished by subtracting the nanoseconds field ns of the arrival time from a non-fractional part (bits 63 to 16) of the time correction field, e.g. by means of a subtractor 43. The fractional part (bits 15 to 0) of the time correction field corr is not modified in the shown embodiment because the resolution of the arrival time TA is limited to ns increments. A result diff[63:16] of this subtraction is copied into the 48 most significant bits of the modified correction field corr.
In the shown embodiment, one pre-defined bit of the modified correction field corr′ does not correspond to one of the bits of the result diff but includes the least significant bit R of the high significant portion of the arrival time. In the shown embodiment, this bit R correspond to the least significant bit (i.e. bit 0) of the seconds field s. The R bit allows for detecting a second roll-over of the local time of the distributed transparent clock DTC while the modified time synchronization message M′ circulates within the distributed transparent clock.
Any bit position within the time correction field corr that is not critical for accurate encoding of the residence time may be used to hold the bit R. In the shown embodiment, the bit position next to the sign bit S (i.e. bit 62) of the correction field corr is used to hold the R bit. In another embodiment, one of the fractional bits corr[15:0] of the correction field may be used to hold the R bit.
The result of step 41 is the modified correction field corr′. In the shown embodiment, the modified correction basically reflects the difference of the original residence time (as indicated in the correction field of the original time synchronization message M received in step 37) and the low significant portion of the arrival time TA. Furthermore, the modified correction field may include the R bit.
A step 45 of the first method 33 replaces the correction field corr of the received message M with the modified correction field corr′ thereby creating a modified clock synchronization message M′. In the shown embodiment all fields of the clock synchronization message M except the correction field corr are left unmodified when generating the modified clock synchronization message M′ from the received clock synchronization message M.
In a step 47 of the first method 33, the modified clock synchronization message is forwarded to another node 21 of the distributed transparent clock DTC. After the completion of step 47, the method 33 may return to step 37 so that the next clock synchronization message M can be processed.
The other node 21, which to which the node 21 executing the first method 33 forwards one or more modified clock synchronization messages M′, may operable for executing a second method 45. A flowchart of the second method 45 is shown in
After a start 48 of the second method 45, the second method 45 executes a step 49 for receiving the modified clock synchronization message (e.g. a PTP event message) which may have been forwarded by a node 21 of the distributed transparent clock DTC. A step 51 of the second method 45 determines a transmission time TT of a further modified synchronization message M″ to be transmitted by the second method 45.
The second method 45 comprises an adjusting step 53 for adjusting the time correction field corr of the received message M′ based on a further offset value P calculated from the transmission time TT.
The operations of the adjusting step 53 are shown in more detail in
The further offset value P is calculated in the same manner as the offset value O used in the first method 33. In the shown embodiment, the further offset value P corresponds to the nanoseconds field ns of the transmission time TT.
For calculating the further correction field corr″, the received modified correction field is used, with the bit position that holds the R bit being replaced with a zero bit. In the shown embodiment, the R bit is stored in the bit 62 of the modified correction field, i.e. in the bit position next to the sign bit S. Accordingly, bit 62 is replaced with “0” for the sake of adjusting the residence time. The residence time stored in the modified correction field corr′ is adjusted by adding the modified correction field corr′ with the bit R replaced with “0” and the offset value P. This addition may be performed by a first adder 55.
The R bit is used to handle cases where a second roll-over occurs in the synchronized local clocks of the two nodes of the distributed transparent clock DTC. To this end, an XOR operation is performed on the R bit and the least significant bit L of the high significant portion of the transmission time TT. in the shown embodiment, the high significant portion corresponds to the seconds field s of the transmission time TT. Thus, said least significant bit L is the least significant bit of the seconds field s of the transmission time TS.
If the result of the XOR operation is one then the result of the addition performed e.g. by the adder 55 is used as the new value of bits 63 to 16 of the further modified correction field corr″. Otherwise, a value corresponding to one second is added to the result of the addition. Since the shown example of the second method 45 modifies the bits of the modified correction field corr′ that correspond to a non-fractional part of the residence time only, the value to be added is 1·109. The result of the latter second addition is then used as the new value bits 63 to 16 of the further modified correction field corr″. As shown in
The additional correction for handling second roll-overs is illustrated in
A step 63 of the second method 45 (see
The second method 45 then executes a step 65 for forwarding the further modified clock synchronization message M″ to a node 21 of the network 11 that is not part of the distributed transparent clock. Then, the second method 45 continues with step 49 for processing the next clock synchronization message.
It should be noted that the clock synchronization messages M and M″ that are exchanged between the distributed transparent clock DTC and nodes outside of the transparent distributed clock DTC comply with the PTP standard. As a consequence, the distributed transparent clock behaves (from the point of view of the nodes outside of the distributed transparent clock) like a non-distributed transparent clock described in the PTP standard. The clock synchronization messages exchanged within the distributed transparent clock have the same format as conventional PTP messages. However, the correction field is interpreted differently. Therefore, the two methods 33, 45 allow for implementing a transparent clock relying on existing PTP message formats without introducing additional message types. Thus, such the distributed transparent clock is simple to implement.
It should be further noted that the docks, e.g. the local clocks 23, described therein may be wall clocks. A wall clock is a function or device that provides absolute time information, e.g. calendar time information and/or time of day information. In addition, a wall clock may provide frequency and/or phase information. For example, the arrival time TA and/or the transmission time TT may be absolute time information provided by the local clock 23 of the respective node 1.
Both methods 33, 45 may be implemented in software, hardware or any combination of software and hardware. In an embodiment at least the operations for replacing the correction field shown in
Number | Date | Country | Kind |
---|---|---|---|
14305363.5 | Mar 2014 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/054836 | 3/9/2015 | WO | 00 |