WO2001084286A2 - Method and communication control unit for multimaster clock synchronisation in a distributed real time computer system - Google Patents

Method and communication control unit for multimaster clock synchronisation in a distributed real time computer system Download PDF

Info

Publication number
WO2001084286A2
WO2001084286A2 PCT/AT2001/000131 AT0100131W WO0184286A2 WO 2001084286 A2 WO2001084286 A2 WO 2001084286A2 AT 0100131 W AT0100131 W AT 0100131W WO 0184286 A2 WO0184286 A2 WO 0184286A2
Authority
WO
WIPO (PCT)
Prior art keywords
time
master
slave
local
synchronization
Prior art date
Application number
PCT/AT2001/000131
Other languages
German (de)
French (fr)
Other versions
WO2001084286A8 (en
Inventor
Hermann Kopetz
Original Assignee
Fts Computertechnik Ges.M.B.H.
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 Fts Computertechnik Ges.M.B.H. filed Critical Fts Computertechnik Ges.M.B.H.
Priority to AU2001252016A priority Critical patent/AU2001252016A1/en
Priority to DE10191695T priority patent/DE10191695B4/en
Publication of WO2001084286A2 publication Critical patent/WO2001084286A2/en
Publication of WO2001084286A8 publication Critical patent/WO2001084286A8/en

Links

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/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • 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

Definitions

  • the invention relates to a method for setting up a global time base in a distributed real-time computer system consisting of a number of node computers which are connected via one or more broadcast communication channels, the local oscillator of the node computer determining the duration of a microtick of the local time of a node computer during one a priori defined time interval, an excellent node computer takes over the role of the active time master, all other node computers assume the role of a time slave, the active time master specifies the uniform macrotick length of the global time, and the ratio microtick to macrotick can be different in each node computer.
  • a distributed fault-tolerant real-time computer system consisting of a number of node computers which are connected via a real-time communication system, for example via a CAN communication network ("Control Area Network")
  • the node computers often have to perform time-coordinated tasks.
  • CAN communication network Controller Area Network
  • the node computers In order to coordinate the distributed actions over time It makes sense to build up a system-wide global time base, which should also be coordinated with the externally specified time standard, the physical second, so efficient clock synchronization with high accuracy is of great economic value.
  • the active time master specifies the transmission event of a synchronization message which contains the macrotick of the global synchronization event in its data field in such a way that the time interval between the global synchronization event is observed by all correct time slaves can, and the beginning of the Macrotick, which is specified in the data field of the synchronization message, is known a priori.
  • the method proposed here for clock synchronization in a distributed real-time computer system is based on US Pat. No. 4,866,606 dated September 12, 1989 with the title "Loosely Coupled Distributed Computer System with Node Synchronization for Precision in Real-Time Applications".
  • the method according to the invention allows the granularity of a macrotick to be uniformly defined in the account computers even when oscillators of different frequencies are used, so that it is in a fixed relationship with the granularity of a predetermined external time standard Clock synchronization united.
  • FIG. 1 shows the structure of a distributed computer system with five node computers which are connected via a bus
  • FIG. 2 shows the structure of a node computer, consisting of a host computer and a communication control unit with the connection to the bus,
  • Fig. 4 shows the sequence of events in the time domain in the synchronization of a slave node by the time master
  • FIG. 5 shows the intervals on the time axis during which a standby master may send a synchronization message.
  • the node computer 110 is the current one Time master that periodically resynchronizes the other four node computers 120, 130, 140, 150.
  • One of these four node computers for example the node computer 120, can assume the role of a standby master, which takes over the central clock synchronization if the node computer 110 fails.
  • 2 also shows the internal structure of a node computer, for example of node computer 110.
  • a node computer consists of two subsystems, a host computer 201 and a communication controller 202, which is connected to the common bus 101 by means of a line 203.
  • Each node computer must have a local time counter, which is driven by the local oscillator of the node computer and whose granularity determines the micro-tick granularity of the node computer.
  • part or all of the described method can be implemented in communication controller 202 in software or hardware.
  • FIG. 3 shows the relationship between the global Macroticks 310, 320, 330 and the local Microticks 301 (Sielie Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed Embedded Applications; ISBN: 0-7923 -9894-7, Tiiird p ⁇ nting 1999. Boston, Kluwer Academic Publisli rs, page 48).
  • the Macroticks 310, 320, 330 build the global time base in the distributed system.
  • the distance 350 from two global macroticks 310, 320; 320, 330 should, if possible, be based on the physical second. It is advantageous to choose an integer negative power of two of the physical second for the distance 350 (see Kopetz, page 51).
  • the distance between the microticks 301 is determined by the properties of the local oscillator located in a node computer and changes due to physical influences (for example the temperature of the oscillator).
  • the MMR relation between microticks and macroticks is not an integer. 5, for example, this relation MMR has a value between 13 and 14.
  • each node computer has a different MMR, which is predetermined by the properties of the local oscillator of the node computer and can change over time.
  • Timeline 400 shows the progress of time from left to right.
  • the vertical lines that intersect time axis 400 represent the significant events during synchronization.
  • time master 110 begins to send a synchronization message that includes abstract synchronization event 412, expressed in macroticks.
  • the global synchronization event is the beginning of the Macrotick that is included in the synchronization message.
  • the master node 110 which pre-minted the synchronization, must select the transmission time 410 such that the end of the synchronization message 411 arrives at the slave nodes as close as possible to the abstract synchronization time 412.
  • the specific synchronization event 411 can deviate from the abstract synchronization event 412. Since in CAN systems the bit length of a message, including the synchronization message, depends on the data content, the time master must determine the global Synchronization event (expressed in global macroticks) calculate the exact length of the synchronization message, expressed in local microticks of the master, and determine the transmission time 410 taking into account the known transmission speed of the master. Event 413 corresponds to the receive interrupt of the synchronization message at the slave.
  • the slave In the interrupt handling routine of event 413, the slave must save the old value of its local time counter and enter the length of the interval 421, expressed in microticks of the slave, as an initialization value in the local time counter of the slave before the local time counter is restarted at time 414.
  • FIG. 5 it is shown how non-overlapping time intervals are defined on the time axis 500, which alternate between the master - the intervals ⁇ 510, 511> and ⁇ 520, 521>) - or a standby master Intervals ⁇ 512, 513> and ⁇ 522, 523>) - are assigned.
  • the master sends the next synchronization message after the timeout. If the standby master has not received a synchronization message from the master within the timeout interval 532, it can send a synchronization message within the interval ⁇ 522, 523>. If a slave does not receive a synchronization message during interval 533, the slave stops any further transmission operation until it has received a new synchronization message.
  • This interruption of the slave's transmission activity is necessary in order to create a free time window for the transmission of the next synchronization message from the master. If the active master cannot send the synchronization message at the selected transmission time 410, because e.g. If the bus is busy, it must cancel the send job and define a new synchronization event 412. This process must be repeated until the end of the synchronization interval assigned to the master, e.g. the end of the interval ⁇ 520, 521> has been reached. Since all slaves cancel their send requests at the end of the time interval 533, it is highly likely that a synchronization message from the master will be successful before the end of the interval 532.
  • the slave calculates the difference between the master's clock and the slave's local time counter using the following formula
  • Deviation [old. TC - RL - (new. GSE - old. GSE) * old.MMR]
  • Deviation is the difference, expressed in local microticks of the slave, between the master's clock and the slave's local time counter in the previous round
  • old.TC the value of the old local time counter of the slave before the start of the new synchronization round
  • RL the value of the Receiver Latency 421 expressed in microticks of the slave
  • new.GSE and old.GSE denote the Macrotick of the new and the old synchronization message.
  • 2- (k + 1) is a reasonable value for l ⁇ eight.
  • a multiplication of deviation by 2 ⁇ (k + 1) can be achieved by a simple shift operation in the computer.
  • the precision and thus the macrotick granularity can be significantly reduced, even in the range of less than one microsecond.
  • the method presented for synchronizing the clocks in a distributed computer system can be implemented both in software and in hardware. It is a simple and economical new way of building a global time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Multi Processors (AREA)

Abstract

The aim of the invention is to provide a novel method for the synchronisation of clocks in a distributed real time computer system. The inventive method makes it possible to establish a very accurate physical second based local time system in the software or hardware. The method can be carried out in an efficient manner in various communication systems eg. In CAN.

Description

VERFAHREN UND KOMMUNIKATIONSKONTROLLEINHEIT ZUR MULTIMASTER UHRENSYNCHRONISATION IN EINEM VERTEILTEN ECHTZEITCOMPUTERSYSTEM METHOD AND COMMUNICATION CONTROL UNIT FOR THE MULTIMASTER WATCH SYNCHRONIZATION IN A DISTRIBUTED REAL-TIME COMPUTER SYSTEM
Die Erfindung betrifft ein Verfahren zum Aufbau einer globalen Zeitbasis in einem verteilten Echtzeitcomputersystem bestehend aus einer Anzahl von Knotenrechner, die über einen oder mehrere Broadcast Korrvmunikationskanäle verbunden sind, wobei der lokale Oszillator des Knotenrechners die Dauer eines Microticks der lokalen Zeit eines Knotenrechners bestimmt, während eines a priori definierten Zeitintervalls ein ausgezeichneter Knotenrechner die Rolle des aktiven Zeitmasters überrύmmt, alle anderen Knotenrechner die Rolle eines Zeitslaves übernehmen, der aktive Zeitmaster die einheitliche Macroticklänge der globalen Zeit festlegt, und das Verhältnis Microtick zu Macrotick in jedem Knotenrechner unterschiedlich sein kann.The invention relates to a method for setting up a global time base in a distributed real-time computer system consisting of a number of node computers which are connected via one or more broadcast communication channels, the local oscillator of the node computer determining the duration of a microtick of the local time of a node computer during one a priori defined time interval, an excellent node computer takes over the role of the active time master, all other node computers assume the role of a time slave, the active time master specifies the uniform macrotick length of the global time, and the ratio microtick to macrotick can be different in each node computer.
In einem verteilten fehlertoleranten Echtzeitcomputersystem, bestehend aus einer Anzahl von Knotenrechnern die über ein Echtzeitkommunikationssystem verbunden sind, beispielsweise über ein CAN-Kommunikationsnetzwerk („Control Area Network"), müssen die Knotenrechner oft zeitlich koordinierte Aufgaben vornehmen. Um diese zeitliche Koordination der verteilten Aktionen zu erleichtern, ist es sinnvoll, eine systemweite globale Zeitbasis aufzubauen. Diese globale Zeit soll auch mit dem extern vorgegebenen Zeitstandard, der physikalischen Sekunde, abgestimmt sein. Eine effiziente Uhrensynchronisation von hoher Genauigkeit ist daher von großem wirtschaftlichen Wert.In a distributed fault-tolerant real-time computer system, consisting of a number of node computers which are connected via a real-time communication system, for example via a CAN communication network ("Control Area Network"), the node computers often have to perform time-coordinated tasks. In order to coordinate the distributed actions over time It makes sense to build up a system-wide global time base, which should also be coordinated with the externally specified time standard, the physical second, so efficient clock synchronization with high accuracy is of great economic value.
Es ist eine Aufgabe der Erfindung, eine effiziente Uhrensynchronisation in einem oben genannten Echtzeitcomputersystem zu ermöglichen.It is an object of the invention to enable efficient clock synchronization in a real-time computer system mentioned above.
Weiters ist es eine Aufgabe der Erfindung, ein effizientes Verfahren anzugeben, mit dem eine systemweite, globale Zeit aufgebaut werden kann, welche auch mit einem externen Zeitstandard, wie der physikalischen Sekunde, abstimmbar ist.Furthermore, it is an object of the invention to provide an efficient method with which a system-wide, global time can be built up, which can also be coordinated with an external time standard, such as the physical second.
Diese Aufgaben werden mit einem eingangs erwähnten Verfahren dadurch gelöst, dass erfindungsgemäß der aktive Zeitmaster das Sendeereignis einer Synchronisationsnachricht, die in ihrem Datenfeld den Macrotick des globalen Synchronisationsereignisses enthält, so festlegt, dass das Zeitintervall zwischen dem globalen Synchronisationsereignis, das von allen korrekten Zeitslaves beobachtet werden kann, und dem Beginn des Macroticks, der im Datenfeld der Synchronisationsnachricht angegeben ist, a priori bekannt ist. Das hier vorgeschlagene Verfahren zur Uhrensynchronisation in einem verteilten Echtzeitcomputersystem baut auf dem US-Patent 4 866 606 vom 12. September 1989 mit dem Titel „Loosely Coupled Distributed Computer System with Node Synchronization for Precision in Real- Time Applications" auf. Mit dem neuen, erfindungsgemäßen Verfahren lässt sich allerdings die Granularität eines Macroticks auch bei Verwendung von Oszillatoren unterschiedlicher Frequenz in den Kontenrechnern einheitlich so festlegen, dass sie mit der Granularität eines vorgegebenen externen Zeitstandards in fixer Beziehung steht. Damit wird mit dem erfindungsgemäßen Verfahren auf einfache Weise die interne und externe Uhrensynchronisation vereinigt.These tasks are solved with a method mentioned at the beginning in that, according to the invention, the active time master specifies the transmission event of a synchronization message which contains the macrotick of the global synchronization event in its data field in such a way that the time interval between the global synchronization event is observed by all correct time slaves can, and the beginning of the Macrotick, which is specified in the data field of the synchronization message, is known a priori. The method proposed here for clock synchronization in a distributed real-time computer system is based on US Pat. No. 4,866,606 dated September 12, 1989 with the title "Loosely Coupled Distributed Computer System with Node Synchronization for Precision in Real-Time Applications". However, the method according to the invention allows the granularity of a macrotick to be uniformly defined in the account computers even when oscillators of different frequencies are used, so that it is in a fixed relationship with the granularity of a predetermined external time standard Clock synchronization united.
Weitere vorteilhafte Ausgestaltungsformen des erfindungsgemäßen Verfahrens sind den Unteransprüchen zu entnehmen.Further advantageous embodiments of the method according to the invention can be found in the subclaims.
Das vorab beschriebene Ziel und andere neue Eigenschaften der vorliegenden Erfindung werden in der Zeichnung näher erläutert. In dieser zeigtThe object described above and other new features of the present invention are explained in more detail in the drawing. In this shows
Fig. 1 die Struktur eines verteilten Computersystems mit fünf Knotenrechnern, die über einen Bus verbunden sind,1 shows the structure of a distributed computer system with five node computers which are connected via a bus,
Fig. 2 die Struktur eines Knotenrechners, bestehend aus einem Host Computer und einer KommLunikationskontrolleinheit mit dem Anschluss zum Bus,2 shows the structure of a node computer, consisting of a host computer and a communication control unit with the connection to the bus,
Fig. 3 den Zusammenhang zwischen den lokalen Microticks und den globalen Macroticks,3 shows the relationship between the local microticks and the global macroticks,
Fig. 4 den Ablauf der Ereignisse im Zeitbereich bei der Synchronisation eines Slave-Knotens durch den Zeit Master, undFig. 4 shows the sequence of events in the time domain in the synchronization of a slave node by the time master, and
Fig. 5 die Intervalle auf der Zeitachse, während der ein Standby Master eine Synchronisationsnachricht senden darf.5 shows the intervals on the time axis during which a standby master may send a synchronization message.
Im folgenden Abschnitt wird eine Realisierung des neuen Verfahrens an einem Beispiel mit fünf Knotenrechnern, die über einen gemeinsamen Bus kommunizieren, gezeigt. Die Objekte in den Abbildungen sind so nummeriert, dass die erste der dreistelligen Objektziffern immer die Bildnummer angibt.In the following section, an implementation of the new method is shown using an example with five node computers that communicate via a common bus. The objects in the illustrations are numbered so that the first of the three-digit object numbers always indicates the image number.
Die Fig. 1 zeigt ein System von fünf Knotenrechnern 110, 120, 130, 140 und 150, die über einen gemeinsamen Bus 101, z.B. über einen CAN-Bus („Control Area Network"), Daten austauschen. Der Knotenrechner 110 ist der aktuelle Zeitmaster, der die anderen vier Knotenrechner 120, 130, 140, 150 periodisch resynchronisiert. Einer dieser vier Knotenrechner, beispielweise der Knotenrechner 120, kann die Rolle eines Standby Masters einnehmen, der die zentrale Uhrensynchronisation übernimmt, falls der Knotenrechner 110 ausfällt. Weiters zeigt die Fig. 2 den inneren Aufbau eines Knotenrechners, etwa von Knotenrechner 110. Ein Knotenrechner besteht aus zwei Subsystemen, einem Host Computer 201 und einem Kommunikationskontroller 202, der mittels einer Leitung 203 mit dem gemeinsamen Bus 101 verbunden ist. Jeder Knotenrechner muss über einen lokalen Zeitzähler verfügen, der vom lokalen Oszillator des Knotenrechners getrieben wird und dessen Granularität die Micro- tickgranularität des Knotenrechners festlegt. Erfindungsgemäß kann ein Teil oder das gesamte beschriebene Verfahren im Kommunikationskontroller 202 in Software oder Hardware realisiert werden.1 shows a system of five node computers 110, 120, 130, 140 and 150, which exchange data via a common bus 101, for example via a CAN bus ("Control Area Network"). The node computer 110 is the current one Time master that periodically resynchronizes the other four node computers 120, 130, 140, 150. One of these four node computers, for example the node computer 120, can assume the role of a standby master, which takes over the central clock synchronization if the node computer 110 fails. 2 also shows the internal structure of a node computer, for example of node computer 110. A node computer consists of two subsystems, a host computer 201 and a communication controller 202, which is connected to the common bus 101 by means of a line 203. Each node computer must have a local time counter, which is driven by the local oscillator of the node computer and whose granularity determines the micro-tick granularity of the node computer. According to the invention, part or all of the described method can be implemented in communication controller 202 in software or hardware.
Die Fig. 3 zeigt den Zusammenhang zwischen den globalen Macroticks 310, 320, 330 und den lokalen Microticks 301 (sielie Kopetz, H. (1997). Real-Time Systems, Design Principles for Distri- buted Embedded Applications; ISBN: 0-7923-9894-7, Tiiird pήnting 1999. Boston. Kluwer Academic Publisli rs, Seite 48) an. Die Macroticks 310, 320, 330 bauen die globale Zeitbasis im verteilten System auf. Der Abstand 350 von zwei globalen Macroticks 310, 320; 320, 330 soll sich nach Möglichkeit an der physikalischen Sekunde orientieren. Es ist vorteilhaft, für den Abstand 350 eine ganzzahlige negative Zweierpotenz der physikalischen Sekunde (siehe Kopetz, Seite 51) zu wählen. Der Abstand zwischen den Microticks 301 wird von den Eigenschaften des sich in einem Knotenrechner befindenden lokalen Oszillators bestimmt und ändert sich aufgrund von physikalischen Einflüssen (beispielweise der Temperatur des Oszillators). Im allgemeinen Fall ist die Relation MMR von Microticks zu Macroticks nicht ganzzahlig. In Fig. 5 beispielsweise hat diese Relation MMR einen Wert zwischen 13 und 14. Im allgemeinen Fall hat jeder Knotenrechner eine unterschiedliche MMR, die durch die Eigenschaften des lokalen Oszillators des Knotenrechners vorgegeben ist und sich über die Zeit ändern kann.3 shows the relationship between the global Macroticks 310, 320, 330 and the local Microticks 301 (Sielie Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed Embedded Applications; ISBN: 0-7923 -9894-7, Tiiird pήnting 1999. Boston, Kluwer Academic Publisli rs, page 48). The Macroticks 310, 320, 330 build the global time base in the distributed system. The distance 350 from two global macroticks 310, 320; 320, 330 should, if possible, be based on the physical second. It is advantageous to choose an integer negative power of two of the physical second for the distance 350 (see Kopetz, page 51). The distance between the microticks 301 is determined by the properties of the local oscillator located in a node computer and changes due to physical influences (for example the temperature of the oscillator). In the general case, the MMR relation between microticks and macroticks is not an integer. 5, for example, this relation MMR has a value between 13 and 14. In the general case, each node computer has a different MMR, which is predetermined by the properties of the local oscillator of the node computer and can change over time.
In der Fig.4 ist der Ablauf der Ereignisse während eines Synchronisationsvorganges gezeigt. Die Zeitachse 400 zeigt den Fortschritt der Zeit von links nach rechts an. Die senkrechten Linien, die die Zeitachse 400 schneiden, stellen die signifikanten Ereignisse während der Synchronisation dar. Zum Zeitpunkt 410 beginnt der Zeitmaster 110 eine Synchronisationsnachricht zu senden, die das abstrakte Synchronisationsereignis 412, ausgedrückt in Macroticks, beinhaltet. Das globale Synchronisationsereignis ist der Beginn des Macroticks, der in der Synchronisationsnachricht enthalten ist. Der Masterknoten 110, der die Synchronisation vornimint, muss den Sendezeitpunkt 410 so wählen, dass das Ende der Synchronisations- nachricht 411 möglichst nahe zum abstrakten Synchronisationszeitpunkt 412 bei den Sla- veknoten eintrifft. Aufgrund von DigitaHsierungsfehlern und dem Jitter des Masters kann das konkrete Synchronisationsereignis 411 vom abstrakten Synchronisationsereignis 412 abweichen. Da in CAN-Systemen die Bit-Länge einer Nachricht, auch der Synchronisationsnachricht, vom Dateninhalt abhängt, muss der Zeitmaster nach Festlegung des globalen Synchronisationsereignisses (ausgedrückt in globalen Macroticks) die exakte Länge der Synchronisationsnachricht, ausgedrückt in lokalen Microticks des Masters, berechnen und unter Berücksichtigung der bekannten Übertragungsgeschwindigkeit des Masters den Sendezeitpunkt 410 bestimmen. Das Ereignis 413 entspricht dem Empfangsinterrupt der Synchronisationsnachricht beim Slave. In der Interruptbehandlungsroutine des Ereignisses 413 muss der Slave den alten Wert seines lokalen Zeitzählers sichern und die Länge des Intervalls 421, ausgedrückt in Microticks des Slaves, als Initialisierungswert in den lokalen Zeitzähler des Slaves eintragen, bevor der lokale Zeitzähler zum Zeitpunkt 414 erneut gestartet wird.4 shows the sequence of events during a synchronization process. Timeline 400 shows the progress of time from left to right. The vertical lines that intersect time axis 400 represent the significant events during synchronization. At time 410, time master 110 begins to send a synchronization message that includes abstract synchronization event 412, expressed in macroticks. The global synchronization event is the beginning of the Macrotick that is included in the synchronization message. The master node 110, which pre-minted the synchronization, must select the transmission time 410 such that the end of the synchronization message 411 arrives at the slave nodes as close as possible to the abstract synchronization time 412. Due to digitization errors and the jitter of the master, the specific synchronization event 411 can deviate from the abstract synchronization event 412. Since in CAN systems the bit length of a message, including the synchronization message, depends on the data content, the time master must determine the global Synchronization event (expressed in global macroticks) calculate the exact length of the synchronization message, expressed in local microticks of the master, and determine the transmission time 410 taking into account the known transmission speed of the master. Event 413 corresponds to the receive interrupt of the synchronization message at the slave. In the interrupt handling routine of event 413, the slave must save the old value of its local time counter and enter the length of the interval 421, expressed in microticks of the slave, as an initialization value in the local time counter of the slave before the local time counter is restarted at time 414.
Schließlich ist in Fig. 5 gezeigt, wie auf der Zeitachse 500 a priori nicht überlappende Zeitintervalle definiert werden, die jeweils abwechselnd dem Master - die Intervalle <510, 511 > und <520, 521 >) - bzw. einem Standby-Master - die Intervalle <512, 513> und <522, 523>) - zugeordnet sind. Normalerweise sendet der Master nach dem Timeout die nächste Synchronisationsnachricht. Sollte innerhalb des Timeoutintervalls 532 der Standby Master keine Synchronisationsnachricht vom Master empfangen haben, so kann er innerhalb des Intervalls <522, 523 > eine Synchronisationsnachricht senden. Empfängt ein Slave während des Intervalls 533 keine Synchronisationsnachricht, so stoppt der Slave jede weitere Sendeoperation, bis er eine neue Synchronisationsnachricht empfangen hat. Diese Unterbrechung der Sendetätigkeit des Slaves ist notwendig, um ein freies Zeitfenster für die Übertragung der nächsten Synchronisationsnachricht vom Master zu schaffen. Wenn der aktive Master zum gewählten Sendezeitpunkt 410 die Synchronisationsnachricht nicht senden kann, weil z.B. der Bus belegt ist, so muss er den Sendeauftrag abbrechen und ein neues Synchronisationsereignis 412 festlegen. Dieser Vorgang ist zu wiederholen, bis das Ende des dem Master zugewiesenen Synchronisationsintervalls, z.B. das Ende des Intervalls <520, 521 >, erreicht ist. Da mit Ende des Zeitintervalls 533 alle Slaves ihre Sendeaufträge abbrechen, wird mit hoher Wahrscheinlichkeit eine Synchronisationsnachricht des Master vor dem Ende des Intervalls 532 erfolgreich sein.Finally, in FIG. 5 it is shown how non-overlapping time intervals are defined on the time axis 500, which alternate between the master - the intervals <510, 511> and <520, 521>) - or a standby master Intervals <512, 513> and <522, 523>) - are assigned. Usually the master sends the next synchronization message after the timeout. If the standby master has not received a synchronization message from the master within the timeout interval 532, it can send a synchronization message within the interval <522, 523>. If a slave does not receive a synchronization message during interval 533, the slave stops any further transmission operation until it has received a new synchronization message. This interruption of the slave's transmission activity is necessary in order to create a free time window for the transmission of the next synchronization message from the master. If the active master cannot send the synchronization message at the selected transmission time 410, because e.g. If the bus is busy, it must cancel the send job and define a new synchronization event 412. This process must be repeated until the end of the synchronization interval assigned to the master, e.g. the end of the interval <520, 521> has been reached. Since all slaves cancel their send requests at the end of the time interval 533, it is highly likely that a synchronization message from the master will be successful before the end of the interval 532.
Nach dem Eintreffen einer Synchronisationsnachricht beim Slave errechnet sich der Slave die Abweichung zwischen der Uhr des Masters und dem lokalen Zeitzählers des Slaves nach folgender FormelAfter a synchronization message arrives at the slave, the slave calculates the difference between the master's clock and the slave's local time counter using the following formula
Deviation = [old. TC - RL - (new. GSE - old. GSE) *old.MMR] wobei Deviation die Abweichung, ausgedrückt in lokalen Microticks des Slaves, zwischen der Uhr des Masters und dem lokalen Zeitzählers des Slaves in der vorangegangenen Runde angibt, old.TC den Wert des alten lokalen Zeitzählers des Slaves vor Beginn der neuen Synchronisationsrunde, RL den Wert der Receiver Latency 421 ausgedrückt in Microticks des Slaves, und new.GSE und old.GSE den Macrotick der neuen und der alten Synchronisationsnachricht bezeichnen.Deviation = [old. TC - RL - (new. GSE - old. GSE) * old.MMR] where Deviation is the difference, expressed in local microticks of the slave, between the master's clock and the slave's local time counter in the previous round, old.TC the value of the old local time counter of the slave before the start of the new synchronization round, RL the value of the Receiver Latency 421 expressed in microticks of the slave, and new.GSE and old.GSE denote the Macrotick of the new and the old synchronization message.
Diese Abweichung wird nun dazu verwendet, die Microtick/ Macrotick Relation MMR zu korrigieren. Damit wird erreicht, dass sich die Driftrate des Slaves and die Driftrate des Masters anpasst. Der neue Wert dieser Relation new.MMR ergibt sich zu new. MMR =old. MMR+ Deviation *weight wobei τυeight die Gewichtung der Abweichung darstellt. Angenommen die Dauer einer Synchronisationsrunde 531 beträgt nsync Macroticks, undThis deviation is now used to correct the Microtick / Macrotick relation MMR. This ensures that the drift rate of the slave adapts to the drift rate of the master. The new value of this relation new.MMR results in new. MMR = old. MMR + Deviation * weight where τυeight represents the weighting of the deviation. Assume the duration of a synchronization round 531 is nsync Macroticks, and
2k < nsync <2k+1, dann ist 2-(k+1) ein sinnvoller Wert für lυeight. Eine Multiplikation von Deviation mit 2~(k+1) lässt sich durch eine einfache Shift-Operation im Rechner realisieren.2 k <nsync <2 k + 1 , then 2- (k + 1) is a reasonable value for lυeight. A multiplication of deviation by 2 ~ (k + 1) can be achieved by a simple shift operation in the computer.
Mit dem vorgeschlagenen Synchronisationsverfahren lassen sich folgende Präzision und Macrotickgranularität realisieren:With the proposed synchronization process, the following precision and macrotick granularity can be realized:
• Angenommen die Microtickgranularität des Masters und des Slaves hegen bei einer μsec, ebenso der Latency Jitter in der Interruptbehandlung von Master und Slave. Dann beträgt die Konvergenzfunktion (Kopetz, p.59) 4 μsec.• Assuming the microtick granularity of the master and the slave have a μsec, as well as the latency jitter in the interrupt handling of master and slave. Then the convergence function (Kopetz, p.59) is 4 μsec.
• Angenommen die Abweichung der Driftrate zwischen Master und Slave beträgt nach einer Initiahsierungsphase, in der sich die MMRs der Slaves an den Master adaptiert haben, 10-5 und die Synchronisationsperiode ist 100 msec. Dann ist der Drift-offset 1 μsec, womit sich die Präzision zu 5 μsec ergibt. In einem solchen System ist es sinnvoll, für die Granularität eines Macroticks ein Intervall von 2 7 Sekunden, das sind ca 8 μsec, zu wählen.• Assuming that the deviation of the drift rate between master and slave is after a Initiahsierungsphase in which the MMRs of the slaves have adapted to the master 10- 5 and the synchronization period msec 100th Then the drift offset is 1 μsec, which results in a precision of 5 μsec. In such a system it makes sense to choose an interval of 2 7 seconds for the granularity of a macrotick, that is approx. 8 μsec.
Wenn eine kleinere Granularität der Mikroticks und eine Reduzierung des Interruptjitter durch Hardwaremechanismen erreicht werden, lässt sich die Präzision und damit die Makrotickgranularität wesentlich reduzieren, sogar in den Bereich unter einer Mikrosekun- de.If a smaller granularity of the microticks and a reduction of the interrupt jitter are achieved by hardware mechanisms, the precision and thus the macrotick granularity can be significantly reduced, even in the range of less than one microsecond.
Das vorgestellte Verfahren zur Synchronisation der Uhren in einem verteilten Computersystem lässt sich sowohl in Software wie auch in Hardware realisieren. Es stellt eine einfache und wirtschaftliche neue Methode zum Aufbau einer globalen Zeit dar. The method presented for synchronizing the clocks in a distributed computer system can be implemented both in software and in hardware. It is a simple and economical new way of building a global time.

Claims

PATENTANSPRÜCHE
1. Verfahren zum Aufbau einer globalen Zeitbasis in einem verteilten Echtzeitcomputersystem bestehend aus einer Anzahl von Knotenrechner (110, 120, 130, 140, 150), die über einen oder mehrere Broadcast Kommunikationskanäle (101) verbunden sind, wobei1. A method for establishing a global time base in a distributed real-time computer system consisting of a number of node computers (110, 120, 130, 140, 150) which are connected via one or more broadcast communication channels (101), wherein
• der lokale Oszillator des Knotenrechners die Dauer eines Microticks (301) der lokalen Zeit eines Knotenrechners bestimmt,The local oscillator of the node computer determines the duration of a microtick (301) of the local time of a node computer,
• während eines a priori definierten Zeitintervalls ein ausgezeichneter Knotenrechner (110) die Rolle des aktiven Zeitmasters übernimmt,An excellent node computer (110) assumes the role of the active time master during an a priori defined time interval,
• alle anderen Knotenrechner (120, 130, 140, 150) die Rolle eines Zeitslaves übernehmen,All other node computers (120, 130, 140, 150) assume the role of a time slave,
• der aktive Zeitmaster (110) die einheitliche Macroticklänge (350) der globalen Zeit festlegt, und• the active time master (110) defines the uniform macrotick length (350) of the global time, and
• das Verhältnis Microtick zu Macrotick in jedem Knotenrechner unterschiedlich sein kann,The ratio of microtick to macrotick can be different in each node computer,
dadurch gekennzeichnet, dasscharacterized in that
der aktive Zeitmaster (110) das Sendeereignis einer Synchronisationsnachricht, die in ihrem Datenfeld den Macrotick des globalen Synchronisationsereignisses enthält, so festlegt, dass das Zeitintervall zwischen dem globalen Synchronisationsereignis (412), das von allen korrekten Zeitslaves beobachtet werden kann, und dem Beginn des Macroticks, der im Datenfeld der Synchronisationsnachricht angegeben ist, a priori bekannt ist.the active time master (110) determines the transmission event of a synchronization message, which contains the macrotick of the global synchronization event in its data field, in such a way that the time interval between the global synchronization event (412), which can be observed by all correct time slaves, and the start of the macrotick , which is specified in the data field of the synchronization message, is known a priori.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Ende (411) des Eintreffens der Synchronisationsnachricht beim Zeitslave (120, 130, 140, 150) das globale Synchronisationsereignis (412) darstellt.2. The method according to claim 1, characterized in that the end (411) of the arrival of the synchronization message at the time slave (120, 130, 140, 150) represents the global synchronization event (412).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der aktive Zeitmaster (110) vor dem Senden die datenabhängige Nachrichtenlänge der aktuellen Synchronisationsnachricht berechnet und aus der ermittelten Nachrichtenlänge und der bekannten Übertragungsgeschwindigkeit des Senders den Abstand (420) des Sendezeitpunkts (410) der Nachricht von dem globalen Synchronisationsereignis (412), ausgedrückt in den lokalen Microticks des Senders, bestimmt.3. The method according to claim 1 or 2, characterized in that the active time master (110) calculates the data-dependent message length of the current synchronization message before sending and from the determined message length and the known transmission speed of the transmitter the distance (420) of the transmission time (410) the message is determined by the global synchronization event (412) expressed in the transmitter's local microticks.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeder Zeitslave das Zeitintervall (421) zwischen dem globalen Synchronisationsereignis (412) und einem Neustart (414) des lokalen Zeitzählers des Slaves, ausgedrückt in den lokalen Microticks des Empfängers, als Initialisierungswert des lokalen Zeitzählers des Slaves verwendet. 4. The method according to any one of claims 1 to 3, characterized in that each time slave, the time interval (421) between the global synchronization event (412) and a restart (414) of the local time counter of the slave, expressed in the local microticks of the receiver, as Initialization value of the local time counter of the slave used.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass ein Zeitslave nach der Resynchronisation das lokale Verhältnis Microtick/ Macrotick aufgrund der Abweichung des lokalen Zeitzählers des Slaves vom Zeitmaster in der vorangegangenen Runde nach folgender Formel korrigiert, um eine Anpassung der Driftrate des Slaves an die Driftrate des Masters zu realisieren:5. The method according to any one of claims 1 to 4, characterized in that a time slave after resynchronization corrects the local Microtick / Macrotick ratio due to the deviation of the local time counter of the slave from the time master in the previous round according to the following formula in order to adjust the drift rate of the slave to the drift rate of the master:
Deviation = [old. TC - RL - (new.GSE - old. GSE)*old.MMRJ new.MMR=old.MMR+Deviation*weight, wobei Deviation die Abweichung, ausgedrückt in lokalen Microticks des Slaves, zwischen der Uhr des Masters und dem lokalen Zeitzähler des Slaves in der vorangegangenen Runde angibt, old.TC den Wert des lokalen Zeitzählers des Slaves vor Beginn der neuen Synchronisationsrunde, RL den Wert der Receiver Latency (421), new.GSE und old.GSE den Inhalt der neuen und der alten Synchronisationsnachricht und weight die Gewichtung der Abweichung darstellen.Deviation = [old. TC - RL - (new.GSE - old. GSE) * old.MMRJ new.MMR = old.MMR + Deviation * weight, where Deviation is the difference, expressed in local microticks of the slave, between the clock of the master and the local time counter of the slave in the previous round, old.TC indicates the value of the local time counter of the slave before the start of the new synchronization round, RL the value of the receiver latency (421), new.GSE and old.GSE the content of the new and the old synchronization message and weight represent the weight of the deviation.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Zeitmaster (110) die Übertragung der Synchronisationsnachricht abbricht, falls er feststellt, dass der errechnete Sendezeitpunkt (410) nicht realisiert werden konnte, da der Bus (101) zum Zeitpunkt des Sendens belegt war.6. The method according to any one of claims 1 to 5, characterized in that the time master (110) aborts the transmission of the synchronization message if it determines that the calculated transmission time (410) could not be realized because the bus (101) at the time was broadcast.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass auf der Zeitachse (400) a priori nicht überlappende Intervalle (<510, 511>, <512, 513>, <520, 521>, <522, 523>) abwechselnd dem aktive Zeitmaster (110) und dem Standby Zeitmaster (120) zugewiesen werden, um nach Ausbleiben der erwarteten Synchronisationsnachricht im Intervall (<510, 511>, <520, 521 >) des aktiven Masters dem Standby Master die Möglichkeit zu geben, eine Synchronisationsnachricht in dem ihm zugewiesenen Intervall (<512, 513>, <522, 523>) zu senden.7. The method according to any one of claims 1 to 6, characterized in that on the time axis (400) a priori non-overlapping intervals (<510, 511>, <512, 513>, <520, 521>, <522, 523> ) are assigned alternately to the active time master (110) and the standby time master (120) in order to give the standby master the opportunity after the expected synchronization message has failed to appear in the interval (<510, 511>, <520, 521>) of the active master send a synchronization message in the interval assigned to it (<512, 513>, <522, 523>).
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Zeitmaster (110) das Verhältnis Microtick/ Macrotick so wählt, dass die Macroticklänge einer negativen Zweierpotenz der physikalischen Sekunde entspricht.8. The method according to any one of claims 1 to 7, characterized in that the time master (110) selects the ratio microtick / macrotick so that the macrotick length corresponds to a negative power of two of the physical second.
9. Kominunikationskontrolleinheit zur Übermittlung von Nachrichten in einem verteilten Echtzeitsystem, dadurch gekennzeichnet, dass eine oder mehrere der in Anspruch 1 bis 8 angegebenen Verfahren in Hardware realisiert werden. 9. Communication control unit for transmitting messages in a distributed real-time system, characterized in that one or more of the methods specified in claims 1 to 8 are implemented in hardware.
PCT/AT2001/000131 2000-05-04 2001-04-30 Method and communication control unit for multimaster clock synchronisation in a distributed real time computer system WO2001084286A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2001252016A AU2001252016A1 (en) 2000-05-04 2001-04-30 Method and communication control unit for multimaster clock synchronisation in adistributed real time computer system
DE10191695T DE10191695B4 (en) 2000-05-04 2001-04-30 Method and communication control unit for multimaster clock synchronization in a distributed real-time computer system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA785/2000 2000-05-04
AT0078500A AT408383B (en) 2000-05-04 2000-05-04 METHOD AND COMMUNICATION CONTROL UNIT FOR THE MULTIMASTER WATCH SYNCHRONIZATION IN A DISTRIBUTED REAL-TIME COMPUTER SYSTEM

Publications (2)

Publication Number Publication Date
WO2001084286A2 true WO2001084286A2 (en) 2001-11-08
WO2001084286A8 WO2001084286A8 (en) 2002-07-11

Family

ID=3680906

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2001/000131 WO2001084286A2 (en) 2000-05-04 2001-04-30 Method and communication control unit for multimaster clock synchronisation in a distributed real time computer system

Country Status (4)

Country Link
AT (1) AT408383B (en)
AU (1) AU2001252016A1 (en)
DE (1) DE10191695B4 (en)
WO (1) WO2001084286A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058468A1 (en) * 2002-01-07 2003-07-17 Kvaser Consultant Ab Distributed control and monitoring system
DE10306788A1 (en) * 2003-02-18 2004-08-26 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Control method for two or more motor vehicle control units, especially blinker or indicator light controllers, whereby the timer circuits of the two controllers are synchronized using existing control bus signals
DE102009037156A1 (en) * 2009-08-04 2011-02-17 Lenze Automation Gmbh Method for the synchronous recording and recording of process and / or status data and automation system
WO2014000006A1 (en) * 2012-06-25 2014-01-03 Fts Computertechnik Gmbh Method for constructing optimal time-controlled paths in a large computer network
CN112235068A (en) * 2020-10-14 2021-01-15 许继集团有限公司 Master-slave machine synchronization method and device for distributed power system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT411948B (en) 2002-06-13 2004-07-26 Fts Computertechnik Gmbh COMMUNICATION PROCESS AND APPARATUS FOR TRANSMITTING TIME-CONTROLLED AND EVENT-CONTROLLED ETHERNET MESSAGES
AT413308B (en) * 2003-09-10 2006-01-15 Fts Computertechnik Gmbh METHOD AND APPARATUS FOR CALIBRATING THE WATCH IN A DISTRIBUTED REAL-TIME SYSTEM
WO2007085028A1 (en) 2006-01-27 2007-08-02 Fts Computertechnik Gmbh Time-controlled secure communication
US8315274B2 (en) 2006-03-29 2012-11-20 Honeywell International Inc. System and method for supporting synchronous system communications and operations
DE102010037906B4 (en) * 2010-09-30 2014-02-27 Schneider Electric Automation Gmbh Method and system for recording, synchronizing and analyzing data by means of spatially distributed analysis devices in a communication network
CN113612565B (en) * 2021-07-09 2024-03-15 芯来智融半导体科技(上海)有限公司 Development and debugging system, handshake method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT382253B (en) * 1984-06-22 1987-02-10 Austria Mikrosysteme Int LOOSE COUPLED DISTRIBUTED COMPUTER SYSTEM
SE466123B (en) * 1989-04-25 1991-12-16 Kvaser Consultant Ab DEVICE FOR SYNCONIZING DATA IN A COMPUTER SYSTEM INCLUDING A COMMON SERIAL DATA COMMUNICATION CHANNEL
DE4140017C2 (en) * 1991-12-04 1995-01-05 Nec Electronics Germany Method for operating computer units communicating with one another via a data bus by serial data exchange
US6370159B1 (en) * 1998-07-22 2002-04-09 Agilent Technologies, Inc. System application techniques using time synchronization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Keine Recherche *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058468A1 (en) * 2002-01-07 2003-07-17 Kvaser Consultant Ab Distributed control and monitoring system
US7478234B2 (en) 2002-01-07 2009-01-13 Timegalactic Ab Distributed control and monitoring system
DE10306788A1 (en) * 2003-02-18 2004-08-26 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Coburg Control method for two or more motor vehicle control units, especially blinker or indicator light controllers, whereby the timer circuits of the two controllers are synchronized using existing control bus signals
DE102009037156A1 (en) * 2009-08-04 2011-02-17 Lenze Automation Gmbh Method for the synchronous recording and recording of process and / or status data and automation system
WO2014000006A1 (en) * 2012-06-25 2014-01-03 Fts Computertechnik Gmbh Method for constructing optimal time-controlled paths in a large computer network
US9860191B2 (en) 2012-06-25 2018-01-02 Fts Computertechnik Gmbh Method for constructing optimal time-controlled paths in a large computer network
CN112235068A (en) * 2020-10-14 2021-01-15 许继集团有限公司 Master-slave machine synchronization method and device for distributed power system

Also Published As

Publication number Publication date
WO2001084286A8 (en) 2002-07-11
AT408383B (en) 2001-11-26
DE10191695D2 (en) 2003-06-12
DE10191695B4 (en) 2009-07-23
AU2001252016A1 (en) 2001-11-12
ATA7852000A (en) 2001-03-15

Similar Documents

Publication Publication Date Title
EP0570557B1 (en) Process for generating a common time base for a system with decentralised computing units
DE4320137B4 (en) Synchronization of time of day clocks in a distributed processing network system
DE602005005816T2 (en) METHOD AND SYSTEM FOR DISTRIBUTED SYNCHRONIZATION
EP1471433B1 (en) Method and device for synchronizing the cycle time of a number of buses, and a corresponding bus system
WO2001013230A1 (en) Method for imposing the fail-silent characteristic in a distributed computer system and distribution unit in such a system
DE102008000562A1 (en) Communication system comprising a data bus and a plurality of subscriber nodes connected thereto and methods for operating such a communication system
WO2001084286A2 (en) Method and communication control unit for multimaster clock synchronisation in a distributed real time computer system
EP2034642A1 (en) Method for transmitting synchronisation messages in a communications network
WO2017198304A1 (en) Method for fast reconfiguration of gm clocks in the tsn network by means of an explicit teardown message
EP3022856B1 (en) Method for localization of a frequency deviation in a communication network and corresponding communication network
EP1039660A2 (en) Wireless network with user synchronisation
EP1763768A2 (en) Method and device for controlling a bus system, and corresponding bus system
EP1639758B1 (en) Method and device for the exchange of data via a bus system
EP0023331B1 (en) Circuit arrangement for the synchronization of a subordinate device, in particular a digital subscriber station, by a higher order device, in particular a digital switching exchange of a pcm telecommunication network
DE102004050416A1 (en) Method for synchronization in a redundant communication system
EP3669527B1 (en) Method for operating a sensor arrangement in a motor vehicle on the basis of a dsi protocol
EP2859766B1 (en) Method and system for time synchronization in an ad-hoc network
EP2299614B1 (en) Device and method for time synchronisation in a communication network
DE10053525B4 (en) Method and system for the synchronization of subscribers of a communication connection
DE102004006398A1 (en) Method and device for synchronizing a functional unit to a predetermined clock frequency
DE10249296A1 (en) Procedure for the synchronization of participants in a network
DE10241429B4 (en) Method for the synchronization of network nodes of a subnetwork
EP1168694A2 (en) Synchronous network
DE102004061343B4 (en) Network with multiple stations, station for such a network and method for synchronization of stations
DE102021207759B4 (en) Method for forwarding synchronization information in a communication device, communication device and vehicle

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
ENP Entry into the national phase

Ref document number: 2001 9089

Country of ref document: AT

Date of ref document: 20011108

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 20019089

Country of ref document: AT

REF Corresponds to

Ref document number: 10191695

Country of ref document: DE

Date of ref document: 20030612

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10191695

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607