Method for providing time synchronization in a network
17 claims: 11 independent, 6 dependent
- 1Method for providing time synchronization in a network including network nodes (40,41,44,45,46), said method comprising - defining one of said nodes as a time synchronization master node (40), - defining other ones of said nodes as time synchronization slave nodes (41,44,45,46), characterized by - sending a synchronization tick on the network from at least one of said time synchronization slave nodes (41,44,45,46) at regular intervals or on demand, - receiving the tick at all of said nodes (40,41,44,45,46), - at least at each of said time synchronization slave node (41,44,45,46) requiring synchronization, recording the local tick arrival time, - said time synchronization master node (40), upon detection of such a tick, sending a message containing the tick arrival time at said time synchronization master node, to any of said time synchronization slave node (41,44,45,46) requiring time synchronization, - at least at each of said time synchronization slave node (41,44,45,46) requiring synchronization, receiving said message containing the tick arrival time at said time synchronization master node (40), - at least at each of said time synchronization slave node (41,44,45,46) requiring synchronization, comparing the tick arrival time contained in the message with the recorded local tick arrival time of the respective slave node and updating a local clock by the difference between the local tick arrival time and the tick arrival time at the master node (40).
- 4Method as claimed in any of the preceding claims, characterized in that said local node (41,44,45,46) is adapted to communicate with a Synchronization Time Detector for detecting a tick in the raw data stream received from the network interface.
- 5Method as claimed in any of the preceding claims, characterized in that said local node is adapted to keep time between synchronization messages.
- 6Method as claimed in any of the preceding claims, characterized in that any node is adapted to receive a Time Distribution Message plus the amount of time that has passed since the tick arrived.
- 7A method as claimed in any of the preceding claims, characterized in that any one of the slave nodes (41,44,45,46) being arranged to send the tick after a reset of the respective slave node.
- 8A method as claimed in any of the preceding claims, characterized in that the slave nodes (41,44,45,46) have different requirements for time accuracy, each slave node or one of a group of slave nodes sends a tick to the time synchronization master node (40) when needed.
- 9A method as claimed in any of the preceding claims, characterized in that one slave node (41) is a time submaster node which synchronizes itself with the master node, and that at least one further slave node (42,43) is synchronized with the time submaster node (41).
- 10A method as claimed in any of the preceding claims, characterized in that the synchronization tick is a predetermined network event.
- 11A network having a a time synchronization arrangement in which in one node in the network is a time synchronization master node (40), the remaining nodes (41,44,45,46) being time synchronization slave nodes synchronized with the master node (40), characterized in that at least one slave node (41,44,45,46) in the network is arranged to send a synchronization tick on the network at regular intervals or on demand, the time synchronization master node (40) being arranged to, upon detection of such a tick from said at least one slave node (41,44,45,46), send a message containing the tick arrival time at the master node (40) to any node (41,44,45,46) requiring time synchronization, any slave node (41,44,45,46) requiring time synchronization is arranged to the receive the tick and the message, and to check the tick arrival time in the message against the slave node's (41,44,45,46) own stored tick arrival time and update the slave node's local (41,44,45,46) clock by the difference between the local arrival time and the arrival time at the master node (40).
- 15A time synchronization slave node for network having a time synchronization arrangement in which in one node in the network is a time synchronization master node (40) and the remaining nodes are time synchronization slave nodes (41,44,45,46) synchronized with the master node (40), characterized in that the slave node (41,44,45,46) is arranged to receive a synchronization 20 tick from the network, the slave node (41,44,45,46) is arranged to record the local tick arrival time, the slave node (41,44,45,46) is arranged to receive from the synchronization master node (40) a message containing the tick arrival time of the tick at said synchronization master node (40), and the slave node (41,44,45,46) is arranged to compare the tick arrival time, contained in the message, with the recorded local tick arrival time and to update a local clock by the difference between the local tick arrival time and the tick arrival time at the master node (40) .
Independent claims11
43 paragraphs, as filed
Field of the invention
0001The present invention relates to a method for providing time synchronization in a network, especially in a Local Area Network (LAN), in which the network a (selected) node comprises a Master Time Distributor designed for broadcasting clock information on demand.
Background of the invention
0002A common problem in Local Area Networks (LAN) is the concept of Absolute Time. Even if one node is designated a role of Master Time Distributor and responsible for broadcasting clock information on demand, the medium access mechanism of LAN introduces an unpredictable delay to the transfer of time synchronization message. This delay can easily surpass the required precision of the Absolute Time, rendering the whole concept meaningless. In addition. the duration of the time synchronization message and the message handling delays in the receiving nodes introduce further uncertainties.
Prior art
0003From US 5 408 506 (Mincher et al.) there is a distributed time synchronization system and method, wherein some nodes will have their frequency amended in relation to a virtual master clock value.
0004US 5 440 556 (Edem et al.) relates to a method wherein two circuits on each side of a network line are synchronized to the same reference clock by sending each circuit a 125µs pulse.
0005US 5 602 922 (Danneels) relates to a system for synchronizing data transmitted from a server to a client, by initializing the clock when the first packet has been received and furthermore comparing the clock times with the packet time. This system may be relevant in connection with video, where time distances are relevant.
0006US 5 544 324 (Edem et al.) relates to a network for transmitting isochronous data by using a frame structure having a variable number of time slots to compensate for timing variants between reference clocks and data rate. An example of an isochronous data sync is a video monitor which can receive a continuous stream of video data for display, and this prior art seeks to transfer such isochronous data in a more appropriate manner.
0007EP 0 697 774 discloses a method for estimating the clock offset between the clocks of a pair of communications stations.
0008WO 87/04306 (Ketzler/ETA Systems) relates to an electronic clock control system for digital data computers. The system comprises of a master oscillator distributing clock signals to a number of circuit cards for regulating the time delay to each circuit card.
0009WO 93/04544 (Wray/Motorola) relates to a method for adjusting a synchronization signal with a received data signal by using an error signal which defines the difference between the two signals.
0010WO 93/14570 (Bergström/Asea Brown Boveri) relates to a method and device, used for tuning an internal generated clock pulse signal by using master and slave units in a FLL circuit.
Summary of the invention
0011The object of the present intention is to introduce a method of time distribution that will circumvent the problem of unpredictable delays, for thereby enabling a very accurate time synchronization.
0012This object is based on a defined network event called a "tick". The requirement for such a tick is only that it can be transmitted on a network, and is unique and easily recognizable. Some possible tick candidates are: <ul id="ul0001" list-style="dash" compact="compact"><li>One or more legal network addresses in the packet</li><li>One or more legal network group addresses in the packet</li><li>A legal packet with enforced code violation in the predefined part</li><li>A predefined sequence of bits ending in a code violation</li><li>A pulse of predefined length</li></ul>
0013The object of the invention is achieved with a method, a network, and a time synchronization slave node as defined in the attached independent claims.
0014The node which sends (broadcasts) the tick may be the master node or any one of the slave nodes. There are several advantages gained by the use of a slave node for sending the tick instead of the master node. Firstly, the processing load required at the master node will be reduced since the master node with the highest processing load and with no need of precise time synchronization does not have to process all ticks and is able to dedicate its processing power to primary functions. Receiving a tick from a slave node, the master node will send the time message containing the arrival time of the tick at the master node and being addressed to a all slaves, to a group of slaves, or to a specific slave node requesting the synchronization.
0015Secondly, a slave node which has lost the synchronization is able to restore the synchronization more rapidly. Let us assume that a slave is reset and then booted up. If it is the master node only which sends the tick the delay between the booting up the slave node and receiving the tick and the associated time message and thereby the synchronization of the slave node may be relatively long. When the tick is send by the slave node after the reset, eg. In the end of the booting procedure, the synchronization is achieved as soon as possible, without need of waiting for master synchronization cycle.
0016Thirdly, the slave nodes may have different requirements for time accuracy and thereby different cycle times of time synchronization. In case it is the master node which sends the ticks, the ticks will be sent to all the slave nodes with the cycle time of the node(s) having the most strict timing requirements. This results in unnecessary loading of the master node particularly and also the slave nodes with a less strict timing requirements. When each node, or one node in a group of slave nodes having similar timing requirements, is able to send the tick when required, i.e. at regular intervals or on demand, the loading will be optimized. By providing two or more different ticks it is possible to arrange the slave nodes into two or more groups having different timing requirements or loading situations, so that slave nodes in one group is not able to recognize a tick send by a slave node in another group. As a consequence, heavily loaded slave nodes having less strict timing requirements will not recognize a frequently sent tick of another group and will not waste time and processing capacity for unnecessary synchronization events.
0017In one embodiment of the invention one slave node in a group of slave nodes is nominated as a time submaster node which synchronizes itself cyclically with the master node by means of the method according to the invention. The other slave node(s) in the group is (are) synchronized very accurately with the submaster node by means of the method according to the invention. This arrangement will still further decrease the loading of the master node.
0018Further features and advantages of the present solution will appear from the following description of suggested embodiments, as well as from the appending patent claims.
Brief disclosure of the drawings
0019The invention will now be further described, with reference to the enclosed drawing. <ul id="ul0002" list-style="none" compact="compact"><li>Figure 1 is a diagram illustrating the clock distribution sequence using conventional methods.</li><li>Figure 2 is a diagram illustrating the time synchronization using the methods according to the present invention.</li><li>Figure 3 is a block diagram illustrating an embodiment wherein the present invention can find its application,</li><li>Figure 4 is a signalling diagram illustrating the time synchronization wherein a slave node sends the tick.</li></ul>
Detailed description of the invention
0020Firstly, reference is made to Fig. 1 which is a diagram illustrating the clock information distribution sequence using conventional methods.
0021In Fig. 1 the numeral references herein mean: <ul id="ul0003" list-style="none" compact="compact"><li>1 Time Sync Master Software reads master clock, prepares time message</li><li>2 Time Sync Master Software puts the time message in transmit queue</li><li>3 Maximum allowable difference between local clocks</li><li>2-4 Time Sync Master waits for transmit permission</li><li>4 Time Sync Master transmits the time message and Time Sync Slave receives the time message</li><li>5 Time Sync Slave Software finished processing the received time message</li><li>6 Difference between Time Sync Slave clock and Time Sync Master clock.</li></ul>
0022The problem with this prior art solution lies in the time interval from 2 to 4 - the period when a clock message is ready for transmission but the node has not yet gained access to the network. The length of this time interval is very hard to predict, as it depends on the bus access mechanism and the current state of the network.
0023Next reference is made to Fig. 2 which is a diagram illustrating the time synchronization using the methods according to the present invention
0024In Fig. 2 the numeral references therein mean: <ul id="ul0004" list-style="none" compact="compact"><li>1 Time Tick Master Software puts a tick in the transmit queue</li><li>2-4 Tick is queued, waiting for transmission</li><li>4 Tick is on the network medium and all Time Tick Slaves receive the tick</li><li>5 Time Tick Slave Software notes the local tick arrival time (T<sub>lt</sub>), Time Sync Master Software prepares time message containing the master clock tick arrival time (T<sub>mt</sub>) and puts it in the transmit queue</li><li>5-6 Message containing the absolute time (master clock tick arrival time) is queued in the Time Sync Master Node, waiting for transmission</li><li>6 Time Sync Master transmits the master clock time message on the network medium</li><li>7 Each Time Sync Slave receives the time massage (the receiving instant can be different from node to node) and updates its local time (T<sub>1</sub>) by the time difference between the recorded local tick arrival time and the received master clock time message (T<sub>1</sub> = T<sub>1</sub>+ T<sub>mt</sub> - T<sub>lt</sub>).</li></ul>
0025If we now look at Fig. 2, the situation is quite different when compared with Fig. 1. The tick does not contain any clock information. It is intended for all nodes that need absolute time update. The only important thing about the tick is that it should arrive at all such nodes with the same delay every time. When it arrives, each node stores the local time value on its arrival. The Time Sync Master node then prepares a master clock time message containing the time when the tick arrived and transmits it on the network. When this message arrives, all nodes can check the master clock time against their own stored tick arrival time and update their local clock by the difference between the local arrival time and the master clock time.
Basic principle
0026The basic principle of the Very Accurate Time Synchronization system is that the time distribution procedure is changed from one-step to two-step. <ul id="ul0005" list-style="dash" compact="compact"><li>A synchronization event (tick) is defined on the LAN. The only restriction on such a tick is only that it is unique and easily recognizable. The tick may also called a synchronization message. Some possible tick candidates are:</li></ul><ul id="ul0006" list-style="dash" compact="compact"><li>One or more legal network addresses</li><li>One or more legal network group addresses</li><li>A legal packet with enforced code violation in the predefined part</li><li>A predefined sequence of bits ending in a code violation</li><li>A pulse of predefined length</li><li>A synchronization event is detected in a specified position in the tick.</li></ul>
0027The two-step time distribution procedure is as follows: <ol id="ol0001" compact="compact" ol-style=""><li>1. One node of the LAN is responsible for generating synchronization events at regular intervals or on demand. The detection of a synchronization event by LAN nodes is a time-critical element of the procedure</li><li>2. One node of the LAN is assigned the role of the Master Time Distributor. Whenever this node detects a synchronization event on the LAN, it records the time when the event was detected and broadcasts a message containing the recorded time to all nodes that require time synchronization. The transfer of this message is not time-critical.</li></ol>
0028This approach eliminates the impact of the LAN medium access delay, but one still has to cope with the delay of processing synchronization events. This can be solved if every node that requires time synchronization fulfills some basic requirements.
Requirements on LAN nodes
0029Fig. 3 shows a block diagram of a Local Area Network node. Such a node must satisfy four requirements: <ol id="ol0002" compact="compact" ol-style=""><li>1. A raw data stream from the LAN interface 2 must be available.</li><li>2. A Time Synchronization Event Detector 3 that can detect a specified synchronization event in the raw data stream, must be added.</li><li>3. The node 1 must be able to maintain local time between time synchronization messages.</li><li>4. The node CPU or the local clock handling hardware must be able to react on the signal from Synchronization Event Detector 3.</li></ol>
Very accurate time synchronization procedire
0030If all nodes requiring time synchronization fulfill the requirements presented in the last paragraph, the procedure of very accurate time synchronization is as follows: <ol id="ol0003" compact="compact" ol-style=""><li>1. When a synchronization event is detected, the Synchronization Event Detector 3 notifies the CPU or the local clock handling hardware.</li><li>2. The local time for that event is recorded.</li><li>3. If the node is the time synchronization master, the recorded time is transmitted in a message to other nodes that require time synchronization.</li><li>4. All other nodes wait for the time message from the Master node. When this message arrives, the local clock is adjusted of a difference between the received time and the recorded time of the synchronization event occurrence.</li></ol>
0031Using this procedure the time synchronization uncertainty is reduced to four very small components: <ul id="ul0007" list-style="dash" compact="compact"><li>The transmission delay on the network medium. For almost all Local Area Networks this delay is below 10µs.</li><li>The resolution of the local clock hardware. This is usually well below 1 µs.</li><li>The difference in the detection of synchronization event. This can be equal to the resolution of the local clock or better.</li><li>The difference in the reaction time on the synchronization event detection. Even if the reaction time can be at the level of 40µs or more, the difference in the reaction time will usually be below 1 µs. In this way the Very Accurate Time Synchronization procedure approaches the theoretical limit (light speed) of time distribution over the LAN medium.</li></ul>
0032The node which sends (broadcasts) the tick may be the master node or any one of the slave nodes. Fig. 4 illustrates a signalling diagram, in which slave 44 sends a tick on the network (not shown), i.e. to a master node 40 and other slave nodes 45 and 46. All slave nodes 44-46 will receive the tick and register a local arrival time of the tick. Receiving a tick from the slave node 44, the master node 40 will send the time message containing the arrival time of the tick at the master node 40 to the slave nodes 44-46. The slave nodes 44-46 check the tick arrival time in the message against the node's own stored tick arrival time and update the node's local clock by the difference between the local arrival time and the arrival time at the master node 40. In one embodiment of the invention one slave node in a group of slave nodes is nominated as a time submaster node 41 which synchronizes itself cyclically with the master node 40 by means of the method according to the invention, as shown in Fig 4. In other words submaster node 41 sends a tick on the network. Both master node 40 and the submaster node 41 will receive the tick and register a local arrival time of the tick. Receiving a tick from the submaster node 41, the master node 40 will send the time message containing the arrival time of the tick at the master node 40 to the submaster node 41. The submaster node 41 checks the the tick arrival time in the message against the node's own stored tick arrival time and updates the node's local clock by the difference between the local arrival time and the arrival time at the master node 40. The other slave nodes 42 and 43 in the group are synchronized very accurately with the submaster node 41 by means of the method according to the invention. More particularly, in the example shown, slave 43 sends a tick on a network to a submaster node 41 and the other slave node 42. Both slave nodes 42 and 43 will receive the tick and register a local arrival time of the tick. Receiving a tick from the slave node 43, the submaster node 41 will send the time message containing the arrival time of the tick at the submaster node 41 to the slave nodes 42-43. The slave nodes 42-43 check the tick arrival time in the message against the node's own stored tick arrival time and update the node's local clock by the difference between the local arrival time and the arrival time at the submaster node 41. This arrangement will still further decrease the loading of the master node due to the decreased number of ticks to be processed.
0033When the slave initiated synchronization according to the invention is employed, a slave node which has lost the synchronization is able to restore the synchronization more rapidly. Let us assume that a slave 44 is reset and then booted up in Fig. 4. If it is the master node 40 only which sends the tick, the delay between the booting up the slave node 44 and receiving the tick and the associated time message from the master node 40 at slave node 44 and thereby the synchronization of the slave node 44 may be relatively long. When the tick is send by the slave node 44 immeadiately after the reset, eg. in the end of the booting procedure, the synchronization is achieved as soon as possible, without need of waiting for the cyclical master synchronization cycle.
0034The drawings and the description thereof are only intended to illustrate the idea of the invention. The invention may vary in details within the scope of the attached claims.
2 sheets
Sheet 1 Sheet 2
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10503807B2 | Cited by | United States of America | Applicant |
| US11252068B1 | Cited by | United States of America | Applicant |
| US11197075B1 | Cited by | United States of America | Applicant |
| US11252065B1 | Cited by | United States of America | Applicant |
| WO2017036286A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP0697774A1 | Cites | European Patent Office (EPO) | Examiner |
| US5535217A | Cites | United States of America | Examiner |
| EP0697774A | Cites | European Patent Office (EPO) | – |
| WO8704306A1 | Cites | World Intellectual Property Organization (WIPO) | – |
| WO9304544A1 | Cites | World Intellectual Property Organization (WIPO) | – |
| WO9314570A1 | Cites | World Intellectual Property Organization (WIPO) | – |
| WO9502294A1 | Cites | World Intellectual Property Organization (WIPO) | – |
| US5535217A | Cites | United States of America | – |
| US5602922A | Cites | United States of America | – |
13 members in 5 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 972519 | Norway | – | |
| 972519 | Norway | A | |
| 9800481 | Finland | W |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| NO972519D0 | Norway | D0 | |
| NO972519L | Norway | L | |
| WO9856135A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9856136A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU7457598A | Australia | A | |
| AU7657598A | Australia | A | |
| WO9856135A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO9856136A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP0983658A2 | European Patent Office (EPO) | A2 | |
| NO307728B1 | Norway | B1 | |
| EP0983658B1This record | European Patent Office (EPO) | B1 | |
| DE69837431D1 | Germany | D1 | |
| DE69837431T2 | Germany | T2 |
24 legal events, as 3 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0983658
- Application
- 989243498
Titles3
- German
- VERFAHREN ZUR VERFÜGUNGSSTELLUNG VON ZEITSSYNCHRONISIERUNG IN EINEM NETZWERK
- English
- METHOD FOR PROVIDING TIME SYNCHRONIZATION IN A NETWORK
- French
- PROCEDE PERMETTANT UNE SYNCHRONISATION TEMPORELLE DANS UN RESEAU
Classification
- IPC, 4
- H04L7 00
- G06F1 14
- H04J3 06
- H04L12 28
Designated states4
- Contracting states, 4
- Germany
- Finland
- France
- United Kingdom
