WO2000043857A1 - Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem - Google Patents

Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem Download PDF

Info

Publication number
WO2000043857A1
WO2000043857A1 PCT/AT2000/000011 AT0000011W WO0043857A1 WO 2000043857 A1 WO2000043857 A1 WO 2000043857A1 AT 0000011 W AT0000011 W AT 0000011W WO 0043857 A1 WO0043857 A1 WO 0043857A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
slave
node
global
communication
Prior art date
Application number
PCT/AT2000/000011
Other languages
English (en)
French (fr)
Inventor
Hermann Kopetz
Georg Kopetz
Original Assignee
Fts Computertechnik Ges.Mbh
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.Mbh filed Critical Fts Computertechnik Ges.Mbh
Priority to DE10080127T priority Critical patent/DE10080127D2/de
Priority to AU30259/00A priority patent/AU3025900A/en
Publication of WO2000043857A1 publication Critical patent/WO2000043857A1/de

Links

Classifications

    • 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 establishing a global time between clusters of a distributed real-time computer system, wherein a plurality of nodes are structured in one or more clusters, each cluster has its own communication system and in each system at least one node, the time -Start-up node, has direct or transitive access to a global external time,
  • transducer element for measuring a physical variable (e.g. temperature), a microcontroller and a communication controller on a single chip, thereby realizing a compact transducer node.
  • these transducer nodes must use a real-time communication system, e.g. B. a fieldbus, with other transducer nodes and processing nodes to exchange observations.
  • An observation is an atomic triple, consisting of the time of the observation, the name of the observed state variable (RT-entity), and the value of the observation (Kopetz, H.
  • An object of the invention is to build up a global time, which is to comprise several clusters, in a distributed multicluster real-time system and, using this global time, to reduce the shortcomings described above according to the prior art.
  • each time start-up node being a gateway node with a communication interface to a time master and a slave communication controller to time slave clusters
  • each time start-up node has direct or transitive access to global time
  • the cold start of a time slave cluster by means of an already globally synchronized time - Start-up node is implemented by entering the future global time of switching on in the time startup register of the slave communication controller before switching on the slave communication controller for the not yet synchronized time slave cluster, and this slave communication controller immediately after the one specified At the time of switching on, this global time continues to count in the time register and the Start-up procedure of the time slave cluster implemented with this global time.
  • FIG. 1 shows the structure of a distributed computer system, consisting of a processing cluster and two transducer clusters,
  • Fig. 4 shows the structure of a multipartner round
  • FIG. 5 shows the structure of a time startup node computer.
  • FIG. 1 shows the structure of a distributed real-time system, consisting of two types of nodes, the processing nodes 111 to 115, represented by rectangles, and the transducer node 121, represented by circles.
  • the processing nodes are powerful node computers, the structure of which is shown in FIG. 5 using the example of the node computer 114.
  • the transducer nodes 121 are low-cost, single-chip microcomputers of comparatively low performance which are connected via a field bus 101 or 102.
  • the oscillator of a transducer node can be implemented directly in the silicon and does not have to have a stable gear.
  • Such an on-chip oscillator can be very imprecise and must therefore be periodically resynchronized by a time master. Without synchronization by a master, such a transducer node could not even run a simple UART protocol.
  • the processing nodes 111, 112, 113, 114, and 115 are connected via a powerful logical real-time bus 110, which can be controlled, for example, using the TTP / C protocol (see Kopetz, p. 175) and thus form a cluster of the multicluster system, that distributes a global time base and can build fault-tolerant.
  • the logical real-time bus can be designed physically as a bus, a ring or as a star.
  • Processing nodes 111, 114, and 115 are time startup nodes.
  • the time startup node 111 can optionally be connected to an external time master 116.
  • the time startup node 114 is the master of the simple transducer bus 101, which e.g. B. is controlled by means of the time-controlled TTP / A protocol (Kopetz, p. 185).
  • the time startup node 115 is the master of the transducer bus 102.
  • FIG. 2 shows a detail from FIG. 1 in more detail.
  • the two transducer nodes 210 and 220 are connected to one another via the field bus 201.
  • the global namespace required for communication between subsystems is built up by a cluster-wide distributed interface file system (interface file system).
  • the interface file system consists of a number of files that are stored in the transducer nodes of a cluster.
  • the transducer node 210 contains the interface files 211, 212 and 213.
  • the transducer node 220 contains the interface files 221, 222 and 223.
  • the processor of a transducer node writes its data intended for communication in the agreed set of a node-local file of the interface file system.
  • the time-controlled communication system reads this data from the node-local files or writes it to the node-local files of the interface file system.
  • FIG. 3 shows a possible structure of a file of the interface file system.
  • Each data record 310 has a horizontal check field 311 as the last field.
  • B. the result of an XOR operation or a CRC calculation over all previous data fields of the sentence contains.
  • the check field 311 should also be transmitted as part of a message in order to be able to detect errors in the data transmission at the receiver.
  • the use of the same check field 311 for data storage in the interface file system and for data transmission in the communication system helps to save computing time.
  • the last record of a file of the interface file system is a vertical check record 390, which contains z.
  • B. contains the result of an XOR link or a CRC calculation for all previous records. It is thus possible to recognize and correct a bit error in a file of the interface file system by checking the check fields or the check set using known methods.
  • An interface file can be written, read and / or executed.
  • the type of file operation is determined by an operation code (op code).
  • op code operation code
  • Each file of the interface file system has a unique node-local file name. If the same file name is used in different nodes, this means that these files belong together and form a distributed file system.
  • a record in the interface file system can be addressed by the following address within a cluster:
  • a record By reading and writing operations with the address of an interface file system record, a record can be read and written in the interface file system. If the op code indicates "execute", the file is interpreted as an executable program module (e.g. a JAVA applet). The implementation must ensure that the sum of the sub-operations of the write operation (e.g. changing the check box and the check set) is carried out atomically.
  • a selected file of the interface file system forms the end point of the communication with a transducer node. The data exchanged within a cluster are read from the interface file system or written to the interface file system.
  • Real-time data is transmitted in rounds in a time-controlled protocol (FIG. 4).
  • z. B. begins in the time-controlled protocol TTP / A (Kopetz, p. 185) each round with a frame 410, which contains synchronization information and the round name, but can also contain data. This first frame is called "Fireworksframe". It is an essential property of this invention that the periodically recurring known transmission and reception times of the real-time data in a round are assigned a priori to the file operation and the addresses of the interface file system in such a way that the type and address of the file operation to be performed is derived from the times of the data transmission can be. If the Fileope Execution ration indicates, an executable program module must be available in the addressed file.
  • the data transmitted in the round can represent the parameters of the execution.
  • the a priori specification of the file operations and file addresses to be carried out at one time saves the need to specify the address of the real-time data during the transmission. Since a lot of real-time data is often very compact, e.g. B. a binary switch position can be coded into a single bit, this shortening of the real-time messages (omission of the address) is of great economic importance.
  • a record of an RODL file can have the following structure:
  • the position identification specifies directly or indirectly at which time point of this round a frame can be found.
  • the op code specifies which operation (read, write, execute) is to be carried out.
  • the length indicates how long the frame is.
  • the record number indicates which record of the selected local file is addressed.
  • Fig. 4 shows the structure of a multipartner round.
  • Arrow 400 shows the progression of time.
  • the point in time 411 at which the active master 114 starts the round with a fireworks frame 410 is also the synchronization signal for all transducer nodes 121.
  • the fireworks frame 410 contains, among other information, the name of the distributed RODL file which is used in this round. This selected RODL file is referred to below as the active RODL file of this round.
  • the node specified a priori in the active RODL file begins sending its frame 420 at time 421.
  • the node determined at the time of transmission 431 then begins sending the frame 430 after another interframe gap 429 and then, again after an interface gap 439, the node determined at the time of transmission 441 starts sending the frame 440. If that active RODL file is processed, all nodes wait until the master sends the next fireworks frame and thus activates a new RODL file.
  • the aforementioned external time master 116 must synchronize the cluster 110 externally and the master node 114 must synchronize the field bus 101 and the master node 115 must synchronize the field bus 102 externally.
  • the external synchronization is implemented by a time startup node, as shown in FIG. 5. If there is no external time master (or if it fails), nodes 111, 112, 113, 114 and 115 can set up a fault-tolerant global clock synchronization internally.
  • TTP Time-Triggered Protocol
  • FIG. 5 shows the structure of a time startup node, e.g. B. the node 114.
  • Each time startup node has an interface 502 to the time master, which transmits on bus 500 and is also called the communication interface, an autonomous host computer 510 with its own CPU and memory, and a communication controller 522 to the time slave (which receives on bus 520).
  • the CNI 502 to the time master must have a global time register 504 that contains the global time.
  • the CNI for a time slave cluster must contain a time startup register 525 in addition to a global time register 524 and a controller ON register 529.
  • the time startup register 525 must be loaded by the host computer 510 at the future point in time at which the communication controller 522 for the time slave cluster will be switched on by the host computer 510 by means of the ON register 529.
  • the host computer 510 reads the global time from the time register 504 of the time master, adds a delay interval known to it until the controller 522 is switched on and places this future switch-on time in the time startup register 525.
  • the host computer 510 switches the controller 522 by means of the controller ON register 529.
  • the controller 522 takes over the time of the startup register 525 into the time register 524 and continues to count the now synchronized time.
  • the controller 522 uses this synchronized time in the time register 524 to carry out the startup procedure of the time slave cluster assigned to it. If the controller 522 does not have a time start-up register 525, but instead initializes the time of the register 524 to zero when it is switched on, the host computer 510 must close the controller exactly Turn on the time when the bit positions of the time master in the global register 504, which correspond to the bit positions of the time register 524, are zero.
  • the introduction of the time start-up register 525 leads to a significant reduction in the start-up duration of a multicluster real-time system. If, e.g. B. a 32-bit format with microsecond granularity is provided for the time representation in the register 524, in the longest case the host computer 510 has to wait 12 seconds before switching on until the time register 524 is reset. By introducing the time start-up register 525, this time is reduced to a few ⁇ sec. Even with a 16-bit time representation, the waiting time when switching on is reduced by a factor greater than 1000. In many technical applications, a short restart time after a transient error is of great safety-related importance.
  • the time start-up register 525 must not be initialized after the controller 522 is switched on, since otherwise the time value entered by the host computer would be lost.
  • the time startup node 114 which is the master of the transducer bus 101, can synchronize transducer nodes 121, which only have an on-chip oscillator, by sending a regular bit pattern.
  • a transducer node 121 senses the edges of such a regular bit pattern on a digital input and counts the number of oscillations of its local oscillator between the edges that are sent by the time startup node 114. In this way, the transducer node learns how many local oscillator oscillations correspond to the a priori known time interval between the edges sent by the time startup node 114.
  • Opcode + Filename 1 byte (2 bit file operation, 6 bit file name)
  • Node name 1 byte (enables the differentiation of 256 nodes in a cluster)
  • Record number 1 byte (allows up to 256 records per file) Record address in the clu st extended interface file system 3 bytes (1 byte file name, 1 byte node name. 1 byte record number)
  • RODL entry 4 bytes (1 byte position identification, 1 byte OpCode and file name, 1 byte length of the frame. 1 byte record address in the local interface file system)
  • Block number 4 data bytes. 1 horizontal check byte
  • interface file system can also be implemented in a larger computer, whereby other coding regulations that take architecture into account will be used.
  • the application of the method described here is not limited to the time-controlled TTP / A protocol, but can be carried out in any other communication system (e.g. CAN or ETHERNET) that is operated time-controlled

Abstract

Ein Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit-Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster über ein eigenes Kommunikationssystem verfügt und in jedem System mindestens ein Knoten, der Time-Start-up-Knoten (116, 114, 115), direkt oder transitiv Zugriff auf eine globale externe Zeit hat. Dazu sind in den Zeit-Slave-Clustern je ein oder mehrere Time-Start-up-Knoten (114) vorhanden, welche direkt oder transitiv Zugriff auf die globale Zeit haben und vor dem Einschalten eines Slavekommunikationskontrollers zum noch nicht synchronisierten Zeit-Slave-Cluster der zukünftige globale Zeitpunkt des Einschaltens in ein Time-Start-up-Register des Slavekommunikationskontrollers eingetragen wird und dieser unmittelbar nach dem zum festgelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister weiterzählt und die Start-up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit realisiert.

Description

OPTIMIERUNG DER NUTZDATENRATE IN EINEM VERTEILTEN ZEITGESTEUERTEN
MULTICLUSTER-ECHTZEITSYSTEM
Die Erfindung bezieht sich auf ein Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit-Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster über ein eigenes Kommunikationssystem verfügt und in jedem System mindestens ein Knoten, der Time-Start-up Knoten, direkt oder transitiv Zugriff auf eine globale externe Zeit hat,
Die technologischen Fortschritte auf dem Gebiet der Halbleitertechnik ermöglichen es, ein Transducerelement zur Messung einer physikalischen Größe (z. B. Temperatur), einen Microcontroller und einen Kommunikationscontroller auf einem einzigen Chip zu integrieren und damit einen kompakten Transducerknoten zu realisieren. In einem verteilten Echtzeitsystem müssen diese Transducerknoten über ein Echtzeitkommunikationssystem, z. B. einem Feldbus, mit anderen Transducerknoten und Verarbeitungsknoten verbunden werden, um Beobachtungen auszutauschen. Eine Beobachtung ist ein atomares Tripel, bestehend aus dem Zeitpunkt der Beobachtung, dem Namen der beobachteten Zustandsgröße (RT-entity), und den Wert der Beobachtung (Kopetz, H. 1997, Real-Time Systems, Design Principles for Distributed Embedded Applications; ISBN: 0-7923-9894-7 Boston, Kluwer Academic Publishers, im folgenden zitiert mit "Kopetz", S. 99). Um einen Informationsaustausch über eine Schnittstelle zwischen Subsystemen realisieren zu können müssen in allen Subsystemen eine global synchronisierte Zeit und ein gemeinsamer Namensraum für RT-entities aufgebaut werden und die gleichen Codierungsvorschriften bzw. Decodierungsvorschriften für die zu übertragenden Werte angewendet werden.
Bestehende Systeme übertragen die Zeit entweder explizit mit den Daten, was zusätzliche Bandbreite beansprucht, oder übernehmen die Zeit implizit aus dem Empfangszeitpunkt der Daten, wobei jedoch der Jitter des Kommunikationssystems den Zeitpunkt der Datenerfassung ungenau werden lässt. Bei einigen technischen Anwendungen ist es erforderlich, räumlich verteilte Daten zu exakt gleichen Zeitpunkten zu messen und die Messergebnisse möglichst rasch an einen Rechnerknoten zur Auswertung zu übertragen. Mit dem bisher bekannten Verfahren lässt sich dies jedoch nur mit sehr hohem technischem Aufwand erreichen. Eine Aufgabe der Erfindung besteht darin, in einem verteilten Multicluster-Echtzeitsystem eine globale Zeit, die mehrere Cluster umfassen soll, aufzubauen und unter Nutzung dieser globalen Zeit die oben beschriebenen Unzulänglichkeiten nach dem Stand der Technik zu reduzieren.
Die Aufgabe lässt sich mit einem Verfahren der eingangs genannten Art erreichen, bei welchem erfindungsgemäß in den Zeit-Slave-Clustern je ein oder mehrere Time-Start-up-Knoten vorhanden sind, wobei jeder Time-Start-up-Knoten ein Gateway-Knoten mit einem Kommunikationsinterface zu einem Zeitmaster und einem Slavekommunikationskontroller zu Zeit-Slave- Clustern ist, jeder Time-Start-up-Knoten direkt oder transitiv Zugriff auf die globale Zeit hat, und der Kaltstart eines Zeit-Slave-Clusters durch einen bereits global synchronisierten Time- Start-up-Knoten dadurch vollzogen wird, dass vor dem Einschalten des SlavekommunikationskontroUers zum noch nicht synchronisierten Zeit-Slave-Cluster der zukünftige globale Zeitpunkt des Einschaltens in das Time-Startup-Register des SlavekommunikationskontroUers eingetragen wird und dieser Slavekommunikationskontroller unmittelbar nach dem zum festgelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister weiterzählt und die Start-Up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit realisiert.
Weitere zweckmäßige Ausführungen und Varianten der Erfindung sind in den abhängigen Unteransprüchen gekennzeichnet.
Das vorab beschriebene Ziel und andere neue Eigenschaften der vorliegenden Erfindung werden anhand eines konkreten Beispiels in der Zeichnung erläutert. In dieser zeigen:
Fig. 1 die Struktur eines verteilten Computersystems, bestehend aus einem Verarbeitungs- cluster und zwei Transducercluster,
Fig. 2 zwei Transducerknoten mit jeweils drei Interfacefiles,
Fig. 3 die Struktur eines Interfaceflies,
Fig. 4 den Aufbau einer Multipartnerrunde und
Fig. 5 die Struktur eines Time-startup-knotenrechners.
Im folgenden Abschnitt wird eine mögliche Realisierung des neuen Verfahrens gezeigt. Die Objekte in den Abbildungen sind so nummeriert, dass die erste der dreistelligen Objektziffern immer die Bildnummer angibt. Eine in Klammer gesetzte Nummer weist auf das gleiche Objekt in einer anderen Abbildung hin. Fig. 1 zeigt die Struktur eines verteilten Echtzeitsystems, bestehend aus zwei Knotenarten, den Verarbeitungsknoten 111 bis 115, dargestellt durch Rechtecke, und den Transducerknoten 121, dargestellt durch Kreise. Die Verarbeitungsknoten sind leistungsfähige Knotenrechner, deren Aufbau am Beispiel des Knotenrechners 114 in Fig. 5 dargestellt ist. Die Transducerknoten 121 sind low-cost Einchip-Microcomputer von vergleichsweise geringer Leistungsfähigkeit die über einen Feldbus 101 bzw. 102 verbunden sind. Um Kosten für einen externen Oszillator zu sparen, kann der Oszillator eines Transducerknoten direkt im Silizium realisiert sein und muss über keinen stabilen Gang verfügen. Ein solcher on-chip Oszillator kann sehr ungenau sein und muss daher von einem Zeitmaster periodisch resynchronisiert werden. Ohne Synchronisation durch einen Master könnte ein solcher Transducerknoten nicht einmal ein einfaches UART Protokoll ausführen.
Die Verarbeitungsknoten 111, 112, 113, 114, und 115 sind über einen leistungsfähigen logischen Echtzeitbus 110, der zum Beispiel mittels des TTP/C Protokolls (siehe Kopetz, S. 175) gesteuert werden kann, verbunden und bilden somit ein Cluster des Multiclustersystems, das eine globale Zeitbasis verteilt und fehlertolerant aufbauen kann. Der logische Echtzeitbus kann physikalisch als Bus, Ring oder als Stern ausgebildet sein. Die Verarbeitungsknoten 111, 114, und 115 sind Time-startup-knoten. Der Time-startup-knoten 111 kann gegebenenfalls mit einem externen Zeitmaster 116 verbunden sein. Der Time-startup-knoten 114 ist der Master des einfachen Transducerbus 101, der z. B. mittels des zeitgesteuerten TTP/A Protokolls (Kopetz, S. 185) gesteuert wird. Der Time-startup-knoten 115 ist der Master des Transducerbus 102.
Fig. 2 stellt einen Ausschnitt aus Fig. 1 genauer dar. Die beiden Transducerknoten 210 und 220 sind über den Feldbus 201 miteinander verbunden. Der globale Namensraum, der für die Kommunikation zwischen Subsystemen erforderlich ist, wird von einem clusterweiten verteilten In- terfacefilesystem (Interfacefilesystem) aufgebaut. Das Interfacefilesystem besteht aus einer Anzahl von Files, die in den Transducerknoten eines Clusters gespeichert sind. Der Transducerknoten 210 beinhaltet die Interfacefiles 211, 212 und 213. Der Transducerknoten 220 beinhaltet die Interfacefiles 221, 222 und 223. Der Prozessor eines Transducerknotens schreibt seine für die Kommunikation vorgesehenen Daten in den vereinbarten Satz eines knotenlokalen Files des Interfacefilesystem. Das zeitgesteuerte Kommunikationssystem liest diese Daten aus den knotenlokalen Files, bzw. schreibt sie in die knotenlokalen Files des Interfacefilesystem.
Fig. 3 zeigt eine mögliche Struktur eines Files des Interfacefilesystem. Im Beispiel der Fig. 3 wird ein indexsequentieller Fileaufbau mit konstanter Datensatzlänge dargestellt. Jeder Datensatz 310 hat als letztes Feld ein horizontales Checkfeld 311, das als Inhalt z. B. das Ergebnis einer XOR Verknüpfung oder einer CRC Berechnung über alle vorangegangenen Datenfelder des Satzes enthält. Dabei soll das Checkfeld 311 auch als Teil einer Nachricht übertragen werden, um beim Empfänger Fehler in der Datenübertragung erkennen zu können. Die Verwendung desgleichen Checkfeldes 311 für die Datenspeicherung im Interfacefilesystem und für die Datenübertragung im Kommunikationssystem hilft Rechenzeit einzusparen. Der letzte Satz eines Files des Interfacefilesystem ist ein vertikaler Checksatz 390, der als Inhalt z. B. das Ergebnis einer XOR Verknüpfung oder einer CRC Berechnung über alle vorangegangenen Sätze enthält. Somit ist es möglich, einen Bitfehler in einem File des Interfacefilesystem durch Überprüfung der Checkfelder bzw. des Checksatzes nach bekannten Methoden zu erkennen und zu korrigieren.
Ein Interfacefile kann beschrieben, gelesen und/oder ausgeführt werden. Die Art der Fileoperation wird durch einen Operationscode (Op-Code) festgelegt. Es gibt drei verschiedene Fileoperationen: read, write, und execute.
Jedes File des Interfacefilesystems hat einen eindeutigen knotenlokalen Filenamen. Wenn in verschiedenen Knoten der gleiche Filename verwendet wird, so bedeuted dies, dass diese Files zusammengehören und ein verteiltes Filesystem bilden. Ein Satz im Interfacefilesystem kann durch folgende Adresse innerhalb eines Clusters angesprochen werden:
<Filename><Knotenname><Satznummer>
Durch Lese- und Schreiboperationen mit der Adresse eines Interfacefilesystem Satzes lässt sich ein Satz im Interfacefilesystem lesen und schreiben. Wenn der Op-Code "ausführen" angibt, so wird der File als ausführbarer Programmmodul (z. B. ein JAVA Applet) interpretiert. Die Implementierung muss sicherstellen, dass die Summe der Teiloperationen der Schreiboperation (z. B. Ändern des Checkfeldes und des Checksatzes) atomar ausgeführt wird. Ein ausgewähltes File des Interfacefilesystems bildet den Endpunkt der Kommunikation mit einem Transducerknoten. Die innerhalb eines Clusters ausgetauschten Daten werden aus dem Interfacefilesystem gelesen bzw. in das Interfacefilesystem geschrieben.
In einem zeitgesteuerten Protokoll werden Echtzeitdaten in Runden übertragen (Fig. 4). z. B. beginnt im zeitgesteuerten Protokoll TTP/A (Kopetz, S. 185) jede Runde mit einem Frame 410, der Synchronisationsinformation und den Rundennamen enthält, aber auch Daten enthalten kann. Dieser erste Frame wird "Fireworksframe" genannt. Es ist eine wesentliche Eigenschaft dieser Erfindung, dass den periodisch wiederkehrenden bekannten Sende- und Empfangszeitpunkten der Echtzeitdaten in einer Runde a priori die Fileoperation und die Adressen des Interfacefilesystem derart zugewiesen werden, dass aus den Zeitpunkten der Datenübertragung die Art und Adresse der zu tätigenden Fileoperation abgeleitet werden kann. Wenn die Fileope- ration ausführen angibt, so muss in dem adressierten File ein ausführbarer Programmmodul vorhanden sein. In diesem Fall können die in der Runde übertragenen Daten die Parameter der Ausführung darstellen. Durch die a priori Spezifikation der zu einem Zeitpunkt durchzuführenden Fileoperationen und Fileadressen erspart man sich die Angabe der Adresse der Echtzeitdaten während der Übertragung. Da viele Echtzeitdaten oft sehr kompakt sind, z. B. kann eine binäre Schalterstellung in ein einziges Bit codiert werden, ist diese Verkürzung der Echtzeitnachrichten (Wegfall der Adresse) von großer wirtschaftlicher Bedeutung.
Die a priori Zuordnung der Adressen zu den Echtzeitdaten einer Runde erfolgt in einem speziellen verteilten System des Interfacefilesystems, den RODL (Round Descriptor List) Files. Jeder Transducerknoten, der an einer Runde teilnimmt, muss über ein lokales RODL File mit dem Rundennamen verfügen.
Ein Satz eines RODL Files kann folgende Struktur haben:
<SteUungsidentifikation><Op-code><Filename><Länge><Satznummer im lokalen Interfacefilesystem>
Die Stellungsidentifikation spezifiziert direkt oder indirekt, an welcher zeitlichen Stelle dieser Runde ein Frame zu finden ist. Der Op-code gibt an, welche Operation (read, write, execute) auszuführen ist. Die Länge gibt an, wie lange der Frame ist. Die Satznummer gibt an, welcher Satz des ausgewählten lokalen Files angesprochen wird.
Fig. 4 zeigt den Aufbau einer Multipartner Runde. Der Pfeil 400 zeigt das Fortschreiten der Zeit. Der Zeitpunkt 411, zu dem der aktive Master 114 die Runde mit einem Fireworksframe 410 beginnt, ist gleichzeitig das Synchronisationssignal für alle Transducerknoten 121. Das Fireworksframe 410 enthält neben anderer Information den Namen des verteilten RODL Files, der in dieser Runde zur Anwendung gelangt. Dieser ausgewählte RODL File wird im folgenden als aktiver RODL File dieser Runde bezeichnet. Nach dem Fireworksframe 410 und einem definierten Interframegap 419 beginnt zum Zeitpunkt 421 der a priori im aktiven RODL File spezifizierte Knoten mit dem Senden seines Frames 420. Alle Knoten, die in ihrem aktiven RODL File angegeben haben dass der zum Zeitpunkt 421 übertragene Frame 420 lokal zu empfangen ist, schreiben diese Nachricht 420 in die aus dem aktiven RODL File entnommene Satzadresse ihres Interfacefilesystem. Entsprechend dem Inhalt des aktiven RODL Files beginnt dann der zum Sendezeitpunkt 431 bestimmte Knoten nach einem weiteren Interframegap 429 mit dem Senden des Frame 430 und anschließend, wiederum nach einem Interfacegap 439, der zum Sendezeitpunkt 441 bestimmte Knoten mit dem Senden des Frame 440. Wenn das aktive RODL File abgearbeitet ist, warten alle Knoten bis der Master das nächste Fireworksframe sendet und damit ein neues RODL File aktiviert. Soll das Lesen und Schreiben von Frames in einem Multiclustersystem synchron zu einem externen Zeitsignal erfolgen zu können, muss der vorhin erwähnte externe Zeitmaster 116 das Cluster 110 extern synchronisieren und der Masterknoten 114 den Feldbus 101, sowie der Masterknoten 115 den Feldbus 102 extern synchronisieren. Die externe Synchronisation wird von einem Time-startup-knoten, wie er in Fig. 5 dargestellt ist, realisiert. Falls kein externer Zeitmaster vorhanden ist (oder wenn er ausfällt), können die Knoten 111, 112, 113, 114 und 115 eine fehlertolerante globale Uhrensynchronisation intern aufbauen.
Der Aufbau einer globalen Zeit innerhalb eines Clusters ist im Europäischen Patent 0 658 257 (H. Kopetz) sowie in den US Patenten 4,866,606 (H. Kopetz) und 5,694,542 (H. Kopetz) beschrieben. Ein Protokoll das die clusterinterne Uhrensynchronisation enthält ist unter dem Namen "Time-Triggered Protokoll (TTP)" bekannt geworden. TTP baut auf einem Verfahren zur fehlertoleranten Uhrensynchronisation auf, wie es in den drei soeben genannten Patenten geoffenbart wurde.
Fig. 5 zeigt den Aufbau eines Time-startup-knotens, z. B. des Knotens 114. Jeder Time- startup-knoten verfügt über ein Interface 502 zum Zeitmaster, der auf Bus 500 sendet und auch Communication Interface genannt wird, über einen autonomen Hostcomputer 510 mit eigener CPU und Speicher, und über einen Kommunikationskontroller 522 zum Zeitslave (der auf Bus 520 empfängt). Das CNI 502 zum Zeitmaster muss über ein globales Zeitregister 504 das die globale Zeit enthält, verfügen. Das CNI zu einem Zeit-Slave-Cluster muss neben einem globalen Zeitregister 524 und einem Controller-ON Register 529 ein Time-Startup-Register 525 enthalten.
Das Time-Startup-Register 525 muss vor dem Einschalten des Kommunikationskontroller 522 vom Hostcomputer 510 mit dem zukünftigen Zeitpunkt geladen werden, zu dem der Kommunikationskontroller 522 zum Zeit-Slave-Cluster mittels des ON-Registers 529 vom Hostcomputer 510 eingeschaltet werden wird. Zu diesem Zweck liest der Hostcomputer 510 die globale Zeit aus dem Zeitregister 504 des Zeitmasters, addiert ein ihm bekanntes Verzögerungsintervall bis zum Einschalten des Kontrollers 522 und legt diesen zukünftigen Einschaltzeitpunkt in das Time-Startup-Register 525. Zum Einschaltzeitpunkt schaltet der Hostcomputer 510 den Kontroller 522 mittels des Controller-ON Register 529 ein. Der Kontroller 522 übernimmt nach dem Einschalten die Zeit des Startup-Registers 525 in das Zeitregister 524 und zählt die nun synchronierte Zeit weiter. Der Kontroller 522 führt mit dieser synchronisierten Zeit in dem Zeitregister 524 die Startup Prozedur des ihm zugeordneten Zeit-Slave-Clusters durch. Wenn der Controller 522 kein Time-Start-up-Register 525 besitzt sondern beim Einschalten die Zeit des Registers 524 mit Null initialisiert, so muss der Hostcomputer 510 den Controller genau zu dem Zeitpunkt einschalten, zu dem die Bitstellen des Zeitmasters im globalen Register 504, die den Bitstellen des Zeitregisters 524 entsprechen, Null sind.
Die Einführung des Time-Start-up-Register 525 führt zu einer signifikanten Reduktion der Start-up Dauer eines Multicluster Echtzeitsystems. Wenn, z. B. für die Zeitdarstellung in dem Register 524 ein 32 Bit-Format mit Mikrosekundengranularität vorgesehen ist, so muss im längsten Fall der Hostcomputer 510 mit dem Einschalten 212 Sekunden warten bis die Nullstellung des Zeitregisters 524 gegeben ist. Durch die Einführung des Time-Start-up-Register 525 wird diese Zeit auf wenige μsec herabgesetzt. Selbst bei einer 16-Bit Zeitdarstellung reduziert sich die Wartezeit beim Einschalten noch um einen Faktor größer als 1000. In vielen technischen Anwendungen ist eine kurze Wiedereinschaltdauer nach einem transienten Fehler von großer sicherheitstechnischer Bedeutung. Das Time-Start-up-Register 525 darf nach dem Einschalten des Controllers 522 nicht initialisiert werden, da sonst der vom Hostcomputer eingetragene Zeitwert verloren ginge.
Der Time-startup-knoten 114, der der Master des Transducerbusses 101 ist, kann Transducerknoten 121, die nur über einen on-chip Oszillator verfügen, durch das Senden eines regulären Bitmusters synchronisieren. Ein Transducerknoten 121 nimmt die Flanken eines solchen regulären Bitmusters auf einem Digitaleingang wahr und zählt die Anzahl der Schwingungen seines lokalen Oszillators zwischen den Flanken, die vom Time-startup-knoten 114 gesendet werden. Auf diese Weise erfährt der Transducerknoten, wie viele lokale Oszillatorschwingungen dem a priori bekannten Zeitintervall zwischen den vom Time-startup-knoten 114 gesendeten Flanken entsprechen.
Im folgenden Abschnitt wird an einem Beispiel gezeigt, wie die Namen und Adressen des beschriebenen Interfacefilesystems in einer 8-bit Architektur eines Microcontrollers effizient codiert werden können:
Fileoperationen: Die ersten beiden Bits eines Bytes
(erlaubt die Codierung der drei Operation read, write, execute)
Filename: Die letzten 6 Bits eines Bytes
(ermöglicht die Unterscheidung von 64 Files)
Opcode + Filename: 1 Byte ( 2 bit Fileoperation, 6 bit Filename)
Knotenname: 1 Byte (ermöglicht die Unterscheidung von 256 Knoten in einem Cluster)
Satznummer: 1 Byte (erlaubt bis zu 256 Sätze pro File) Satzadresse im clu st erweiten Interfacefilesystem 3 Byte (l Byte Filename, 1 Byte Knotenname. 1 Byte Satznummer)
Satzadresse im lokalen Interfacefilesystem 2 Byte (1 Byte Filename, Knotenname entfällt, da implizit gegeben, 1 Byte Satznummer)
RODL Eintrag. 4 Byte (1 Byte Stellungsidentifikation, 1 Byte OpCode und Filename, 1 Byte Länge des Frames. 1 Byte Satzadresse im lokalen Interfacefilesystem)
RODL Ausführung 1 Byte (OpCode und Filenamc)
Satzlänge' 5 Byte (4 Byte Daten, 1 Byte horizontales (.heck Feld)
File Schreiboperation 8 Byte Nachricht
(1 Byte Fileoperation + Filename, 1 Byte Node Name. 1 Byte
Satznummer, 4 Datenbytes. 1 horizontales Check Byte)
Die experimentelle Implementierung des Interfacefilesystem in einem 8-bit Microcontroller hat gezeigt, dass das Interfacefilesystem mit einem Aufwand von ca. 2 kByte Code implementiert werden kann. Diese Codegröße lässt sich selbst in kleinen Ein-Chip Microcontroller unterbringen.
Natürlich lässt sich das Interfacefilesystem auch in einem größeren Computer realisieren, wobei andere, auf die Architektur Rücksicht nehmende Codierungsvorschriften zur Anwendung gelangen werden.
Die Anwendung des hier beschriebenen Verfahrens ist nicht auf das zeitgesteuerte TTP/A Protokoll beschränkt, sondern kann in jedem anderen Kommunikationssystem (z. B. CAN oder ETHERNET), das zeitgesteuert betrieben wird, vorgenommen werden

Claims

PATENTANSPRÜCHE
1. Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit- Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster über ein eigenes Kommunikationssystem verfügt und in jedem System mindestens ein Knoten, der Time-Start-up Knoten (116, 114, 115), direkt oder transitiv Zugriff auf eine globale externe Zeit hat, dadurch gekennzeichnet, dass in den Zeit-Slave-Clustern je ein oder mehrere Time- Start-up-Knoten (114) vorhanden sind, wobei jeder Time-Start-up-Knoten (114) ein Gateway-Knoten mit einem Kommunikationsinterface (502) zu einem Zeitmaster und einem Slavekommunikationskontroller (522) zu Zeit-Slave-Clustern ist, jeder Time-Start-up- Knoten direkt oder transitiv Zugriff auf die globale Zeit hat, und der Kaltstart eines Zeit- Slave-Clusters durch einen bereits global synchronisierten Time-Start-up-Knoten dadurch vollzogen wird, dass vor dem Einschalten des SlavekommunikationskontroUers zum noch nicht synchronisierten Zeit-Slave-Cluster der zukünftige globale Zeitpunkt des Einschal- tens in das Time-Startup-Register (525) des SlavekommunikationskontroUers (522) eingetragen wird und dieser Slavekommunikationskontroller unmittelbar nach dem zum festgelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister (524) weiterzählt und die Start-Up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit realisiert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Slavekommunikationskontroller (522) über ein Time-Startup-Register (525) verfügt, in das vor dem Einschalten des Kommunikationskontrollers der zukünftige globale Zeitpunkt des Einschaltens eingetragen werden kann und in dem vom Zeitpunkt des Einschaltens des Kommunikationskontrollers diese globale Zeit weitergezählt und die Start-Up-Prozedur des Zeit-Slave- Clusters mit dieser globalen Zeit realisiert wird.
3. Verfahren zur Übertragung von Daten von/zu einem Interface File System mit einem zeitgesteuerten Kommunikationsprotokoll, das die Kommunikation in einem Cluster eines verteilten Computersystems realisiert, wobei in jedem Cluster eine Vielzahl von Slavekno- ten (121) und ein oder mehrere Masterknoten (114) über einen oder mehrere logische Busse (101) verbunden sind und jeder Knotenrechner über mindestens eine Kommunikati- onskontrolleinheit mit den entsprechenden Anschlüssen an die Busse verfügt und der Zugriff auf die Kommunikationskanäle entsprechend dem Kommunikationsprotokoll, das zeitgesteuert betrieben wird, erfolgt und alle Knoten über eine global, nach Anspruch 1 o- der 2 synchronisierte Zeit verfügen, dadurch gekennzeichnet, dass der für die Kommunikation erforderliche gemeinsame Namensraum durch ein auf die Slaveknoten (121) verteiltes Interfacefilesystem erzeugt wird und die in einer von einem aktiven Masterknoten ausgewählten Kommunikationsrunde auftretenden Fileoperationen und Fileadressen dieses Filesystems a priori der global synchronisierten Zeit derart zugewiesen werden, dass die Sende- und Empfangszeitpunkte eines Knotens die Fileoperationen und die Fileadressen der zu übertragenen Daten bestimmen und die zum festgelegten Zeitpunkt ohne Adressen übertragenen Daten beim Senden direkt von diesen a priori spezifizierten Files gelesen werden, beim Empfangen direkt in diese a priori spezifizierten Files abgelegt werden, und beim Ausführen diese a priori spezifierten Files ausgeführt werden, wobei die übertragenen Daten die Parameter der Ausführung sind.
4. Verfahren nach Anspruch 3 dadurch gekennzeichnet, dass die in den Knoten (121) notwendigen Datenstrukturen, welche die a priori Zuweisung der Fileoperationen und Fileadressen einer Kommunikation zu den Zeitpunkten der Übertragung vornehmen, in dem gleichen verteilten Interface Filesystem (211) abgelegt werden, das die adresslosen Daten speichert.
5. Verfahren nach Anspruch 3 oder 4 dadurch gekennzeichnet, dass der gemeinsame Bezugszeitpunkt für die globale Zeit am Anfang einer Runde durch den Sendezeitpunkt des aktiven Masters (411) bestimmt wird.
6. Verfahren nach einem der Ansprüche 3 bis 5 dadurch gekennzeichnet, dass die Slaveknoten (121) autonom die Driftrate ihrer Oszillatoren durch den a priori bekannten zeitlichen Abstand zwischen chrakterischen Flanken, die vom Master (114) gesendet werden, bestimmen.
7. Verfahren nach einem der Ansprüche 3 bis 6 dadurch gekennzeichnet, dass das Interfacefilesystem als indexsequentielles Filesystem mit konstanter Länge der Sätze (310) organisiert ist und jeder Satz über ein horizontales Checkfeld (311) und jeder File als Ganzes über einen vertikalen Checksatz (390) verfügen, sodass ein Fehler im Interfacefilesystem erkannt und korrigiert werden kann.
8. Verfahren nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass zum Erkennen von Fehlern in der Datenkommunikation ohne Berechnung eines neuen Checkfeldes das horizontale Checkfeld (3 1 1 ) eines Satzes des Interfacef lesystems gemeinsam mit den Daten des Satzes übertragen wird.
9. Verfahren nach Anspruch 3 bis 8, dadurch gekennzeichnet, dass ein bereits vorhandenes, an sich nicht zeitgesteuertes Übertragungsprotokoll (z. B. CAN oder ETHERNET) zeitgesteuert verwendet wird und mit dem Interfacefilesystem integriert wird.
PCT/AT2000/000011 1999-01-20 2000-01-18 Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem WO2000043857A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10080127T DE10080127D2 (de) 1999-01-20 2000-01-18 Optimierung der Nutzdatenrate in einem verteilten zeitgesteuerten Multicluster-Echtzeitsystem
AU30259/00A AU3025900A (en) 1999-01-20 2000-01-18 Optimization of user data rate in a distributed time-controlled multicluster real-time system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AT7499 1999-01-20
ATA74/99 1999-01-20
ATA1674/99 1999-09-30
AT167499 1999-09-30

Publications (1)

Publication Number Publication Date
WO2000043857A1 true WO2000043857A1 (de) 2000-07-27

Family

ID=25591353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2000/000011 WO2000043857A1 (de) 1999-01-20 2000-01-18 Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem

Country Status (3)

Country Link
AU (1) AU3025900A (de)
DE (1) DE10080127D2 (de)
WO (1) WO2000043857A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063913A1 (en) * 2003-01-10 2004-07-29 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed global clock for clusters of computers
AT412592B (de) * 2003-05-30 2005-04-25 Fts Computertechnik Gmbh Virtuelle netzwerke in einem zeitgesteuerten multicluster echtzeitsystem
EP1553732A2 (de) * 2003-12-09 2005-07-13 Volkswagen AG Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
WO2008029318A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029317A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
CN109582478A (zh) * 2018-12-04 2019-04-05 湖南大学 基于gpu的隐藏通道的研究方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866606A (en) * 1984-06-22 1989-09-12 Austria Miktosystem International Gmbh Loosely coupled distributed computer system with node synchronization for precision in real time applications
WO1998056135A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866606A (en) * 1984-06-22 1989-09-12 Austria Miktosystem International Gmbh Loosely coupled distributed computer system with node synchronization for precision in real time applications
WO1998056135A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063913A1 (en) * 2003-01-10 2004-07-29 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed global clock for clusters of computers
AT412592B (de) * 2003-05-30 2005-04-25 Fts Computertechnik Gmbh Virtuelle netzwerke in einem zeitgesteuerten multicluster echtzeitsystem
EP1553732A2 (de) * 2003-12-09 2005-07-13 Volkswagen AG Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
EP1553732B1 (de) * 2003-12-09 2016-10-05 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
WO2008029318A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029317A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029317A3 (en) * 2006-09-06 2008-05-15 Nxp Bv Cluster coupler in a time triggered network
WO2008029318A3 (en) * 2006-09-06 2008-08-21 Nxp Bv Cluster coupler in a time triggered network
US9137042B2 (en) 2006-09-06 2015-09-15 Nxp, B.V. Cluster coupler in a time triggered network
CN109582478A (zh) * 2018-12-04 2019-04-05 湖南大学 基于gpu的隐藏通道的研究方法
CN109582478B (zh) * 2018-12-04 2023-10-03 湖南大学 基于gpu的隐藏通道的研究方法

Also Published As

Publication number Publication date
AU3025900A (en) 2000-08-07
DE10080127D2 (de) 2001-04-12

Similar Documents

Publication Publication Date Title
DE3725343C2 (de) Vielzweck-Kanalsteuersystem
DE3506118C2 (de)
DE2856483C2 (de)
DE2209136B2 (de) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE2755952C2 (de)
EP2619935B1 (de) Vorrichtung und verfahren zur bereitstellung einer globalen zeitinformation in ereignisgesteuerter buskommunikation
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
EP0762274A1 (de) Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
DE10259327A1 (de) USB-Verbundgerät und Verfahren zum Realisieren desselben
DE2422802A1 (de) Datenverarbeitungsanlage
DE2921897A1 (de) Hardware/firmware-dialogsteuerlogik- system
WO2006015911A1 (de) Verfahren und vorrichtung zum zugriff auf daten eines botschaftsspeichers eines kommunikationsbausteins
DE69432726T2 (de) Verfahren und System zur seriellen Datenübertragung
EP1428084B1 (de) Verfahren und vorrichtung zur zeitbestimmung in einem bussystem und bussystem
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
DE112020004065T5 (de) Komplexe Daisy-Chain-Befehle
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
WO2000043857A1 (de) Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
DE3238826C2 (de)
DE102006019018B4 (de) Verfahren zum Übertragen von Daten zwischen einem Prozessor und einem Massenspeicher
DE2842603C3 (de) Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems
EP1308846B1 (de) Datenübertragungseinrichtung
EP0525214B1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK 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 MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW 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 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
REF Corresponds to

Ref document number: 10080127

Country of ref document: DE

Date of ref document: 20010412

WWE Wipo information: entry into national phase

Ref document number: 10080127

Country of ref document: DE

122 Ep: pct application non-entry in european phase