The invention pertains to a method for the transmission of messages within a computer network, wherein the computer network is comprised of a number of computing nodes being interconnected via one or multiple active components, whereby each computing node is connected to an active component via a communication line, and wherein the computing nodes are exchanging at least some of the messages in the form of real-time messages, whereby defined Class Measurement Time Intervals of a constant time duration are allocated to the real-time messages, and wherein the bandwidth available for the real-time messages within one CM time interval is limited to a defined real-time bandwidth.
The invention furthermore pertains to a computer network for the execution of one above-named method for the transmission of messages, wherein the computer network is comprised of a number of computing nodes, which are interconnected via one or multiple active components, whereby each computing node is connected to an active component via a communication line, and wherein the computing nodes are exchanging at least some of the messages in the form of real-time messages, whereby defined Class Measurement Time Intervals of a constant time duration are allocated to the real-time messages, and wherein the bandwidth available for the real-time messages within one CM time interval is limited to a defined real-time bandwidth.
In computer technology, various standards for the networking of single computers into a computer network have been established. These standards follow the requirements of the applications operating in the computer network. A special class of applications are real-time systems, in which the duration of the transmission of messages in the network is a central characteristic. As a sample of a standard for computer networks suitable as real-time systems, standard SAE AS6802 shall be mentioned at this point. Samples of real-time systems are: Control systems on board an aircraft, control systems in industrial manufacturing facilities, and industrial robots.
One cost-efficient method to minimize the transmission time, the latency, of messages in a computer network is the implementation of time-controlled message transmission, i.e. time-triggered communication. In time-triggered message transmission, all computers or a group of computers, which are connected by way of a network to create a computer network, are synchronized such that the synchronized computers implement local clocks, which at every point in time in real-time differ from each other by a calculable time value error only. Accordingly, synchronized computers have a common view of the time, whereby the view is subject to a calculable, most often small error, e.g. in the microsecond range.
In addition, in time-triggered communication, a communication plan, a so-called “schedule” is developed. This schedule describes at which points in time within the synchronized time the computer feeds which message into the network. This allows to make sure that the times at which a computer feeds messages into the computer network, are sufficiently spaced from points in time at which another computer feeds messages into the computer network, so that the messages of one computer and those of another computer never occupy resources of the network at the same time. The network itself may contain active components like, for example, bridges or switches. In this case, the schedule may also contain points in time at which messages shall be forwarded. The SAR AS6802 standard describes, how time-triggered message transmission can be implemented into an Ethernet (IEEE 802.3)-based network.
Driven by the continuously increasing importance of real-time systems, the industry is now attempting to make existing IT network standards real-time-capable. In particular, the IEEE 802.1Q standard, starting at version IEEE 802.1Q-2011, has been supplemented with features, which ensure real-time response for a limited number of messages. These features are commonly grouped under the term “Audio-Video Bridging” (AVB).
In IEEE 802.1Q-p2011, real-time response is achieved with the following functions and configurations:
(a) Real-time messages are assigned high—or even the highest—priority in the network,
(b) Real-time messages are transmitted with a predefined non-synchronized period, and
(c) The bandwidth available for real-time messages is limited and defined.
From points (a)-(c) follows that the latency of real-time messages can be calculated, and that with appropriate selection of the parameters (priority, period and bandwidth) a sufficiently satisfactory real-time response can be achieved. For the sake of completeness, it shall be mentioned here that IEEE 802.1Q-2011 does not implement time-triggered message transmission, however, the capability of time-triggering in IEEE 802.1Q is being developed in the current IEEE 802.1Qbv standardization project.
As a sample for a configuration according to IEEE 802.1Q-2011 shall be cited the so-called Service Class A “SR Class A”. For SR Class A, IEEE 802.1Q-2011 defines the following default configurations: (a) Priority is set to 3, (b) the Class Measurement Interval (CMI)—forthwith generally also referred to as CM time interval —is set to 125 microseconds, and (c) the maximum bandwidth for SR Class A is set to 75%. In such a setup, according to calculations of the IEEE 802.1 Working Group, a guaranteed latency of 2 milliseconds is achieved in a network, whereby in the network a maximum of six bridges (also called switches or star couplers) are allowed between the transmitter and the receiver of a real-time message.
Accordingly, a computer implementing the AVB protocol is allowed to transmit a message with a specific ID every 125 microseconds (for SR Class A). If for example, as in
The CM time interval defines the calculation period of the bandwidth parameter. In AVB, bandwidth for streams is reserved in the bridges dynamically. This means that if, for example, a talker at its bridge announces a stream S1 with the content that it transmits for S1 every 125 microseconds a number xx of messages with a length of nn bytes, the resulting bandwidth bbb is
(nn+42)*8*xx/125 μs=bbb bps
(42 bytes are overhead for header, . . . ). The CMI (in this sample 125 μs) accordingly defines the interval for the calculation of the bandwidth required for a stream.
However, a direct conclusion from this setup is, that a maximum of thirteen Ethernet messages (in Ethernet also called “frames”) with a minimum length of the SR Class A can be used for each port, since otherwise the 75% limit for the maximum bandwidth would be exceeded. (A minimum Ethernet frame has a length of 6.72 μs at 84 bytes; at 75% bandwidth at a CMI of 125 μs, the result is an available time of 93.75 μs. 93.75 μs/6.72 μs results in a maximum of 13 minimum Ethernet frames at a bandwidth of 100 Mbps).
It is an objective of the invention to specify a method, with which in a distributed computer network which, for example, implements the IEEE 802.1Q-2011 (or a future IEEE 802.1Q standard) or is based on similar specifications as specified in this standard, the number of transmitted real-time messages within the applicable time unit can be increased. In particular, it is a task of the invention to achieve the above objective, without increasing the latency of non-time-triggered real-time messages, like AVB messages.
This task is solved using a method named at the beginning in such fashion that, according to the invention, time-triggered messages are further transmitted by computing nodes, whereby according to a defined schedule the time-triggered messages are transmitted periodically by the computing nodes, wherein the duration of the period of the time-triggered messages is a function of the time period of the CM time intervals, wherein the transmission times of the time-triggered messages being transmitted by different computing nodes to the same active components are out of phase in relation to each other,
such that the time-triggered messages from different computing nodes are received at different times, i.e. at non-overlapping time intervals, by the active component, and wherein the total number of bandwidths occupied by time-triggered messages and real-time messages within a CM time interval does not exceed the size of the real-time bandwidth.
This objective is furthermore achieved with a computer network mentioned at the beginning, such that, according to the invention, at least two computing nodes are provided, which are configured to transmitted time-triggered messages, wherein according to a defined schedule the time-triggered messages of the at least two computing nodes are transmitted periodically, wherein the period durations of the time-triggered messages are a function of the time duration of CM time intervals, wherein the timing of the transmission of time-triggered messages being transmitted from different computing nodes to the same active components is phase-shifted such that the time-triggered messages from different computing nodes are received by the active component at different times, i.e. at non-overlapping time intervals, and wherein the total number of bandwidths occupied by time-triggered messages and real-time messages within one CM time interval does not exceed the real-time bandwidth.
The principally available maximum transmission rate for communication via the communication lines is called the “port transmit rate”. For example, the “port transmit rate” in Ethernet is 10 Mbps, 100 Mbps, 1 Gbps or higher.
The real-time bandwidth specifies the space (e.g. in %) of this “port transmit rate”, which is available for real-time messages.
The invention at hand provides that the total number of bandwidths of the time-triggered messages and the non-time-triggered real-time messages is smaller or equal to the specified real-time bandwidth originally provided for the non-time-triggered real-time messages. Thus, the time-triggered messages and the non-time-triggered real-time messages share the percentage of the “port transmit rate” otherwise available for non-time-triggered real-time messages.
The invention at hand therefore differentiates between “ordinary” real-time messages, e.g. AVB messages, which are communicated without time-trigger, and newly introduced time-triggered messages or time-triggered real-time messages.
The method being introduced allows the allocation of a scalable, higher number of real-time messages to a port of an active component, e.g. the port of a bridge.
This is achieved by implementing time-triggered communication for a part of the messages being transmitted within the computer network, whereby special specifications provided for time-trigger schedule as well as the bandwidth specifications provided for the non-time-triggered real-time messages, e.g. for AVB messages must be observed. Therefore, the time-triggered messages appear like AVB messages. As a result, the invention can be used to expand and reconfigure a standard Ethernet computer network in order to make better use of the bandwidth.
The invention at hand is able to improve the timing performance, e.g. in an IEEE.IQ-2011-based network. Introduced specifically is a method being used for the synchronized transmission of messages, so that the bandwidth, which e.g. according to the IEEE 802.1Q-211 standard, is allocated to exactly one network participant, and using this method, can be coordinated or shared by multiple network participants. The method allows a guarantee of latency characteristics for a higher number of messages than is possible in a network based on IEEE 802.1Q-2011 only.
The invention at hand therefore discloses an innovative method describing how in a distributed computer network, which e.g. implements the IEEE 802.1Q-2011 (or a future IEEE 802.1Q standard), the number of real-time messages can be increased. The method provides the implementation of time-triggered communication and that a part of the real-time messages described in the IEEE 802.1Q-2011, for example a part of the SR Class A messages, is being communicated in a time-triggered manner. In addition, the method discloses how the schedules of the time-triggered messages must look to make sure that the latency characteristics of those real-time messages that are not transmitted in a time-triggered manner
will not be negatively affected by the time trigger. According to the invention, the time trigger is thereby implemented into the end systems, i.e. into the computers and not into the bridge.
It is advantageous if the time-triggered messages of at least two of the computing nodes are transmitted.
Also proven advantageous for an optimal sequence of the communication has been a period duration of the time-triggered messages, which is an integral multiple of a CM time interval.
It may also be provided that the period duration of the time-triggered messages is equal to the duration of a CM time interval divided by an integer number.
In one embodiment of the invention it is provided that all time-triggered messages are transmitted with the same period duration.
In another embodiment of the invention it is provided that time-triggered messages that are controlled by at least two node computers are transmitted with differing period durations.
It is useful for the transmission times of time-triggered messages with the same period duration to be selected such that the transmission times of time-triggered messages are chosen such that the transmission times of two consecutive time-triggered messages from different node computers are spaced exactly or at least one time interval apart, wherein this time interval is equal to the period duration divided by the number of node computers.
In the case of two node computers, for example, which are transmitting time-triggered messages, two consecutive messages from different node computers are time-shifted by half the period duration. If the period duration is twice as long as the CM time interval then the two messages (i.e. their transmission times) are spaced apart by exactly one CM time interval.
It is advantageous for a schedule providing the transmission of two or more time-triggered messages of different note computers within one CM time interval to furthermore provide that the transmission time of the nth time-triggered message occurs at the earliest after the transmission time of the (n−1)th message plus the transmit duration of the (n−1)th message, whereby n=2, 3, 4 . . . .
It may furthermore be provided that two or more differing classes of real-time messages are transmitted within the network, whereby such differing classes differ at a minimum in the CM time interval allocated to the messages of the respective class.
The invention may provide that real-time messages of a specific class, which are transmitted as time-triggered messages, are transmitted with a period duration which is a function of the CM time interval of these real-time messages.
Often or as a rule, messages of different classes also differ in their priorities. However, it may also be provided that the time-triggered messages are assigned the same or a higher priority than the corresponding real-time messages (i.e. when a real-time messages is transmitted as a time-triggered message, the time-triggered real-time message is assigned the same or a higher priority than it would have had as a non-time-triggered message).
In concrete, the invention provides that at least a portion of the real-time messages are transmitted as time-triggered messages. This means in particular that of those real-time messages which usually are not transmitted as time-triggered messages at least a portion is transmitted as time-triggered (real time) messages. Other messages communicated inside the network, which are not real-time messages, i.e. in particular standard Ethernet messages, are usually not communicated as time-triggered messages and neither within the scope of this invention.
Furthermore may be provided that at least a portion of the real-time messages of a specific class are transmitted as time-triggered messages.
If, for example, real-time messages of the AVB class “SR Class A” are transmitted as time-triggered messages, the duration of the CM time interval CMI is 125 microseconds; AVB messages of the class “SR Class A”, which are transmitted as time-triggered messages (“TT-SR Class A messages”, i.e. time-triggered SR Class A messages”) are transmitted accordingly with a period duration which is a function of this value, e.g. an integral multiple, i.e. for example 1 time, 2 times, 3 times, etc. 125 microseconds, or 125 microseconds divided by an integer number.
If, for example, (in addition or alternatively) messages of the AVB class “SR Class N” are transmitted as time-triggered messages (“TT SR Class B messages”), then the period duration is calculated based on the corresponding CMI time interval for SR Class B messages, which is 250 microseconds.
The transmission of the messages can be scheduled in an especially easy way when it is provided that time-triggered messages are transmitted at the beginning of a CM time interval.
Finally, it is advantageously provided as well that the bandwidth available for real-time messages can be arbitrarily allocated between time-triggered and non-time-triggered real-time messages.
As already mentioned above, it may be advantageously provided for the time-triggered messages to exhibit at least the priority of the (non-time-triggered) real-time messages or a higher priority.
For example, AVB messages of SR Class A/SR Class B, which are also transmitted as time-triggered messages, have the same or a higher priority than the SR Class A/SR Class B messages; however, it may also be provided that all time-triggered messages are assigned a higher priority than the non-time-triggered (AVB) real-time messages.
Finally, it is advantageously provided that time-triggered messages transmitted by the same computing node contain the same identifying characteristics, e.g. the same StreamID.
The length of a typical CM interval is 125 microseconds and/or 250 microseconds.
In addition, it is usually provided that the defined real-time bandwidth is limited to a maximum of 75% of the bandwidth available for real-time messages within a CM time interval.
In the following, the invention is explained in greater detail based on a sample embodiment. It shows
The following concrete sample explains one of the many possible embodiments of the new method.
One active component has “Knowledge of the Network” and storing methods. It knows where a message must be forwarded to. A passive component would be, for example, a hub which neither stores messages nor addresses them correctly—such a hub will only “broadcast” incoming messages. Such active component is typically a so-called “bridge” or a switch or, for example, a router with the corresponding functionality.
Essentially, the time-triggered, periodic messages 401, 403 within a CM time interval can be transmitted at any point of such time interval (wherein different messages 401 of a node 101 and different messages 403 of a node 103 always occur at the same point within different CMI time windows), preferably, the messages 401, 403 are transmitted, as shown, at the beginning of a CMI. This represents an especially straightforward and reliable implementation of the invention.
The non-time-triggered real-time messages 402, e.g. AVB messages, which are not shown in the schedule in
For non-time-triggered real-time messages of the SR Class A type, for example, 75% of the available bandwidth are available, i.e. in a CM time interval CMI essentially only 75% of the available bandwidth and/or the available time—for SR Class A messages, this would mean 75% of 125 microseconds—are allowed to be used. If, according to the invention, time-triggered (real-time) messages are introduced in addition, then the non-time-triggered and the time-triggered messages share these 75% of the available bandwidth, wherein the ratio of how this limited bandwidth is being divided up between time-triggered and non-time-triggered messages is essentially arbitrary.
The “remaining” time period within a CMI CM time interval after, for example, the message 401 was transmitted, can be filled up to 75% with AVB messages, i.e. with real-time messages; the remaining 25% are, for example, standard Ethernet messages (best-effort traffic). A schematic overview of this aspect is shown in
The bridge 201 accordingly transmits messages 401, 402 consecutively via the communication channel (communication line) 304 to computing node 104.
Message 401 exhibits a latency 501, and message 402 a latency 502.
In this case, the bridge 201 can either randomly select in what sequence the two messages 401, 402 will be transmitted, or the bridge 201 has its own schedule, which defines in what sequence approximately at the same time arriving messages shall be transmitted.
The active component in the form of a bridge stores the messages and forwards them consecutively. According to the invention it is, due to the scheduling of the time-triggered messages, impossible for time-triggered messages to be received by the bridge in about the same or overlapping time windows. The invention additionally results in that for the situation shown by way of example in
Generally can be concluded that the non-time-triggered messages are delayed by a maximum number of time-triggered messages only, with this maximum number resulting from the schedule. For example, if a number N of time-triggered messages are scheduled immediately one after the other, it would mean that the bridge would receive these N time-triggered real-time messages immediately one after the other. If the schedule provides that afterwards no time-triggered messages are scheduled for a sufficient length of time, then the non-time-triggered messages can be processed. The delay of the non-time-triggered real-time messages due to the time-triggered messages can therefore be calculated based on the schedule of the time-triggered real-time messages.
The term “at the same time” or “at about the same times” shall be understood to mean that two messages are received “at the same time” or “at about the same times” if the times of their forwarding by the bridge may affect one another, i.e. if the forwarding of one message may be delayed by the other message. This is called the “concurrent”, “about concurrent” or “at about concurrent” transmission of messages to a bridge (active component).
For a better understanding of the invention,
As
The schedule further provides that the times for the different time-triggered messages 401, 403 are scheduled such that upon occurrence of the different time-triggered messages 401, 403 within a Class Measurement Interval CMI these time-triggered messages 401, 403 will not coincide, i.e. that they won't occur at the same time. For this purpose it is provided, for example, that the period for the time-triggered message 403 begins exactly or at the earliest after the duration of a time-triggered message 401 has expired.
Preferably provided furthermore is that both messages 401, 403 occur consecutively at the beginning of the Class Measurement Interval CMI.
For the non-time-triggered message 402 it is assumed that it is transmitted with the period of the Class Measurement Interval CMI. As shown on the left side of
The right side of
Finally,
Number | Date | Country | Kind |
---|---|---|---|
A50522/2012 | Nov 2012 | AT | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/AT2013/050224 | 11/18/2013 | WO | 00 |