EP1215559B1 - Method and system for time synchronization - Google Patents

Method and system for time synchronization Download PDF

Info

Publication number
EP1215559B1
EP1215559B1 EP01128921A EP01128921A EP1215559B1 EP 1215559 B1 EP1215559 B1 EP 1215559B1 EP 01128921 A EP01128921 A EP 01128921A EP 01128921 A EP01128921 A EP 01128921A EP 1215559 B1 EP1215559 B1 EP 1215559B1
Authority
EP
European Patent Office
Prior art keywords
time
client station
packets
packet
synchronizing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP01128921A
Other languages
German (de)
French (fr)
Other versions
EP1215559A3 (en
EP1215559A2 (en
Inventor
Bruno Couillard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales DIS CPL USA Inc
Original Assignee
Chrysalis ITS Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chrysalis ITS Inc filed Critical Chrysalis ITS Inc
Publication of EP1215559A2 publication Critical patent/EP1215559A2/en
Publication of EP1215559A3 publication Critical patent/EP1215559A3/en
Application granted granted Critical
Publication of EP1215559B1 publication Critical patent/EP1215559B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • This invention relates to time synchronization, and in particular to a method for synchronizing a time clock of a client station via a communications network having an unknown transmission time.
  • Time services exist which provide accurate time information using an "atomic clock”.
  • One well-known time service is WWV, which broadcasts a Universal Time Signal.
  • Various solutions have been developed to synchronize the time clock of a computer system. A simple method is for a user of the computer system to manually adjust the clock whenever the clock appears to have drifted. This technique, however, is both inconvenient for the user and subject to its own inaccuracies.
  • time sources such as WWV occasionally introduce “leap seconds” to synchronize their time with the motions of the planet Earth.
  • Some prior art methods for synchronizing the internal clock employ a round trip scheme in which a computer system sends a synchronization request to a time service and the time service responds by sending a synchronization message.
  • the inaccuracy of time provided to a computer system is directly related to the total elapsed time for the round trip sequence of messages.
  • the precision with which clock synchronization can be achieved is limited by the time required for the round trip sequence.
  • a particular type of round trip synchronization has been used for synchronizing internal times of computer systems with a reference time from an external source via a communications network.
  • the technique is described in Cristian, " Probabilistic Clock Synchronization", IBM Technical Disclosure Bulletin, Vol. 31, No. 2 (July 1988), p. 91 .
  • the basic round trip sequence works as follows: A client station sends a synchronization request at a time t, according to its clock. A time server responds with a message giving a time T. according to the server's time clock. The client station receives the response at a time t'. It is thus established that the server's time T falls somewhere within the time interval between the client stations times t and t'.
  • T is synchronized with the midpoint of the interval between t and t'.
  • the precision of the client station's synchronization is accurate to within (t' - t)/2. If the achieved precision is not considered good enough, the round trip message exchange sequence is repeated.
  • This method provides means for taking the roundtrip delay time into account and, therefore, reduce the error occurring due to the transmission. However, this method requires a substantial amount of processing in real time.
  • U.S. Patent No. 6,023,769 issued February 8, 2000 discloses a method and apparatus for synchronizing an imprecise time clock maintained by a computer system wherein a first time reading is obtained from a local timing service at a precision greater than that of the clock, and a second time reading is obtained from a remote time server at a precision greater than that of the clock. The second time reading from the time server is corrected for delays associated with the transmission over the network using the first time reading from the local timing service.
  • This method may be able to give a more correct estimate of the time elapsed to transmit a message from the remote time server to the client station.
  • the method further includes steps of node A receiving the reporting measurement cell at time T4, according to the clock at node A, and obtaining delay parameters using T1, T3, T4 and Td.
  • US Patent 5,450,394 is directed at measuring the transmission delay over a telecommunications network, such as one that connects ATM's. It also requires that the processor on the receiving end of a packet processes that packet immediately in order to avoid having the measurement of the transmission delay get thrown off by the inclusion of time spent waiting for the packet to be processed. Additionally, US Patent 5,450,394 recites that the transfer delay between two nodes be considered constant in each direction.
  • CRISTIAN F ET AL "Probabilistic internal clock synchronization" RELIABLE DISTRIBUTED SYSTEMS, 1994. PROCEEDINGS., 13TH SYMPOSIUM ON DANA POINT, CA, USA 25-27 OCT. 1994, LOS ALAMITOS, CA, USA , IEEE COMPUT.
  • NTP Network Time Protocol
  • Fig. 1a is a schematic diagram of a client station connected to a time server via a communications network according to the invention
  • Fig. 1b is a simplified flow diagram of a method for synchronizing a timing device of a client station according to the invention
  • Fig. 1c is a timing diagram illustrating timing of the plurality of pulses according to the disclosed method for synchronizing a timing device
  • Fig. 2a is a schematic diagram of a plurality of client stations connected to a time server via a communications network;
  • Fig. 2b is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention
  • Fig. 3 is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention.
  • Fig. 4 is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention.
  • Fig. 5 is a simplified flow diagram of yet another embodiment of the method for synchronizing a timing device of a client station according to the invention
  • Fig. 6 is a simplified flow diagram of another method for synchronizing a timing device of a client station according to the invention.
  • Fig. 7a is a simplified flow diagram of a method for determining data indicative of a time correction according to the invention.
  • Fig. 7b is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention.
  • Fig. 7c is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention.
  • Fig. 7d is a timing diagram illustrating evaluation of the timing of the plurality of pulses according to the method shown in Fig. 7c;
  • Fig. 7e is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention.
  • Fig. 7f is a timing diagram illustrating evaluation of the timing of the plurality of pulses according to the method shown in Fig. 7e;
  • Fig. 7g is a simplified flow diagram of yet another method for determining data indicative of a time correction according to the invention.
  • a method for synchronizing a timing device 4 of a client station 1 is shown.
  • the client station of system 10 is connected to a time server 3 via a communications network 2 such as the Internet.
  • the time server 3 sends a plurality of digital signals (hereinafter, referred to simply as "packets"), each comprising m bits, at predetermined times via the communications network 2 to the client station 1, shown in Fig. 1b as step 101.
  • each packet comprises an identifier, for example the number of the packet, and an identifier of the time server 3 in the form of at least a random number.
  • a time indicative of a local time of receipt of each of the packets is determined and time data in dependence thereon are stored 104.
  • the packets are then returned 106 to the time server 3 via the communications network 2, where upon receipt 107 a time indicative of a local time of receipt of each of the plurality of packets is determined 109.
  • Fig. 1c shows a distribution of the packets versus a time axis for steps 102, 106, and 107, respectively, indicated by I, II, and III.
  • the server sends n packets 5 such that time intervals ⁇ t between consecutive packets are a same, shown in diagram I.
  • Diagram II shows the distribution of the n packets 5 upon receipt at the client station 1 versus a local time axis t '. Due to random variations of the transmission speed of each of the packets, the time intervals between consecutive packets will be different, as indicated by ⁇ t ', ⁇ t '', ⁇ t '',....
  • diagram III the distribution of the n packets 5 upon receipt at the time server 3 versus a local time axis t is illustrated.
  • the first packet arrives at a time t' . which is the predetermined time t plus a round trip delay for the first packet.
  • Time differences between consecutive packets arriving at the time server are again different and differ from the respective time differences in diagram II as well, as indicated by ⁇ t * , ⁇ t ** , ⁇ t *** ,... .
  • step 111 the packets are analyzed in order to determine data in dependence upon round trip delay and variations in spacing between consecutive packets. These data are then compared to threshold values 113 and if the data are within the threshold values the process of time correction is continued.
  • step 117 data indicative of a time correction are determined and a signal comprising the data indicative of a time correction is sent from the time sever 3 to the client station 1 as shown in step 119. Methods for determining the data of a time correction according to the invention will be described in detail at a later point.
  • the timing device 4 of the client station 1 is synchronized accordingly 122.
  • the steps 101 to 113 are repeated or an error indicator is sent 115 notifying a user of the client station 1 or a network administrator.
  • the threshold values are determined using a statistical evaluation of the round trip delays within the network. This allows detection of any irregularities in the communications network such as technical problems or an attack of a "Man in the Middle" delaying transmission of the packets.
  • Steps 101 to 109 of the method according to the invention are performed in real time. These steps do not require much processing and can easily be performed by a processor in parallel to other tasks: The more elaborate steps 111 to 117 may be performed at any time, for example, when workload of a processor is reduced. Therefore, the method according to the invention obviates the need for large processing capacity of the time server 3 compared to the prior art.
  • the time server 3 sends 201 a plurality of packets to all nodes of a communications network 2, as shown in Figs. 2a and 2b. Non responding nodes are indicated by circles in Fig. 2a.
  • Responding client stations 1A to 1D attach 202 to at least one of the packets an authenticator identifying the client station before returning them to the time server 3.
  • the time server 3 extracts the authenticator from each plurality of packets received from the client stations 1A to 1D in step 203 in order to identify each responding client station before further processing the packets accordingly.
  • a signal comprising the data indicative of a time correction is then sent 219 to each identified client station.
  • This method further reduces the workload of the processor of the time server 3 by sending only one plurality of packets for synchronizing a plurality of clients 1A to 1D.
  • Each of the plurality of packets sent 301 from the time server comprises a tamper proof identifier of the time server 3.
  • a tamper proof identifier includes a random number or a signed identification as is obvious to a person of skill in the art.
  • the client station compares the identifier with a reference 302 and if the time server 3 is identified returns the packets 106. If the time server cannot be identified the synchronization process is stopped by the client station.
  • the client station 1 sends a warning signal 306 to the time server 3 or a network administrator when server identification fails.
  • the time server 3 itself compares the identification with a reference in step 307 and continues with the synchronization process if the packets have been identified 309 as the ones sent by the time server 3. If the packets cannot be identified 309 by the time server 3 the synchronization process is optionally repeated with step 301 and/or the time server may sent a warning message 311. Therefore, this method substantially enhances security by providing means to reliably recognize if the packets had been tampered with by an unauthorized third party.
  • Security is further enhanced by securely signing the data indicative of a time correction, as shown in step 401 in Fig. 4.
  • the client station 3 compares the signature with a reference 402 and synchronizes its timing device 4 only after the comparison is indicative of a match 404.
  • Methods for securely signing the data for example, encryption algorithms are well known in the art.
  • Fig. 5 shows yet another embodiment of the method according to the invention.
  • each packet is time stamped at the client station 1 with data indicative of a local time of receipt of the packet at the client station 1.
  • This method provides valuable information to the time server 3 which is there extracted 503 for a more accurate estimate of a transmission time needed by a packet to travel from the time server 3 to the client 1, thus enhancing accuracy of the synchronization.
  • the method for determining the transmission time according to the invention is discussed hereinbelow.
  • Fig. 6 illustrates another method for synchronizing a timing device 4 of a client station 1 according to the invention.
  • the client station 1 sends 601 a plurality of packets, each at a predetermined time via communications network 2 to time server 3.
  • the time server 3 determines 604 data indicative of a correct time of receipt each of the plurality of packets and time stamps 606 each of the packets with the data indicative of the correct time of receipt of the packet.
  • the time stamped packets are then returned 608 to the client station 1 via the communications network 2.
  • the client station 1 determines 611 data indicative of a local time of receipt for each of the plurality of packets.
  • step 613 the packets are analyzed in order to determine data in dependence upon round trip delay and variations in spacing between consecutive packets. These data are then compared to threshold values 615 and if the data are within the threshold values data indicative of a time correction are determined 617.
  • step 619 the timing device 4 of the client station 1 is synchronized according to the data indicative of a time correction.
  • This method requires only minimal processing capabilities for the time server 3. All steps concerning data evaluation are done by the client station. Furthermore, only steps 601 to 611 have to be performed in real time, leaving the elaborate steps of data evaluation - steps 613 to 619 - for times of minimum workload of the client station 1.
  • a first simple method for determining data indicative of a time correction is illustrated in Fig. 7a.
  • a round trip delay value for each of the plurality of packets is determined as difference between the time each packet has been received at the time server 3 and the predetermined time each packet has been sent from the time server 3.
  • a minimum round trip delay value is determined among the round trip delay values of each of the plurality of packets.
  • Data indicative of a correct time are then calculated by adding half of the minimum round trip delay value to the predetermined time the packet having the minimum round trip delay value has been sent by the server.
  • Fig. 7b shows an improved embodiment of the previous method, which is preferable if the round trip delays of the packets vary considerably.
  • interpolation using at least two round trip delay values is applied in order to determine a more accurate minimum round trip delay value.
  • a predetermined time corresponding to the interpolated minimum round trip delay value is calculated.
  • Data indicative of a correct time are then calculated by adding half of the interpolated minimum round trip delay value to the interpolated predetermined time.
  • Fig. 7c illustrates the processing steps of the method.
  • Fig. 7d shows time diagrams for the pulses sent from the time server I and received at the client station II.
  • a round trip delay value for the first packet of the plurality of packets is determined.
  • a first time difference 750 between the first packet and a following packet is determined for each of the following packets at the time the packets have been sent from the time server 3 (shown in Fig. 7d for the fourth packet).
  • a second time difference 752 between the first packet and a following packet is determined for each of the following packets at the local time the packets have been received at the client station 1 (shown in Fig. 7d for the fourth packet).
  • Subtracting the second time difference 752 from the first time difference 750 for each packet results in a third time difference 754 for each packet.
  • a positive value for the third time difference indicates that the corresponding packet traveled faster from the time server 3 to the client station 1 than the first packet. Accordingly, a negative value is indicative of a slower transmission. Therefore, a packet having a minimum travel time from the time server 3 to the client station 1 is indicated by having the maximum third time difference.
  • the assumed travel time of the first packet being half of its round trip time is then corrected by subtracting the maximum third time difference from half of the round trip delay value of the first packet resulting in a minimum travel time of the corresponding packet.
  • Data indicative of a correct time are then calculated by adding the minimum travel time to the predetermined time of the corresponding packet.
  • Accuracy of the above method is further improved by determining a minimum round trip delay value and a corresponding packet instead of the first packet for the assumption that the travel time from the time server 3 to the client station 1 is half the round trip delay value, which is then corrected.
  • This improved method is shown in Figs. 7e and 7f. It differs from the above method by including the step of determining a minimum round trip delay value and a corresponding packet. Then the first and second time differences are determined between the packet having the minimum round trip delay value and each of the other packets of the plurality of packets. Fig.
  • FIG. 7f shows time diagrams for first time differences 760 and 770, with k being the packet having minimum round trip delay and k - 2 being a packet sent before the k th packet and k + 2 being a packet sent after the k th packet. Time differences of packets sent before the k th packet are of negative value. Analogously, second time differences 762 and 772 and third time differences 764 and 774 are shown in Fig. 7f. As described above the packet having a minimum travel time from the time server 3 to the client station 1 is indicated by the maximum third time difference. A minimum travel time from the time server 3 to the client station 1 is then determined by subtracting the maximum third time difference from half of the round trip delay value of the packet having the minimum round trip delay. Data indicative of a correct time are then calculated by adding the minimum travel time to the predetermined time of the corresponding packet.
  • a travel time for each of the plurality of packets from the time server to the client station is determined as the difference between the predetermined time the packet was sent from the server and the local time the packet was received at the client station.
  • a minimum travel time is determined and added to the predetermined time of the corresponding packet in order to obtain data indicative of a correct time.
  • two minimum travel times are determined based on the time for a packet to travel from the server to a client - based on the two different time sources - and a time for a packet to travel back to the server.
  • the two minimum travel times are then used with the packet arrival times to determine data indicative of a correct time for synchronization of the client system.
  • the methods for synchronizing a timing device of a client station according to the invention are highly advantageous over the prior art. Transmitting a plurality of packets and evaluating the transmission of the plurality of packets substantially increases accuracy if a sufficiently large number of packets are used having predetermined spacing therebetween. Furthermore, it allows statistical evaluation of the transmission through the network in order to detect any irregularities such as technical problems or tampering with the packets by an unauthorized third party.
  • Another advantage of the methods according to the invention is the reduction in real time processing required, only the steps of transmitting the plurality of packets and determining a time of receipt of the packets have to be performed in real time. These steps do not require much processing and can be performed parallel to other tasks.
  • Fig. 1a The methods as disclosed above are easily implemented in the system shown in Fig. 1a, for example, as a software package for execution on processors 7 and 9 of the client station 1 and the time server 3, respectively.
  • the software may be distributed on a CD-ROM or via the communications network 2.
  • processors 11 and 13 for synchronizing the timing device 4 are connected to the client station 1 and the time server 3, respectively, as a peripheral device.

Abstract

A method for synchronizing a timing device of a client station via a communications network is disclosed. A plurality of packets is sent from a time server to the client station via the communications network. Upon receipt of the plurality of packets at the client station a time indicative of a local time of receipt of the plurality of packets is determined and the plurality of packets are returned to the time server via the communications network. Upon receipt of the plurality of packets at the time server data in dependence upon round trip delay of the packets and variance in packet spacing are determined and compared to threshold values. If the determined data are within the threshold values data indicative of a time correction are determined and sent from the time server to the client station.

Description

    Field of the Invention
  • This invention relates to time synchronization, and in particular to a method for synchronizing a time clock of a client station via a communications network having an unknown transmission time.
  • Background of the Invention
  • Most conventional computer systems maintain an internal clock to keep track of the time of day. Accurate time of day measurements are required in a wide variety of applications such as managing and tracking electronic mail, timing back-ups of data on a network, synchronizing communications between clients and servers, managing multimedia teleconferences, and assigning a correct time to documents or transactions. Since the internal clock is not perfectly accurate, as time goes by the internal time maintained by the internal clock diverges from the external time with which the internal clock was previously synchronized. This time divergence is sometimes called "clock drift". Typically the internal clock's time drifts away from the time as a linear function of elapsed time since synchronization. To prevent the clock drift from getting too large, from time to time the internal clock is resynchronized with the external reference time. Time services exist which provide accurate time information using an "atomic clock". One well-known time service is WWV, which broadcasts a Universal Time Signal. Various solutions have been developed to synchronize the time clock of a computer system. A simple method is for a user of the computer system to manually adjust the clock whenever the clock appears to have drifted. This technique, however, is both inconvenient for the user and subject to its own inaccuracies.
  • Also, time sources such as WWV occasionally introduce "leap seconds" to synchronize their time with the motions of the planet Earth. To prevent error from accumulating due to drift and leap seconds, it is particularly desirable to synchronize the internal clock of a computer system with the external reference time automatically without intervention of a user or network administrator.
  • Some prior art methods for synchronizing the internal clock employ a round trip scheme in which a computer system sends a synchronization request to a time service and the time service responds by sending a synchronization message. The inaccuracy of time provided to a computer system is directly related to the total elapsed time for the round trip sequence of messages. Thus, the precision with which clock synchronization can be achieved is limited by the time required for the round trip sequence.
  • A particular type of round trip synchronization, called Probabilistic Clock Synchronization has been used for synchronizing internal times of computer systems with a reference time from an external source via a communications network. The technique is described in Cristian, " Probabilistic Clock Synchronization", IBM Technical Disclosure Bulletin, Vol. 31, No. 2 (July 1988), p. 91. The basic round trip sequence works as follows: A client station sends a synchronization request at a time t, according to its clock. A time server responds with a message giving a time T. according to the server's time clock. The client station receives the response at a time t'. It is thus established that the server's time T falls somewhere within the time interval between the client stations times t and t'. Preferably, T is synchronized with the midpoint of the interval between t and t'. Thus, the precision of the client station's synchronization is accurate to within (t' - t)/2. If the achieved precision is not considered good enough, the round trip message exchange sequence is repeated. This method provides means for taking the roundtrip delay time into account and, therefore, reduce the error occurring due to the transmission. However, this method requires a substantial amount of processing in real time.
  • An improved version of "Cristian's" method is disclosed by Cheung et al. in U.S. Patent No. 5,535,217 issued July 9, 1996 . Enhanced precision is achieved by computing a new precision range for the synchronized time based on an intersection between precision intervals of the client station's time and the time server's time. Unfortunately, also this method requires a substantial amount of processing in real time. Furthermore, both methods determine the time elapsed to transmit a message from the time server to the client station as half the round trip delay.
  • In U.S. Patent No. 6,023,769 issued February 8, 2000 , Gonzalez discloses a method and apparatus for synchronizing an imprecise time clock maintained by a computer system wherein a first time reading is obtained from a local timing service at a precision greater than that of the clock, and a second time reading is obtained from a remote time server at a precision greater than that of the clock. The second time reading from the time server is corrected for delays associated with the transmission over the network using the first time reading from the local timing service. This method may be able to give a more correct estimate of the time elapsed to transmit a message from the remote time server to the client station. However, it requires messages being transmitted between the client station and the local timing service at a known transmission time or at a time less than the precision error of the local timing service.
    Furthermore, none of these methods provide means for preventing tampering with the messages, for example, deliberately delaying the messages by a third unauthorized party.
    US Patent 5,450,394 discloses a method of measuring delay parameters between nodes A and B in a telecommunication network, each node having a clock. The method comprises steps of node A sending to node B a measurement containing timestamp value T1 indicating the time the measurement cell is sent according to the clock at node A, and node B, in response to the measurement cell, sending to node A a reporting measurement cell containing timestamp value T3 and a delay difference value Td, wherein Td=T2-T1, and T2 and T3 are respectively the times the measurement cell is received at node B and the reporting measurement cell is sent from node B according to the clock at node B. The method further includes steps of node A receiving the reporting measurement cell at time T4, according to the clock at node A, and obtaining delay parameters using T1, T3, T4 and Td. In other words US Patent 5,450,394 is directed at measuring the transmission delay over a telecommunications network, such as one that connects ATM's. It also requires that the processor on the receiving end of a packet processes that packet immediately in order to avoid having the measurement of the transmission delay get thrown off by the inclusion of time spent waiting for the packet to be processed. Additionally, US Patent 5,450,394 recites that the transfer delay between two nodes be considered constant in each direction.
    CRISTIAN F ET AL: "Probabilistic internal clock synchronization" RELIABLE DISTRIBUTED SYSTEMS, 1994. PROCEEDINGS., 13TH SYMPOSIUM ON DANA POINT, CA, USA 25-27 OCT. 1994, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, 25 October 1994 (1994-10-25), pages 22-31, XP010100411 ISBN: 0-8186-6575-0) discloses "internal clock synchronization," which is the synchronization of the clocks of various nodes on a single network to each other, rather than to an external time server. Each node in a network has a "time server" process which communicates with the "time server" process of the other nodes in order to get all of their clocks in synch. Through a process called transitive remote clock reading, compensation is provided for failures in reading another node's clock by allowing the reading of every other node's clock with a minimum of communication.
    (MILLS D L: "INTERNET TIME SYNCHRONIZATION: THE NETWORK TIME PROTOCOL" NETWORK WORKING GROUP REQUEST FOR COMMENTS, no. 1129, October 1989 (1989-10), pages III, 1-27, XP002970985) discloses detailing the Network Time Protocol (NTP). The NTP is designed to work with a hierarchy of time servers that synchronize time among themselves as well as with clients that are not time servers.
    (PERRIG A ET AL: "Efficient authentication and signing of multicast streams over lossy channels" SECURITY AND PRIVACY, 2000. S&P 2000. PROCEEDINGS. 2000 IEEE SYMPOSIUM ON BERKELEY, CA, USA 14-17 MAY 2000, LOS ALAMITOS, CA, USA JEEE COMPUT. SOC, US, 14 May 2000 (2000-05-14), pages 56-73, XPOIO5O1 I26 ISBN: O-7695-0665-8.) discloses a very simple time synchronization protocol. This protocol only achieves a type of synchronization the authors call "loose initial time synchronization" as it relies on only one packet in each direction and attempts to determine the maximum possible delay in each leg of the trip.
    It is an object of the invention to provide a method for synchronizing a timing device of a client station that substantially reduces the error due to round trip delay.
    It is further an object of the invention to provide a method for synchronizing a timing device of a client station that substantially reduces real time processing at the time server as well as at the client station.
    It is yet another object of the invention to provide a method for synchronizing a timing device of a client station that substantially reduces the risk of tampering by an unauthorized third party.
  • Summary of the Invention
  • In accordance with the invention there is provided, a method for synchronizing a timing device of a client station as defined in independent claim 1.
  • In accordance with the invention there is further provided, a system for synchronizing a timing device of a client station via a communications network as defined in independent claim 19.
    Further embodiment of the invention are specified in the respective dependent claims.
  • Brief Description of the Drawings
  • Exemplary embodiments of the invention will now be described in conjunction with the drawings, in.which:
  • Fig. 1a is a schematic diagram of a client station connected to a time server via a communications network according to the invention;
  • Fig. 1b is a simplified flow diagram of a method for synchronizing a timing device of a client station according to the invention;
  • Fig. 1c is a timing diagram illustrating timing of the plurality of pulses according to the disclosed method for synchronizing a timing device;
  • Fig. 2a is a schematic diagram of a plurality of client stations connected to a time server via a communications network;
  • Fig. 2b is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention;
  • Fig. 3 is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention;
  • Fig. 4 is a simplified flow diagram of another embodiment of the method for synchronizing a timing device of a client station according to the invention;
  • Fig. 5 is a simplified flow diagram of yet another embodiment of the method for synchronizing a timing device of a client station according to the invention;
  • Fig. 6 is a simplified flow diagram of another method for synchronizing a timing device of a client station according to the invention;
  • Fig. 7a is a simplified flow diagram of a method for determining data indicative of a time correction according to the invention;
  • Fig. 7b is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention;
  • Fig. 7c is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention;
  • Fig. 7d is a timing diagram illustrating evaluation of the timing of the plurality of pulses according to the method shown in Fig. 7c;
  • Fig. 7e is a simplified flow diagram of another method for determining data indicative of a time correction according to the invention;
  • Fig. 7f is a timing diagram illustrating evaluation of the timing of the plurality of pulses according to the method shown in Fig. 7e; and,
  • Fig. 7g is a simplified flow diagram of yet another method for determining data indicative of a time correction according to the invention;
  • Detailed Description of the Invention
  • Referring to Figs. 1a and 1b, a method for synchronizing a timing device 4 of a client station 1 according to the invention is shown. The client station of system 10 is connected to a time server 3 via a communications network 2 such as the Internet. The time server 3 sends a plurality of digital signals (hereinafter, referred to simply as "packets"), each comprising m bits, at predetermined times via the communications network 2 to the client station 1, shown in Fig. 1b as step 101. Preferably, each packet comprises an identifier, for example the number of the packet, and an identifier of the time server 3 in the form of at least a random number. Upon receipt 102 of each of the packets at the client station 1, a time indicative of a local time of receipt of each of the packets is determined and time data in dependence thereon are stored 104. The packets are then returned 106 to the time server 3 via the communications network 2, where upon receipt 107 a time indicative of a local time of receipt of each of the plurality of packets is determined 109. Fig. 1c shows a distribution of the packets versus a time axis for steps 102, 106, and 107, respectively, indicated by I, II, and III. At a predetermined time t the server sends n packets 5 such that time intervals Δt between consecutive packets are a same, shown in diagram I. As is obvious to a person of skill in the art, same time intervals between consecutive packets is preferred but not required for the invention. Diagram II shows the distribution of the n packets 5 upon receipt at the client station 1 versus a local time axis t'. Due to random variations of the transmission speed of each of the packets, the time intervals between consecutive packets will be different, as indicated by Δt', Δt'', Δt''',.... In diagram III the distribution of the n packets 5 upon receipt at the time server 3 versus a local time axis t is illustrated. The first packet arrives at a time t'. which is the predetermined time t plus a round trip delay for the first packet. Time differences between consecutive packets arriving at the time server are again different and differ from the respective time differences in diagram II as well, as indicated by Δt* ,Δt** ,Δt*** ,... . Variations in the round trip delays of the n packets provides useful information about network behavior during the transmission such as random variations of the transmission speeds or a slow down of the communications network 2, if the number n of the packets is sufficiently large (for example: n = 100).
  • In step 111 the packets are analyzed in order to determine data in dependence upon round trip delay and variations in spacing between consecutive packets. These data are then compared to threshold values 113 and if the data are within the threshold values the process of time correction is continued. In step 117 data indicative of a time correction are determined and a signal comprising the data indicative of a time correction is sent from the time sever 3 to the client station 1 as shown in step 119. Methods for determining the data of a time correction according to the invention will be described in detail at a later point. Upon receipt 120 of the signal comprising the data indicative of a time correction the timing device 4 of the client station 1 is synchronized accordingly 122.
  • If the data in step 113 are not within the threshold values, the steps 101 to 113 are repeated or an error indicator is sent 115 notifying a user of the client station 1 or a network administrator. Preferably, the threshold values are determined using a statistical evaluation of the round trip delays within the network. This allows detection of any irregularities in the communications network such as technical problems or an attack of a "Man in the Middle" delaying transmission of the packets.
  • Steps 101 to 109 of the method according to the invention are performed in real time. These steps do not require much processing and can easily be performed by a processor in parallel to other tasks: The more elaborate steps 111 to 117 may be performed at any time, for example, when workload of a processor is reduced. Therefore, the method according to the invention obviates the need for large processing capacity of the time server 3 compared to the prior art.
  • In another embodiment of the method according to the invention the time server 3 sends 201 a plurality of packets to all nodes of a communications network 2, as shown in Figs. 2a and 2b. Non responding nodes are indicated by circles in Fig. 2a. Responding client stations 1A to 1D, for example, attach 202 to at least one of the packets an authenticator identifying the client station before returning them to the time server 3. The time server 3 extracts the authenticator from each plurality of packets received from the client stations 1A to 1D in step 203 in order to identify each responding client station before further processing the packets accordingly. A signal comprising the data indicative of a time correction is then sent 219 to each identified client station. This method further reduces the workload of the processor of the time server 3 by sending only one plurality of packets for synchronizing a plurality of clients 1A to 1D.
  • Referring to Fig. 3, another embodiment of the method according to the invention is shown. Each of the plurality of packets sent 301 from the time server comprises a tamper proof identifier of the time server 3. For example, a tamper proof identifier includes a random number or a signed identification as is obvious to a person of skill in the art. The client station compares the identifier with a reference 302 and if the time server 3 is identified returns the packets 106. If the time server cannot be identified the synchronization process is stopped by the client station. Optionally, the client station 1 sends a warning signal 306 to the time server 3 or a network administrator when server identification fails. The time server 3 itself compares the identification with a reference in step 307 and continues with the synchronization process if the packets have been identified 309 as the ones sent by the time server 3. If the packets cannot be identified 309 by the time server 3 the synchronization process is optionally repeated with step 301 and/or the time server may sent a warning message 311. Therefore, this method substantially enhances security by providing means to reliably recognize if the packets had been tampered with by an unauthorized third party.
  • Security is further enhanced by securely signing the data indicative of a time correction, as shown in step 401 in Fig. 4. The client station 3 compares the signature with a reference 402 and synchronizes its timing device 4 only after the comparison is indicative of a match 404. Methods for securely signing the data, for example, encryption algorithms are well known in the art.
  • Fig. 5 shows yet another embodiment of the method according to the invention. In step 502 each packet is time stamped at the client station 1 with data indicative of a local time of receipt of the packet at the client station 1. This method provides valuable information to the time server 3 which is there extracted 503 for a more accurate estimate of a transmission time needed by a packet to travel from the time server 3 to the client 1, thus enhancing accuracy of the synchronization. The method for determining the transmission time according to the invention is discussed hereinbelow.
  • Fig. 6 illustrates another method for synchronizing a timing device 4 of a client station 1 according to the invention. The client station 1 sends 601 a plurality of packets, each at a predetermined time via communications network 2 to time server 3. Upon receipt 602 of the packets the time server 3 determines 604 data indicative of a correct time of receipt each of the plurality of packets and time stamps 606 each of the packets with the data indicative of the correct time of receipt of the packet. The time stamped packets are then returned 608 to the client station 1 via the communications network 2. Upon receipt 609 of the packets the client station 1 determines 611 data indicative of a local time of receipt for each of the plurality of packets. In step 613 the packets are analyzed in order to determine data in dependence upon round trip delay and variations in spacing between consecutive packets. These data are then compared to threshold values 615 and if the data are within the threshold values data indicative of a time correction are determined 617. In step 619 the timing device 4 of the client station 1 is synchronized according to the data indicative of a time correction.
  • This method requires only minimal processing capabilities for the time server 3. all steps concerning data evaluation are done by the client station. Furthermore, only steps 601 to 611 have to be performed in real time, leaving the elaborate steps of data evaluation - steps 613 to 619 - for times of minimum workload of the client station 1.
  • As is evident to a person of skill in the art, all embodiments discussed with reference to Figs. 3, 4, and 5 are also applicable to this method according to the invention as well as the following embodiments for the determination of data indicative of a time correction.
  • In the following, various methods according to the invention for determining data indicative of a time correction used in step 117 are described.
  • A first simple method for determining data indicative of a time correction is illustrated in Fig. 7a. A round trip delay value for each of the plurality of packets is determined as difference between the time each packet has been received at the time server 3 and the predetermined time each packet has been sent from the time server 3. A minimum round trip delay value is determined among the round trip delay values of each of the plurality of packets. Data indicative of a correct time are then calculated by adding half of the minimum round trip delay value to the predetermined time the packet having the minimum round trip delay value has been sent by the server.
  • Fig. 7b shows an improved embodiment of the previous method, which is preferable if the round trip delays of the packets vary considerably. Here, interpolation using at least two round trip delay values is applied in order to determine a more accurate minimum round trip delay value. In an additional step, a predetermined time corresponding to the interpolated minimum round trip delay value is calculated. Data indicative of a correct time are then calculated by adding half of the interpolated minimum round trip delay value to the interpolated predetermined time.
  • The assumption that the transmission time of a packet from the time server 3 to the client 1 station is half the round trip time of the packet does not take into account variations of the transmission speed between the transmission to the client station 1 and the transmission to the time server 3. Therefore, use of these methods can result in rather inaccurate time corrections. More accurate methods according to the invention for calculating the transmission time of the packets from the time server 3 to the client station 1 will be described in the following. Despite the fact that the following methods are more elaborate concerning the determination of a time correction they do not require substantially more processing capabilities. Most steps do not require processing in real time and are performed at any available timeslot.
  • Referring to Figs. 7c and 7d a more accurate method for calculating the transmission time of the packets from the time server 3 to the client station 1 is shown. Fig. 7c illustrates the processing steps of the method. Fig. 7d shows time diagrams for the pulses sent from the time server I and received at the client station II. First, a round trip delay value for the first packet of the plurality of packets is determined. A first time difference 750 between the first packet and a following packet is determined for each of the following packets at the time the packets have been sent from the time server 3 (shown in Fig. 7d for the fourth packet). In the next step a second time difference 752 between the first packet and a following packet is determined for each of the following packets at the local time the packets have been received at the client station 1 (shown in Fig. 7d for the fourth packet).
  • Subtracting the second time difference 752 from the first time difference 750 for each packet results in a third time difference 754 for each packet. A positive value for the third time difference indicates that the corresponding packet traveled faster from the time server 3 to the client station 1 than the first packet. Accordingly, a negative value is indicative of a slower transmission. Therefore, a packet having a minimum travel time from the time server 3 to the client station 1 is indicated by having the maximum third time difference. The assumed travel time of the first packet being half of its round trip time is then corrected by subtracting the maximum third time difference from half of the round trip delay value of the first packet resulting in a minimum travel time of the corresponding packet. Data indicative of a correct time are then calculated by adding the minimum travel time to the predetermined time of the corresponding packet.
  • Accuracy of the above method is further improved by determining a minimum round trip delay value and a corresponding packet instead of the first packet for the assumption that the travel time from the time server 3 to the client station 1 is half the round trip delay value, which is then corrected. This improved method is shown in Figs. 7e and 7f. It differs from the above method by including the step of determining a minimum round trip delay value and a corresponding packet. Then the first and second time differences are determined between the packet having the minimum round trip delay value and each of the other packets of the plurality of packets. Fig. 7f shows time diagrams for first time differences 760 and 770, with k being the packet having minimum round trip delay and k - 2 being a packet sent before the kth packet and k + 2 being a packet sent after the kth packet. Time differences of packets sent before the kth packet are of negative value. Analogously, second time differences 762 and 772 and third time differences 764 and 774 are shown in Fig. 7f. As described above the packet having a minimum travel time from the time server 3 to the client station 1 is indicated by the maximum third time difference. A minimum travel time from the time server 3 to the client station 1 is then determined by subtracting the maximum third time difference from half of the round trip delay value of the packet having the minimum round trip delay. Data indicative of a correct time are then calculated by adding the minimum travel time to the predetermined time of the corresponding packet.
  • If it is known that a local time of a client station 1 is within known error bounds, preferably, the error being less than half the round trip delay value, the method according to the invention shown in Fig. 7g can be applied. A travel time for each of the plurality of packets from the time server to the client station is determined as the difference between the predetermined time the packet was sent from the server and the local time the packet was received at the client station. Preferably, a minimum travel time is determined and added to the predetermined time of the corresponding packet in order to obtain data indicative of a correct time. Optionally, two minimum travel times are determined based on the time for a packet to travel from the server to a client - based on the two different time sources - and a time for a packet to travel back to the server. The two minimum travel times are then used with the packet arrival times to determine data indicative of a correct time for synchronization of the client system.
  • The methods for synchronizing a timing device of a client station according to the invention are highly advantageous over the prior art. Transmitting a plurality of packets and evaluating the transmission of the plurality of packets substantially increases accuracy if a sufficiently large number of packets are used having predetermined spacing therebetween. Furthermore, it allows statistical evaluation of the transmission through the network in order to detect any irregularities such as technical problems or tampering with the packets by an unauthorized third party.
  • Another advantage of the methods according to the invention is the reduction in real time processing required, only the steps of transmitting the plurality of packets and determining a time of receipt of the packets have to be performed in real time. These steps do not require much processing and can be performed parallel to other tasks.
  • The methods as disclosed above are easily implemented in the system shown in Fig. 1a, for example, as a software package for execution on processors 7 and 9 of the client station 1 and the time server 3, respectively. The software may be distributed on a CD-ROM or via the communications network 2. Alternatively, processors 11 and 13 for synchronizing the timing device 4 are connected to the client station 1 and the time server 3, respectively, as a peripheral device.

Claims (23)

  1. A method of synchronizing a timing device (4) of a client station (1) comprising the steps of:
    a) sending (101) a plurality of packets, each packet being sent at a predetermined time having a predetermined temporal spacing from other packets, from a time server (3) to the client station (1) via a communications network (2);
    b) receiving (102) the plurality of packets at the client station (1);
    c) determining a time indicative of a local time of receipt of each packet of the plurality of packets at the client station (1) and storing (104) time data in dependence thereon;
    d) returning (106) the plurality of packets to the time server (3) via the communications network (2);
    e) determining (109) a time indicative of a local time of receipt (107) of each packet of the plurality of packets at the time server (3);
    f) determining (111) synchronisation data in dependence upon round trip delay of the packets and variance in temporal spacing of received packets;
    g) comparing the synchronisation data to threshold values (113);
    h) determining (117) data indicative of a time correction if the determined synchronization data of step f) are within the threshold values the determining being based on said round trip delays of the packets;
    i) sending (119) a signal comprising the data indicative of a time correction from the time server (3) to the client station (1).
  2. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, wherein the plurality of packets are sent at predetermined times such that temporal spacing between consecutive packets are a same.
  3. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, comprising the steps of:
    j) receiving the signal comprising the data indicative of a time correction at the client station (1); and,
    k) synchronizing the timing device (4) of the client station (1) in dependence upon the received signal.
  4. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, wherein during the step a) the time server (3) sends a plurality of packets, each packet being sent at a predetermined time, to each of a plurality of client stations (1) via the communications network (2).
  5. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, wherein each packet comprises a binary signal of m bits, the binary signal comprising an identifier of the packet and an identifier of the time server (3).
  6. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 5, wherein the identifier of the time server (3) comprises at least a random number.
  7. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 5, comprising the step of:
    attaching to at least one of the packets authentication data for identifying the client station (1), the data attached by the client station (1).
  8. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 5, comprising the steps of:
    comparing upon receipt of the packets at the time server (3) the identifier of the time server (3) with a reference identifier; and,
    if the comparison result is not indicative of a match, repeating steps a) to e).
  9. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 7, comprising the steps of:
    comparing upon receipt of the packets at the time server (3) the authentication data identifying the client station (1) with reference authentication data; and,
    if the comparison result is not indicative of a match, repeating steps a) to e).
  10. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, wherein step i) comprises the step of:
    signing securely at the time server (3) the signal comprising the data indicative of a time correction.
  11. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 10, comprising the steps of:
    receiving the signal comprising the data indicative of a correct time at the client station (1);
    verifying the signature of the time server (3); and,
    if the signature is verified, synchronizing the timing device (4) of the client station (1) in dependence upon the received signal.
  12. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 5, comprising the step of:
    time-stamping each of the packets at the client station (1) by adding time data indicative of the client station (1)'s timing device (4) time at the time instance of receipt of each of the packets.
  13. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, comprising the step of:
    providing a warning signal if the round trip delays of the packets are not within a threshold value, the threshold value being determined using a statistical estimate of round trip delays of the communications network (2).
  14. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 8, wherein step h) comprises the steps of:
    determining a round trip delay value for each of the plurality of packets;
    determining a minimum round trip delay value; and,
    calculating data indicative of a correct time by adding half of the minimum round trip delay value to the predetermined time the packet having the minimum round trip delay value has been sent by the server.
  15. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 1, wherein step h) comprises the steps of:
    determining a round trip delay value for each of the plurality of packets;
    determining a minimum round trip delay value by interpolating using at least two round trip delay values;
    determining an interpolated predetermined time corresponding to the interpolated round trip delay value; and,
    calculating data indicative of a correct time by adding half of the interpolated minimum round trip delay value to the interpolated predetermined time.
  16. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 12, wherein step h) comprises the steps of:
    determining a round trip delay value for the first packet of the plurality of packets;
    determining for each packet following the first packet a first time difference between the first packet and the each packet at the time sent from the server;
    determining for the each packet following the first packet a second time difference between the first packet and the each packet at the time received at the client station (1);
    determining a third time difference by subtracting the second time difference from the first time difference for the each packets;
    determining a maximum third time difference and a corresponding packet, the corresponding packet having a minimum travel time from the server to the client station (1);
    determining the minimum travel time by subtracting the maximum third time difference from half of the round trip delay value of the first packet; and,
    calculating data indicative of a correct time by adding the minimum travel time to the predetermined time of the corresponding packet.
  17. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 12, wherein step h) comprises the steps of:
    determining a round trip delay value for each of the plurality of packets;
    determining a minimum round trip delay value;
    determining for each packet a first time difference between the packet having the minimum round trip delay and the each packet at the time sent from the server, wherein time differences of packets sent before the packet having the minimum round trip delay are of negative value;
    determining for the each packet a second time difference between the packet having the minimum round trip delay and the each packet at the time received at the client station (1), wherein time differences of packets received before the packet having the minimum round trip delay are of negative value;
    determining a third time difference by subtracting the second time difference from the first time difference for the each packets;
    determining a maximum third time difference and a corresponding packet, the corresponding packet having a minimum travel time from the server to the client station (1);
    determining the minimum travel time by subtracting the maximum third time difference from half of the round trip delay value of the packet having the minimum round trip delay;
    calculating data indicative of a correct time by adding the minimum travel time to the predetermined time of the corresponding packet.
  18. A method of synchronizing a timing device (4) of a client station (1) as defined in claim 12, wherein step h) comprises the steps of:
    determining a travel time for each of the plurality of packets from the time server (3) to the client station (1), the travel time being the difference between the predetermined time the packet was sent from the server and the local time the packet was received at the client station (1), wherein the time of the client station (1) is within known error bounds;
    determining a minimum travel time from the travel times of the plurality of packets; and,
    calculating data indicative of a correct time by adding the minimum travel time to the predetermined time of the corresponding packet.
  19. A system of synchronizing a timing device (4) of a client station (1) via a communications network (2) comprising:
    first processing means connected to the communications network (2) and a time clock; and,
    second processing means connected to the communications network (2) and the timing device (4),
    wherein the first processing means comprise:
    means for sending in real time a plurality of packets, each packet being sent at a predetermined time, via the communications network (2) to second processing means;
    means for receiving the plurality of packets from the second processing means in real time;
    means for determining in real time a time indicative of a time of receipt of each of the plurality of packets;
    means for determining synchronization data in dependence upon round trip delay of the packets and variance in packet temporal spacing and comparing said synchronization data to threshold values;
    means for determining data indicative of a correct time in dependence upon time data from the time clock and the data in dependence upon round trip delay of the packets and variance in packet temporal spacing if the determined synchronization data is within the threshold values, and
    means for sending a signal comprising the data indicative of a time correction to the second processing means via the communications network (2);
    and,
    wherein the second processing means comprise:
    means for receiving a plurality of packets from the first processing means in real time;
    means for determining in real time a time indicative of a time of receipt of each of the plurality of packets;
    means for returning the plurality of packets in real time to the first processing means;
    means for receiving a signal comprising the data indicative of a time correction from the first processing means; and,
    means for synchronizing the timing device (4) in dependence upon the data indicative of the time correction.
  20. A system of synchronizing a timing device (4) of a client station (1) via a communications network (2) as defined in claim 19, the second processing means comprising means for timestamping each of the packets in real time.
  21. A system of synchronizing a timing device (4) of a client station (1) via a communications network (2) as defined in claim 19, the second processing means comprising means for attaching in real time to at least one of the packets an authenticator identifying the client station (1).
  22. A system of synchronizing a timing device (4) of a client station (1) via a communications network (2) as defined in claim 19, the first processing means comprising means for identifying the client station (1) by its authenticator.
  23. A system of synchronizing a timing device (4) of a client station (1) via a communications network (2) as defined in claim 19, the first processing means comprising means for retrieving time data from each time stamped packet.
EP01128921A 2000-12-13 2001-12-05 Method and system for time synchronization Expired - Lifetime EP1215559B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US735941 2000-12-13
US09/735,941 US7023816B2 (en) 2000-12-13 2000-12-13 Method and system for time synchronization

Publications (3)

Publication Number Publication Date
EP1215559A2 EP1215559A2 (en) 2002-06-19
EP1215559A3 EP1215559A3 (en) 2006-01-11
EP1215559B1 true EP1215559B1 (en) 2007-09-26

Family

ID=24957850

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01128921A Expired - Lifetime EP1215559B1 (en) 2000-12-13 2001-12-05 Method and system for time synchronization

Country Status (4)

Country Link
US (1) US7023816B2 (en)
EP (1) EP1215559B1 (en)
AT (1) ATE374394T1 (en)
DE (1) DE60130622T2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778406B2 (en) 2018-11-26 2020-09-15 Mellanox Technologies, Ltd. Synthesized clock synchronization between networks devices
US11070304B1 (en) 2020-02-25 2021-07-20 Mellanox Technologies, Ltd. Physical hardware clock chaining
US11283454B2 (en) 2018-11-26 2022-03-22 Mellanox Technologies, Ltd. Synthesized clock synchronization between network devices
US11483127B2 (en) 2018-11-18 2022-10-25 Mellanox Technologies, Ltd. Clock synchronization
US11543852B2 (en) 2019-11-07 2023-01-03 Mellanox Technologies, Ltd. Multihost clock synchronization
US11552871B2 (en) 2020-06-14 2023-01-10 Mellanox Technologies, Ltd. Receive-side timestamp accuracy
US11588609B2 (en) 2021-01-14 2023-02-21 Mellanox Technologies, Ltd. Hardware clock with built-in accuracy check
US11606427B2 (en) 2020-12-14 2023-03-14 Mellanox Technologies, Ltd. Software-controlled clock synchronization of network devices
US11706014B1 (en) 2022-01-20 2023-07-18 Mellanox Technologies, Ltd. Clock synchronization loop
US11907754B2 (en) 2021-12-14 2024-02-20 Mellanox Technologies, Ltd. System to trigger time-dependent action
US11917045B2 (en) 2022-07-24 2024-02-27 Mellanox Technologies, Ltd. Scalable synchronization of network devices

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002030066A1 (en) * 2000-10-03 2002-04-11 U4Ea Technologies Limited Packet sequence control
US20020078243A1 (en) * 2000-12-15 2002-06-20 International Business Machines Corporation Method and apparatus for time synchronization in a network data processing system
SE0004839D0 (en) 2000-12-22 2000-12-22 Ericsson Telefon Ab L M Method and communication apparatus in a communication system
GB2373400B (en) * 2001-01-17 2003-04-09 Marconi Comm Ltd Real time clocks in communications networks
US8352582B2 (en) 2001-06-28 2013-01-08 Koninklijke Philips Electronics N.V. Temporal proximity to verify physical proximity
US7457320B1 (en) * 2001-09-05 2008-11-25 Predrag Filipovic Synchronization using multicasting
US20030179780A1 (en) * 2002-03-20 2003-09-25 Zarlink Semiconductor V.N. Inc. Method of detecting drift between two clocks
US7185111B2 (en) * 2002-04-19 2007-02-27 Hewlett-Packard Development Company, L.P. Available server determination
US6959297B2 (en) 2002-04-25 2005-10-25 Winnow Technology, Llc System and process for searching within a data stream using a pointer matrix and a trap matrix
US7133927B2 (en) * 2002-04-29 2006-11-07 Lucent Technologies Inc. Method and apparatus for supporting real-time multi-user distributed applications
DE10240448A1 (en) * 2002-09-02 2003-12-04 Siemens Ag Radio communications system operating method for transmitting messages on mobile telephone networks uses time frames to transmit messages between a radio access network and a mobile station
DE10241429B4 (en) * 2002-09-06 2007-10-25 Siemens Ag Method for the synchronization of network nodes of a subnetwork
DE10249296A1 (en) * 2002-10-22 2004-05-06 Jetter Ag Procedure for the synchronization of participants in a network
GB2394628B (en) 2002-10-25 2005-10-19 Siemens Plc A method of determining a timing offset between a first clock and a second clock in a communications network
US7085948B2 (en) * 2003-04-24 2006-08-01 International Business Machines Corporation Method, apparatus, and computer program product for implementing time synchronization correction in computer systems
US20060101472A1 (en) * 2003-07-11 2006-05-11 Computer Associates Think, Inc. Software development kit for client server applications
US8108559B2 (en) * 2003-07-11 2012-01-31 Computer Associates Think, Inc. Standardizing clocks in a networked computing environment
US7415044B2 (en) 2003-08-22 2008-08-19 Telefonaktiebolaget Lm Ericsson (Publ) Remote synchronization in packet-switched networks
FR2862171B1 (en) * 2003-11-06 2006-04-28 Cegetel Groupe SECURE METHOD OF ESTABLISHING A COMMUNICATION OR TRANSACTION BETWEEN A TERMINAL AND AN ELEMENT OF A NETWORK INFRASTRUCTURE
US7584248B2 (en) * 2004-02-27 2009-09-01 Alcatel-Lucent Usa Inc. Apparatus and method for fair message exchanges in distributed multi-player games
JP4537133B2 (en) * 2004-07-09 2010-09-01 キヤノン株式会社 Printer, control method, program, and storage medium
SE528374C2 (en) * 2004-09-22 2006-10-31 Prosilient Technologies Ab Method, a computer software product and a carrier for entering one-way latency in a computer network
US7970020B2 (en) 2004-10-27 2011-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Terminal having plural playback pointers for jitter buffer
WO2006092833A1 (en) * 2005-02-28 2006-09-08 Fujitsu Limited Time stamp device, time calibration method, and time calibration program
WO2006092832A1 (en) * 2005-02-28 2006-09-08 Fujitsu Limited Time stamp device, time calibration method, and time calibration program
US7486673B2 (en) 2005-08-29 2009-02-03 Connect Technologies Corporation Method and system for reassembling packets prior to searching
US7634580B2 (en) * 2005-10-26 2009-12-15 Hewlett-Packard Development Company, L.P. Unit time synchronization techniques in a manufacturing environment
US7969997B1 (en) * 2005-11-04 2011-06-28 The Board Of Trustees Of The Leland Stanford Junior University Video communications in a peer-to-peer network
US7890587B1 (en) * 2006-02-06 2011-02-15 Mcafee, Inc. System, method and computer program product for correcting a date/time associated with an electronic mail message
CN101039455A (en) * 2006-03-14 2007-09-19 中兴通讯股份有限公司 Method for correcting system time of network side
US7870411B2 (en) * 2006-07-17 2011-01-11 Xensource, Inc. Tracking current time on multiprocessor hosts and virtual machines
KR100772174B1 (en) 2006-10-18 2007-11-01 한국전자통신연구원 Method for providing network time using timestamp of micro engine in line-card
US8590002B1 (en) 2006-11-29 2013-11-19 Mcafee Inc. System, method and computer program product for maintaining a confidentiality of data on a network
US7912094B2 (en) * 2006-12-13 2011-03-22 Honeywell International Inc. Self-checking pair-based master/follower clock synchronization
TWI328377B (en) * 2007-01-24 2010-08-01 Quanta Comp Inc Wireless communication system for calculating time of flight
US8621008B2 (en) 2007-04-26 2013-12-31 Mcafee, Inc. System, method and computer program product for performing an action based on an aspect of an electronic mail message thread
WO2008146427A1 (en) * 2007-05-28 2008-12-04 Nihon University Propagation delay time measuring system
US8199965B1 (en) 2007-08-17 2012-06-12 Mcafee, Inc. System, method, and computer program product for preventing image-related data loss
US20130276061A1 (en) 2007-09-05 2013-10-17 Gopi Krishna Chebiyyam System, method, and computer program product for preventing access to data with respect to a data access attempt associated with a remote data sharing session
US8838776B2 (en) * 2007-09-26 2014-09-16 Vega Grieshaber Kg Method for the automatic time synchronisation of devices in network-based systems
US8446607B2 (en) * 2007-10-01 2013-05-21 Mcafee, Inc. Method and system for policy based monitoring and blocking of printing activities on local and network printers
GB2454937A (en) * 2007-11-23 2009-05-27 Ubiquisys Ltd Acquiring time references for a telecommunications basestation from a time server
US20090164576A1 (en) * 2007-12-21 2009-06-25 Jeonghun Noh Methods and systems for peer-to-peer systems
US8893285B2 (en) 2008-03-14 2014-11-18 Mcafee, Inc. Securing data using integrated host-based data loss agent with encryption detection
US8473638B2 (en) * 2008-05-02 2013-06-25 James Aweya Method and apparatus for time and frequency transfer in communication networks
US9077684B1 (en) 2008-08-06 2015-07-07 Mcafee, Inc. System, method, and computer program product for determining whether an electronic mail message is compliant with an etiquette policy
CN102197611B (en) * 2008-10-24 2014-06-04 艾利森电话股份有限公司 Method and device for packet network synchronization
CN101577715A (en) * 2009-06-19 2009-11-11 腾讯科技(深圳)有限公司 Method and device for synchronizing online game time
US8533355B2 (en) * 2009-11-02 2013-09-10 International Business Machines Corporation Techniques for improved clock offset measuring
EP2529304A4 (en) * 2010-01-26 2015-09-16 Emc Corp System and method for network security including detection of man-in-the-browser attacks
WO2012054771A2 (en) * 2010-10-21 2012-04-26 The Regents Of The University Of California Synchronizing data streams over a local area network
US9335785B2 (en) * 2011-07-20 2016-05-10 Aviat U.S., Inc. Systems and methods of clock synchronization between devices on a network
US8830860B2 (en) 2012-07-05 2014-09-09 Accedian Networks Inc. Method for devices in a network to participate in an end-to-end measurement of latency
US10999171B2 (en) 2018-08-13 2021-05-04 Accedian Networks Inc. Method for devices in a network to participate in an end-to-end measurement of latency
US8792380B2 (en) 2012-08-24 2014-07-29 Accedian Networks Inc. System for establishing and maintaining a clock reference indicating one-way latency in a data network
US9413575B2 (en) 2013-03-15 2016-08-09 Echelon Corporation Method and apparatus for multi-carrier modulation (MCM) packet detection based on phase differences
US9363128B2 (en) 2013-03-15 2016-06-07 Echelon Corporation Method and apparatus for phase-based multi-carrier modulation (MCM) packet detection
US9787768B1 (en) 2013-03-15 2017-10-10 Arris Enterprises Llc M-CMTS, Edge-QAM and upstream receiver core timing synchronization
US9088390B1 (en) * 2013-03-15 2015-07-21 Arris Enterprises, Inc. Re-synchronization of timing between communication devices
US9160519B1 (en) * 2014-08-25 2015-10-13 Nxp B.V. Communications with synchronization
US10979332B2 (en) 2014-09-25 2021-04-13 Accedian Networks Inc. System and method to measure available bandwidth in ethernet transmission system using train of ethernet frames
JP6405479B1 (en) * 2018-02-19 2018-10-17 株式会社コナミデジタルエンタテインメント GAME SYSTEM, GAME TERMINAL, AND PROGRAM
JP7143798B2 (en) * 2018-07-13 2022-09-29 株式会社明電舎 Time synchronization method, communication device, time synchronization method
DE102018006867A1 (en) * 2018-08-30 2020-03-05 Diehl Metering Systems Gmbh Method for determining time information
CN111585836B (en) * 2020-04-26 2023-06-13 工业互联网创新中心(上海)有限公司 Automatic test method and device for time-sensitive network
CN113014349B (en) * 2021-03-01 2022-12-16 北京嘀嘀无限科技发展有限公司 Time calibration method, device, electronic equipment, storage medium and program product
CN113589675B (en) * 2021-08-10 2022-07-29 贵州省计量测试院 Network time synchronization method and system with traceability
US11835999B2 (en) 2022-01-18 2023-12-05 Mellanox Technologies, Ltd. Controller which adjusts clock frequency based on received symbol rate

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602375A (en) * 1982-06-11 1986-07-22 Communications Satellite Corporation Onboard clock correction by means of drift prediction
US4792963A (en) * 1982-06-14 1988-12-20 Communications Satellite Corporation Satellite clock system
US5428645A (en) * 1992-11-03 1995-06-27 International Business Machines Corporation Anonymous time synchronization method
US5450394A (en) 1994-03-10 1995-09-12 Northern Telecom Limited Delay monitoring of telecommunication networks
US5535217A (en) * 1994-12-20 1996-07-09 International Business Machines Corporation Method and apparatus for probabilistic clock synchronization with interval arithmetic
US6539003B1 (en) * 1997-10-20 2003-03-25 Viasat, Inc. Method for acquisition and synchronization of terminals in a satellite/wireless TDMA system
US6064701A (en) * 1997-12-05 2000-05-16 International Business Machines Corporation Synchronization-based communication systems
US6199169B1 (en) 1998-03-31 2001-03-06 Compaq Computer Corporation System and method for synchronizing time across a computer cluster
US6023769A (en) * 1998-09-17 2000-02-08 Apple Computer, Inc. Method and apparatus for synchronizing an imprecise time clock maintained by a computer system
FR2790888B1 (en) * 1999-03-11 2003-04-25 Agence Spatiale Europeenne SYNCHRONIZATION PROCESS BETWEEN A REFERENCE CLOCK FROM A GROUND STATION AND A CLOCK FROM AT LEAST ONE REMOTE DEVICE

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483127B2 (en) 2018-11-18 2022-10-25 Mellanox Technologies, Ltd. Clock synchronization
US10778406B2 (en) 2018-11-26 2020-09-15 Mellanox Technologies, Ltd. Synthesized clock synchronization between networks devices
US11283454B2 (en) 2018-11-26 2022-03-22 Mellanox Technologies, Ltd. Synthesized clock synchronization between network devices
US11637557B2 (en) 2018-11-26 2023-04-25 Mellanox Technologies, Ltd. Synthesized clock synchronization between network devices
US11543852B2 (en) 2019-11-07 2023-01-03 Mellanox Technologies, Ltd. Multihost clock synchronization
US11070304B1 (en) 2020-02-25 2021-07-20 Mellanox Technologies, Ltd. Physical hardware clock chaining
US11552871B2 (en) 2020-06-14 2023-01-10 Mellanox Technologies, Ltd. Receive-side timestamp accuracy
US11606427B2 (en) 2020-12-14 2023-03-14 Mellanox Technologies, Ltd. Software-controlled clock synchronization of network devices
US11588609B2 (en) 2021-01-14 2023-02-21 Mellanox Technologies, Ltd. Hardware clock with built-in accuracy check
US11907754B2 (en) 2021-12-14 2024-02-20 Mellanox Technologies, Ltd. System to trigger time-dependent action
US11706014B1 (en) 2022-01-20 2023-07-18 Mellanox Technologies, Ltd. Clock synchronization loop
US11917045B2 (en) 2022-07-24 2024-02-27 Mellanox Technologies, Ltd. Scalable synchronization of network devices

Also Published As

Publication number Publication date
EP1215559A3 (en) 2006-01-11
EP1215559A2 (en) 2002-06-19
US7023816B2 (en) 2006-04-04
ATE374394T1 (en) 2007-10-15
DE60130622T2 (en) 2008-06-12
DE60130622D1 (en) 2007-11-08
US20030123491A1 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
EP1215559B1 (en) Method and system for time synchronization
US20020129290A1 (en) Method and system for time synchronization
US10938698B2 (en) Method, a computer program product, and a carrier for indicating one-way latency in a data network
US6327274B1 (en) Method for estimating relative skew between clocks in packet networks
US6665316B1 (en) Organization of time synchronization in a distributed system
US8644348B2 (en) Method for generating a robust timing correction in timing transfer systems
CN101449520B (en) Network time protocol precision timestamping service
Cristian et al. Probabilistic internal clock synchronization
US7058020B2 (en) Hardware time stamping and registration of packetized data method and system
US20080141058A1 (en) System, method, and article of manufacture for synchronizing time of day clocks on first and second computers
US20020021717A1 (en) Method and system for transmit time stamp insertion in a hardware time stamp system for packetized data networks
JPH1127269A (en) Clock synchronization method, device and recording medium
JP3897413B2 (en) Apparatus and method for measuring distance between two stations connected by communication channel
JP2001244932A (en) Method and system for measuring network delay
Yamashita et al. A statistical method for time synchronization of computer clocks with precisely frequency-synchronized oscillators
US6801505B1 (en) Method of using computer equipment to send a time-stamped frame
JPH0689123A (en) Time synchronization system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 1/14 20060101AFI20020423BHEP

Ipc: H04J 3/06 20060101ALI20051124BHEP

17P Request for examination filed

Effective date: 20060710

17Q First examination report despatched

Effective date: 20060809

AKX Designation fees paid

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

17Q First examination report despatched

Effective date: 20060809

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REF Corresponds to:

Ref document number: 60130622

Country of ref document: DE

Date of ref document: 20071108

Kind code of ref document: P

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: SAFENET, INC.

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20071227

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080106

Ref country code: LI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

Ref country code: CH

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080226

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20071226

EN Fr: translation not filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20071231

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20080627

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20071205

Ref country code: FR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080704

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20071205

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20070926

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20071231

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20151125

Year of fee payment: 15

Ref country code: DE

Payment date: 20151119

Year of fee payment: 15

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 60130622

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20161205

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20161205

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170701