In distributed real time systems it is often useful for a process p to know that another process q will not use a certain piece of information that p has sent to q beyond a certain deadline. If p can learn about the occurrence of the deadline by simply measuring the passage of time on its own local clock, we call this kind of information exchange 'communication by time'. It is shown that communication by time is possible in systems where there exists no a priori known upper bound on the transmission delay of messages and where clocks are not synchronised. It is sufficient if one can compute an a posteriori upper bound on the transmission delay of a message m, i.e., at the time when m is delivered, The authors show how one can compute an a posteriori upper bound on the one-way message transmission delay of a message even if the clocks of the sender and receiver process are not synchronised. The method is used to design a fail-aware datagram service. This service supports communication by time by delivering all messages whose computed one-way transmission delays are smaller than a given bound as 'fast' and all other messages as 'slow'. The properties of this service are specified and an efficient implementation is provided for it. To illustrate how this service supports communication by time, a leader election protocol that guarantees the existence of at most one leader at any real time is sketched and it is shown how this allows the detection of out-of-date sensor information in process control applications.
展开▼