Client requirements for real-time communication services
RFC - Informational
(November 1990; No errata)
||RFC Editor Note
RFC 1193 (Informational)
||Send notices to
Network Working Group D. Ferrari
Request for Comments: 1193 UC Berkeley
CLIENT REQUIREMENTS FOR REAL-TIME COMMUNICATION SERVICES
Status of this Memo
This memo describes client requirements for real-time communication
services. This memo provides information for the Internet community,
and requests discussion and suggestions for improvements. It does
not specify any standard. Distribution of this memo is unlimited.
A real-time communication service provides its clients with the
ability to specify their performance requirements and to obtain
guarantees about the satisfaction of those requirements. In this
paper, we propose a set of performance specifications that seem
appropriate for such services; they include various types of delay
bounds, throughput bounds, and reliability bounds. We also describe
other requirements and desirable properties from a client's
viewpoint, and the ways in which each requirement is to be translated
to make it suitable for lower levels in the protocol hierarchy.
Finally, we present some examples of requirements specification, and
discuss some of the possible objections to our approach.
This research has been supported in part by AT&T Bell Laboratories,
the University of California under a MICRO grant, and the
International Computer Science Institute. The views and conclusions
in this document are those of the author and should not be
interpreted as representing official policies, either expressed or
implied, of any of the sponsoring organizations.
We call real-time a computer communication service whose clients are
allowed to specify their performance requirements and to obtain
guarantees about the fulfillment of those requirements.
Three terms in this definition need further discussion and
clarification: clients, performance, and guarantees.
Network architecture usually consists, at least from a logical
viewpoint, of a stack of protocol layers. In the context of such an
architecture, the notions of client and server apply to a number of
Ferrari [Page 1]
RFC 1193 Requirements for Real-Time Services November 1990
different pairs of entities: every layer (with the support of the
underlying layers) provides a service to the layer immediately above
it and is a client of its underlying layers. In this paper, our
considerations generally apply to any client-server pair. However,
most of them particularly refer to human clients (users, programmers)
and to the ways in which such clients express their communication and
processing needs to the system (e.g., interactive commands,
application programs). This type of client is especially important,
since client needs at lower layers can be regarded as translations of
the needs expressed by human clients at the top of the hierarchy.
When the client is human, the server consists of the entire
(distributed) system, including the hosts, their operating systems,
and the networks interconnecting them.
As for the generic term, performance, we will give it a fairly broad
meaning. It will include not only delay and throughput, the two main
network performance indices, but also reliability of message
delivery. Real-time communication is concerned with those aspects of
quality of service that have to do with performance in this broad
The term guarantee in this paper has a rather strong legal flavor.
When a server guarantees a given level of performance for the
communications of a client, it commits itself to providing that
performance and to paying appropriate penalties if the actual
performance turns out to be insufficient. On the other hand, the
client will have to obey certain rules, and will not be entitled to
the requested performance guarantees unless those rules are
scrupulously obeyed. In other words, client and server have to enter
into a contract specifying their respective rights and duties, the
benefits that will accrue, the conditions under which those benefits
will materialize, and the penalties they will incur for not keeping
their mutual promises. We believe that a legal viewpoint is to be
adopted if serious progress in the delivery of communication services
(not only the real-time ones) is desired. Utility services, as well
as other kinds of service, are provided under legally binding
contracts, and a mature computer communication utility cannot fail to
do the same. In the field of real-time communication, such a
contract will by definition include performance guarantees.
Real-time services may be offered in any kind of network or
internetwork. Some of their predictable applications are:
Show full document text