Communication method and system for the transmission of time-driven and event-driven Ethernet messages

Information

  • Patent Application
  • 20050117596
  • Publication Number
    20050117596
  • Date Filed
    December 10, 2004
    20 years ago
  • Date Published
    June 02, 2005
    19 years ago
Abstract
The invention relates to a communication method for transmitting Ethernet messages in a distributed real-time system in which a plurality of network node computers, e.g. four network node computers (111, 112, 113, 114), each comprising at least one communication controller (121, 122, 123, 124), are linked via a communication system comprising one or more communication channels (109), one or more intelligent star couplers (101, 102) being disposed in each communication channel. According to the invention, a distinction is made between conventional Ethernet messages (ET messages) and time-triggered Ethernet messages (TT messages), the TT messages being transported with an a priori known constant delay time (Δ) between transmitter and receiver, and, when there is a time conflict between ET and TT messages, the transport of the ET message that is in conflict being delayed or aborted in order to be able to transport the TT message with the constant delay time (Δ). Furthermore, the invention relates to a corresponding communication system and a star coupler for such a communication system.
Description

The invention relates to a communication method for transmitting Ethernet messages in a distributed real-time system in which a plurality of network node computers, e.g. four network node computers, each comprising at least one communication controller, are linked via a communication system comprising one or more communication channels, one or more intelligent star couplers being disposed in each communication channel.


Furthermore, the invention relates to a star controller for a communication system for the transmission of Ethernet messages in a distributed real-time system including a plurality of network node computers, e.g. four network node computers, each of which comprises at least one communication controller, the communication system comprising one or more communication channels via which the network node computers are connected to each other and one or more intelligent star couplers being disposed in each communication channel.


In the text to follow, reference is made to the literature indicated below:


[1] U.S. Pat. No. 5,694,542 issued on Dec. 12, 1989: A Loosely Coupled Distributed Computer System with Node Synchronization for Precision in Real Time.


[2] EP 0 658 257 of Dec. 18, 1996: Communication Unit and Method for the Transmission of Messages.


[3] U.S. Pat. No. 5,887,143 issues on Mar. 23, 1999: Time-Triggered Communication Control Unit and Communication.


[4] AT 407 582 of Jun. 15, 2000: Message Distribution Unit having Integrated Guardian for the Prevention of Babbling Idiot Errors.


[5] AT 408 383 of Mar. 15, 2001: Method and Communication Control unit for the Multi-master Clock Synchronization in a Distributed Real-time Computer System.


[6] Austrian Patent Application 1723/2001 of Oct. 10, 2000: Method for the Toleration of Slightly-off-specification Errors in a Distributed, Fault-tolerant, Real-time System.


[7] Austrian Patent Application 429/2001 of Mar. 19, 2001: Communication Method for the Establishment of Event Channels in a Time-triggered Communication System.


[8] IEEE Ethernet Standard 802.3 at URL:HTTP:/standards.ieee.org


[9] Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed Embedded Applications; ISBN: 0-7923-9894-7. Boston. Kluwer Academic Publishers


[10] Sharon, O., Spratt, M., “A CSMA/CD compatible MAC for real-time transmission based on varying collision intervals”. In: INFCOM'98. Seventh Annual Meeting Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, Volume: 3, 1998, pp. 1265-1272 vol. 3.


In the past twenty years, the IEEE Ethernet Standard 802.3 [8] has gained such wide acceptance that, because of the mass market for Ethernet controllers in the personal computer area, the costs for Ethernet-based communication systems have dropped very sharply. For these cost reasons, Ethernet is also used increasingly in real-time data processing, although the existing Ethernet protocol possesses no good real-time properties, such as minimal Jitter.


A CSMS/CD system is known from [10] in which messages are subdivided into such low and high priority, the message with high priority being given the preference when there is a conflict between two messages.


However, the real-time properties of the Ethernet protocol cannot be substantially improved with the procedure proposed here by itself.


One object of the invention is to enable the transmission of Ethernet messages with good real-time properties.


This objective is achieved using a method of the type mentioned at the outset, in that a distinction is made according to the invention between conventional Ethernet messages (ET messages) and time-triggered Ethernet messages (TT messages), the TT messages are transported with an a priori known constant delay time between transmitter and receiver, and, when there is a time conflict between ET and TT messages, the transport of the ET message that is in conflict is delayed or aborted in order to be able to transport the TT message with the constant delay time.


Furthermore, the objective mentioned at the outset is achieved using a star controller mentioned at the outset that is set up according to the invention to distinguish between conventional Ethernet messages (ET messages) and time-triggered Ethernet messages (TT messages), to transport the IT messages having an a priori known constant delay time between transmitter and receiver, whereby, when there is a time conflict between ET and TT messages, the transport of the ET message that is in conflict is delayed or aborted in order to be able to transport the TT message with the constant delay time.


In contrast to the “non pre-emptive” solution disclosed in [10], in the present invention it is not necessary to wait for the end of the transmission of a message having low priority; rather, the low priority message is aborted in order to be able to transmit the high-priority message (“pre-emptive”). As a result it is also not necessary to wait on the maximum run time of messages having low priority, and the constant latency can thus also be kept short.


By guaranteeing a constant delay time, it is possible to achieve a high control engineering precision. The constant delay time is therefore of special significance for the reason that, as is known from the theory of clock synchronization, the variability of the delay time (this is the difference between the maximum and minimum delay times) makes the precision of the clock synchronization worse. An a priori known constant delay time can be considered in the clock synchronization algorithm and therefore has no effect on the precision of the clock synchronization. An imprecise clock synchronization brings about a poor time basis because the granularity of the global time must be greater than the precision of the clock synchronization. A coarse granularity of the clocks brings about an imprecise time resolution of events. Furthermore, the variability of the delay time also determines the precision of the synchronization of distributed actions in a distributed computer system.


The present invention makes it possible to improve substantially the real-time properties of a communication system. This new communication system supports the parallel operation of event-triggered and time-triggered Ethernet messages in a single communication system. In the following, the classical Ethernet messages are characterized as ET (event-triggered) messages and the time-triggered Ethernet messages as TT (time-triggered) messages. The TT messages have a constant delay time and minimal jitter.


The following significant economic advantages are produced by the invention. The minimal jitter of the TT-messages enables the development of closed-loop control circuits of high control engineering quality. The TT messages enable the development of a global time with good precision. Global time supports the generation of precise local time stamps in the data acquisition and makes it possible to improve the temporal specification of the interfaces. Moreover, conventional Ethernet controllers may be used without modification.


The method of the invention can be produced especially simply if the constant delay time is selected in such a manner that the output channels of the star coupler may be cleared for the transport of the TT message to be received.


In one embodiment, there is an indication in a designated field of the message of whether the message is a TT message or is an ET message.


Furthermore, an optional time field that indicates the transmission instant of the message may be contained within a TT message.


In this context it is advantageous if it is already established by an a priori planning that a time interval of at least the constant delay time is observed between the Transport of two TT messages.


Furthermore, the aforementioned objective is achieved using a system mentioned at the outset that is set up according to the invention to distinguish between conventional Ethernet messages Ethernet (ET messages) and time-triggered Ethernet messages (TT messages) and to transport the TT messages with an a priori known constant delay time between transmitter and receiver, whereby, when there is a time conflict between ET and TT messages, the transport of the ET message that is in conflict is delayed or aborted in order to be able to transport the TT message with the constant delay time.


As already mentioned above, it is advantageous if the constant delay time is selected in such a manner that the output channels of the star coupler can be cleared within this delay time for the transport of the incoming TT message.


Moreover, it may be provided that there is an indication in a designated field of the message of whether the message is a TT message or an ET message.


Furthermore, an optional time field that indicates the transmission time of the message may be contained within a TT message.


In this context it is advantageous if it is already established by an a priori planning that a time interval of at least the constant delay time is observed between the Transport of two TT messages.


In a concrete embodiment of the communication systems, provision is made that the instants at which incoming messages are TT messages are indicated to the star coupler via a configuration message.


In this context, the star coupler distinguishes between TT messages and ET messages and transports the TT messages with an a priori known constant delay time, and, when there is a time conflict between ET and TT messages, it aborts the transport or the ET message that is in conflict in order to be able to transport the TT message with the constant delay time.


Provision is then made that after the on-time transmission of a TT message the star coupler re-transmits the ET message that was in conflict and was aborted. Furthermore, it may be provided that the star coupler synchronizes its local clock using the time field contained within a TT message.


In this context, it is especially beneficial if the star coupler in a fault-tolerant manner synchronizes its local clock using the time fields contained within a plurality of TT messages. In addition, it may be provided that the star coupler is connected to the replicated star couplers within a cluster of network node computers via a dedicated unidirectional channel on which all TT messages that the star coupler transports are output.


In addition, it is also still possible that the star coupler, on the basis of its local time, checks whether the TT message arrives within an a priori known time window around the instant of transmission, and the star coupler, when it receives a TT message early or late, garbles the message in such a manner that all correct receivers detect the message as faulty. The star coupler decodes each TT message and re-codes it on the basis of its local timing module.


The star coupler reads one or more selected fields of TT messages and checks during the delay time whether the content of these fields corresponds to known criteria that were communicated a priori to the star coupler via a configuration message. If it does not correspond, the message is garbled in such a manner that all correct receivers detect the message as faulty. Moreover, provision is also made according to the invention that the communication controller synchronizes its local clock using the time field contained within a TT message.


The communication controller in a fault-tolerant manner synchronizes its local clock using the time fields contained within a plurality of TT messages. Moreover, the communication controller autonomously transmits a TT message accepted by an application executed on a network node computer as soon as the transmission instant indicated in the time field in the message is reached.


Moreover, provision is made that the communication controller distinguishes between ET and TT messages, and the communication controller provides the ET messages to the local application software corresponding to the event semantics, a new message being placed in a waiting queue from which it is read in a consumptive manner by the application software, and the communication controller provides TT messages to the local application software corresponding to the status semantics, a new message replacing the old one and the reading by the local application software occurring in a non-consumptive manner.


Finally, the communication controller has two or more communication channels on which identical copies of a TT message are provided, and the one communication operation is considered successful if a valid TT message is received on time on at least one of these redundant channels.




The invention is explained in below in reference to the drawing. Shown are:



FIG. 1 the structure of a distributed computer system with a star coupler,



FIG. 2 the structure of a distributed computer system with two star couplers,



FIG. 3 the structure of a standardized normal Ethernet message,



FIG. 4 the structure of a standardized expanded Ethernet message,



FIG. 5 the structure of a TT Ethernet message, and



FIG. 6 the bit arrays of a TT parameter field of the TT Ethernet message.




In the next section, an embodiment of the new method is shown by an example with four network node computers, which are connected via two replicated star couplers.



FIG. 1 shows a distributed computer system with a star coupler. It comprises four network node computers 111, 112, 113, and 114, each of which has a communication controller 121, 122, 123, and 124 with one bidirectional communication channel connection each, and which are connected via a communication system comprising a communication channel 109. Located in this communication channel is an intelligent star coupler 101 for the central control of communication. The star coupler 101 can be initialized and observed via an optional, separate communication channel 141.



FIG. 2 shows a distributed fault-tolerant computer system having two star couplers. It is comprised of four network node computers 111, 112, 113 and 114, each of which has a communication controller 121, 122, 123 and 124 with two bi-directional communication channel connections each. Each of these communication channel connections is connected to an intelligent star coupler 101 and 102, which carry out the central control of communication. Star coupler 101 is able to transmit its messages via channel 151 to star coupler 102 and can be initialized and observed via separate communication channel 141. Star coupler 102 is able to transmit its messages via channel 152 to star coupler 101 and can be initialized and observed via separate communication channel 142.



FIG. 3 shows the structure of a normal Ethernet message standardized according to [8]. Situated after a preamble 301 with a length of 7 bytes are start delimiter field 302, target address 303, transmitter address 304, message length or type of message 307, variable data field 310, optional PAD field 311, with which short messages are extended, and frame-check sequence 312. FIG. 4 shows the structure of an expanded Ethernet message standardized according to [8]. In addition to the fields described in FIG. 3, an identifier for the expanded message is located in field 305 and a tag-type field is located in field 306. In this tag-type field, the user may determine the priority of a message. The highest priority may be used according to the present invention for the identification of a TT message. Such an identifier conforms to the Ethernet standard [8]. It should be pointed out that in the Ethernet standard the code allowance for field 305 is not yet fully utilized, and therefore this field could also used for the identification of a TT message. FIG. 5 shows the structure of a TT Ethernet message. In addition to the fields described in FIG. 4, in field 308 a TT parameter field is introduced and in field 309 the optional transmission instant of the TT message is indicated. A standardized Ethernet controller available on the market reads user-specific data fields in fields 308 and 309. In TT parameter field 308 is information pertaining to the structure and the type of the TT message.



FIG. 6 shows the contents of the bit arrays of TT parameter field 308. If the bit is set in field 601 (low-order bit), this means that the transmission instant in field 309 is contained in the TT message. If the bit is set in field 602, this means that the message comes from a transmitter having a precise clock time and may be used for clock synchronization.


If a network node computer, e.g. 111, wants to transmit a TT message, it sets the code for a TT message in message field 306 and transmits the message. Alternatively, the application software running on a network node computer can set bit 601 in the message and write the desired transmission point in field 309 of the message. The start of transmission can then autonomously occur precisely at established transmission instant 309 via an Ethernet communication controller. If the transmitter sets the bit of the message, then the message contains an especially precise time indication, which can be used for the clock synchronization of the other controllers.


The star coupler analyzes an incoming message and using field 306 determines whether a TT message or an ET message is arriving. In the case of a TT message, the star coupler determines the desired output channel on the basis of field 303, e.g. at node 114 in FIG. 1. If an ET message is sent directly on this channel, then the star coupler aborts this transmission operation immediately and clears the channel to node 114 within a known constant delay time Δ for the further transport of the TT message that is just arriving. Delay time Δ must be selected to be long enough that in each case the output channel can be cleared within this delay time Δ for the transport of the TT message. Within the context of an a priori planning of the TT communication, it must be ensured that the interval between consecutive TT messages is greater than delay time Δ. In the individual case, the star coupler precisely observes this constant delay time Δ between the beginning of the reception of a TT message and the beginning of the transmission of a TT message. If the star coupler has aborted the transport of an ET message that is in conflict, it can re-transmit the aborted ET message after the on-time transport of the TT message. The star coupler can also take on guardian functions, as are described in [4], in order to detect and isolate faulty messages and thereby prevent the propagation of errors. If a TT message in field 309 obtains the transmission instant, then the star coupler can check whether the message arrives according to [6] within a known tolerance interval around the transmission instant and reject the message if this is not the case. Alternatively, the input channels on which TT messages are expected and at what instants can be communicated to the star coupler via channel 141 using a configuration message transmitted a priori. This information redundancy in a fault-tolerant system prevents a faulty computer node from entering an incorrect transmission time. Because the star coupler codes the message on the basis of its own oscillator and its own power supply on the output, the forwarding of an SOS fault from the transmitter to the receiver [4] is stopped. The star coupler can initially synchronize its local clock in that it measures the beginning of the reception of a TT message and sets its clock in such a manner that at this reception instant it would have accepted the value of global time 309, which is contained in the message [5].


A continuous fault-tolerant clock synchronization may be realized as follows: with each synchronization message marked in field 602, the star coupler determines the interval between the reception instant of the synchronization message measured with its local clock and the transmission instant [5] contained in field 309 of the message.


This interval is a measure for the deviation of the clock of the receiver from the clock of the transmitter. If a number of such messages is present, then it is possible for the correction factor for the clock of the star coupler to be calculated using a known fault-tolerant synchronization algorithm, as described in [9] on p. 61. Such a fault-tolerant synchronization method may also be realized in the hardware of the star coupler [1]. In a fault-tolerant system [2, 3], in which replicated communication channels corresponding to FIG. 2 are present, each star coupler can send all TT messages via a dedicated connection channel (151 for star coupler 101 and 152 for star coupler 102) to the other star coupler, so that the latter may also synchronize its clock if no message arrives at its own input. In a fault-tolerant system, the star coupler, within delay time Δ, can check the content of data field 310 of the message corresponding to criteria reported to it via a configuration message in order to detect data fields of the transmitter. A message detected as faulty is not forwarded by the star coupler.


If a receiving communication controller finds the transmission instant in field 309 of the arriving TT message, it can synchronize its local clock, in that it measures the beginning of the reception of the message and its clock is set in such a manner that at this reception instant it would have accepted the value of global time 309 contained in the message plus constant delay interval Δ caused by the star coupler [5]. A continuous fault-tolerant clock synchronization can be realized as follows: with each synchronization message marked in field 602, the communication controller determines the interval between the reception instant of the synchronization message measured with its local clock and the transmission instant contained in field 309. It shortens this interval by the known delay interval Δ of the star coupler. This shortened interval is a measure for the deviation of the clock of the receiver from the clock of the transmitter. If a number of such messages is present, then it is possible, using a known fault-tolerant synchronization algorithm, as described in [9] on p. 61, for the correction factor for the clock of the star coupler to be calculated. Such a fault-tolerant synchronization method may also be realized in the hardware of the receiving communication controller [1]. If the application software of a computer node, e.g. 111, enters the intended transmission instant of the message in message field 309, an expanded communication controller according to the invention can autonomously set up the beginning of the transmission [2,3] at precisely the correct transmission instant. At the interface between the received communication controller, e.g. 121, and the application software, an expanded communication controller can provide ET messages and TT messages differently. ET messages normally contain information about events and must be processed according to the event semantics [7]. The event semantics require that arriving messages be temporarily stored in a waiting queue and be transferred exactly one time to the user process. TT messages normally contain status data that can be provided in accordance with the status semantics in a common memory. The reception of a new TT message overwrites the memory value of an older TT message by the same name. The receiving process reads status data in a non-consumptive manner. In a fault-tolerant system that provides a plurality of multiple independent communication channels, e.g. via two channels as in FIG. 2, messages are sent in a replicated manner. In such a system, the communication is successful if at least one of the replicated message copies arrives at the receiver.


Finally, it should be noted that the previously described concrete implementation of the integration of time-triggered and event-triggered messages in the Ethernet represents only one of many possible implementation variants of the invention.


For example, it is possible to derive the decision of whether a message arriving at the star coupler is a TT message not from the message content in field 306 or field 305, but from the instant of reception of a message at the star coupler. In such a case, when and on which channel a TT message is expected must be reported to the star coupler a priori via a configuration message. The same is true for the communication controller.


It is an essential characteristic of this invention that existing commercially available Ethernet controllers can send and receive time-triggered messages without modification.

Claims
  • 1. A communication method for the transmission of Ethernet messages in a distributed real-time system in which a plurality of network node computers, e.g. four network node computers (111, 112, 113, 114), each of which comprises at least one communication controller (121,122, 123, 124), are connected via a communication system that comprises one or more communication channels (109), one or more intelligent star couplers (101, 102) being disposed in each communication channel, and a distinction being made between conventional Ethernet messages (ET messages) and time-triggered messages (TT messages), and the TT messages are transported with an a priori known constant delay time (Δ) between transmitter and receiver, wherein when there is a time conflict between ET and TT messages, the transport of the ET message that is in conflict is aborted in order to be able to transport the TT message with the constant delay time (Δ).
  • 2. The method as described in claim 1, wherein the constant delay time (Δ) is selected in such a manner that within this delay time (Δ) the output channels of the star coupler (101, 102) for the transport of the incoming TT message can be cleared.
  • 3. The method as described in claim 1, wherein in an outstanding field of the message a designation is made of whether the message is a TT or an ET message.
  • 4. The communications method as described in claim 1, wherein the transmission instant of the message is indicated via an optional time field (309) contained in a TT message.
  • 5. The communication method as described in claim 1, wherein it is determined via an a priori planning that a time interval of at least the constant delay time (Δ) between the transport of two TT messages is observed.
  • 6. A star coupler for a communication system for the transmission of Ethernet messages in a distributed real-time system comprising a plurality of network node computers, e.g. four network node computers (111, 112, 113, 114), each of which comprises at least one communication controller (121, 122, 123, 124), the communication system comprising one or more communication channels (109) via which the network node computers (111, 112, 113, 114) are connected to each other, and one or more intelligent star couplers (101, 102) being disposed within each communication channel, wherein it is equipped to distinguish between conventional Ethernet messages (ET messages) and time-triggered Ethernet messages (TT messages) and to transport the TT messages having an a priori known constant delay time (Δ) between transporter and receiver, whereby, when there is a time conflict between ET and TT messages, the ET message in conflict is aborted in order to be able to transport the TT message with the constant delay time (Δ).
  • 7. The star coupler as described in claim 6, wherein the constant delay time (Δ) is selected in such a way that within this delay time (Δ) the output channels of the star coupler (101, 102) can be cleared for the transport of the incoming TT message.
  • 8. The star coupler as described in claim 6, wherein, in an indicated field of the message, a designation is made of whether the message is a TT message or an ET message.
  • 9. The star coupler as described in claim 6, wherein an optional time field (309) that indicates the transmission instant of the message is contained in a TT message.
  • 10. The star coupler as described in claim 6, wherein it is determined via an a priori planning that a time interval of at least the constant delay time (Δ) between the transport of two TT messages is observed.
  • 11. The star coupler as described in claim 6, wherein the instants at which incoming messages are TT messages are reported to the star coupler via a configuration message.
  • 12. The star coupler as described in claim 6, wherein it distinguishes between TT messages and ET messages and transports the TT messages and ET messages with an a priori known constant delay time (Δ) and, when there is a time conflict between ET and TT messages, aborts the transport of the ET message that is in conflict, in order to be able to transport the TT messages with the constant delay time (Δ).
  • 13. The star coupler as described in claim 6, wherein it re-transmits the ET message that was in conflict and aborted after the on-time transmission of a TT message.
  • 14. The star coupler as described in claim 6, wherein star coupler synchronizes its local clock using the time field (309) contained in a TT message.
  • 15. The star coupler as described in claim 6, wherein, in a fault-tolerant manner, it synchronizes its local clock using the time fields (309) contained within a plurality of TT messages.
  • 16. The star coupler as described in claim 6, wherein it is connected via a dedicated unidirectional channel (151), on which all TT messages that are transported to the star coupler are output, to the replicated star couplers within a cluster of network node computers.
  • 17. The star coupler as described in claim 6, wherein, for each TT message, it checks on the basis of its local time whether the TT message arrives within an a priori known time window around the transmission instant (309) contained in the message and which, when a TT message arrives early or late, garbles the message in such a manner that all correct receivers detect the message as faulty.
  • 18. The star coupler as described in claim 6, wherein it decodes each TT message and re-codes it on the basis of its local timing module.
  • 19. The star coupler as described in claim 6, wherein it reads one or more selected fields of TT messages and checks during the delay time (Δ) whether the content of these fields corresponds to known criteria that were communicated a priori to the star coupler via a configuration message and which, if it does not correspond, garbles the message in such a manner that all correct receivers detect the message as faulty.
  • 20. A communication system for the transmission of Ethernet messages in a distributed real-time system comprising a plurality of network node computers, e.g. four network node computers (111, 112, 113, 114), each of which comprises at least one communication controller (121, 122, 123, 124), the communication system comprising one or more communication channels (109) via which the network node computers (111, 112, 113, 114) are connected to each other, and one or more intelligent star couplers (101,102) being disposed within each communication channel, characterized by a star coupler as described in claim 6.
  • 21. The communication system as described in claim 20, wherein the communication controller synchronizes its local clock using the time field contained in a TT message.
  • 22. The communication system as described in claim 20, wherein the communication controller in fault-tolerant manner synchronizes its local clock using the time fields (309) contained within a plurality of TT messages.
  • 23. The communication system as described in claim 20, wherein the communication controller autonomously transmits a TT message accepted by an application running on a network node computer as soon as the transmission instant indicated in the time field (309) in the message is reached.
  • 24. The communication system as described in claim 20, wherein the communication controller distinguishes between ET and TT messages, and the communication controller provides the ET messages to the local application software corresponding to the event semantics, a new message being placed in a waiting queue from which it is read in a consumptive manner by the application software, and the communication controller provides TT messages to the local application software corresponding to the status semantics, a new message replacing the old one, and the reading by the local application software occurring in a non-consumptive manner.
  • 25. The communication system as described in claim 20, wherein the communication controller has two or more communication channels on which identical copies of a TT message are provided and the one communication operation is considered successful if a valid TT message is received on time on at least one of these redundant channels.
Priority Claims (2)
Number Date Country Kind
PCT/AT03/00164 Jun 2003 WO international
A 895/2002 Jun 2002 AT national