An application may need guarantees on the timing of communication. Such guarantees are provided by real time communication middleware. The soft and hard real time guarantees are distinguished. Soft real time guarantees mostly hold, hard real time guarantees always hold.
The guarantees on the timing of communication can concern various aspects of timing such as throughput and latency or jitter.
Throughput is defined as the amount of data delivered within a unit of time, guarantees of minimum throughput are useful for estimating encoding quality in streaming multimedia applications.
Latency is defined either as the duration of a one way trip of data from the sender to the receiver, or as a duration of a roundtrip of data from the sender to the receiver and back. Guarantees of maximum latency are useful for interactive distributed applications.
Jitter is defined as the fluctuation in the communication latency, guarantees of maximum jitter are useful for estimating buffer sizes in streaming multimedia applications.
Obviously, the timing guarantees must be provided by the network hardware in the first place. Achieving higher throughput might require switching from twisted pair links to fiber optic links, achieving lower latency might require switching from queueing routers on Ethernet to cut through routers on Myrinet. The communication protocols build on the network hardware by resource reservation.