Client requirements for real-time communication services
RFC 1193

Document Type RFC - Informational (November 1990; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 1193 (Informational)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                         D. Ferrari
Request for Comments: 1193                                   UC Berkeley
                                                           November 1990


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.

1.  Introduction

   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