Survey of data representation standards
RFC 971

Document Type RFC - Unknown (January 1986; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 971 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                 Annette L. DeSchon
Request for Comments: 971                                            ISI
                                                            January 1986


Status of This Memo

   This RFC discusses data representation conventions in the
   ARPA-Internet and suggests possible resolutions.  No proposals in
   this document are intended as standards for the ARPA-Internet at this
   time.  Rather, it is hoped that a general consensus will emerge as to
   the appropriate approach to these issues, leading eventually to the
   adoption of ARPA-Internet standards.  Distribution of this memo is

1. Introduction

   This report is a comparison of several data representation standards
   that are currently in use.  The standards, or system type
   definitions, that will be discussed are the CCITT X.409
   recommendation, the NBS Computer Based Message System (CBMS)
   standard, DARPA Multimedia Mail system, the Courier remote procedure
   call protocol, and the SUN Remote Procedure Call package.

   One purpose of this report is to determine how the CCITT standard,
   which is gaining wide acceptance internationally, compares with some
   of the other standards that have been developed in the areas of
   electronic mail, distributed interprocess communication, and remote
   procedure call.  The CCITT X.409 recommendation, which is entitled
   "Presentation Transfer Syntax and Notation" is an international
   standard which is a part of the X.400 series Message Handling Systems
   (MHS) specifications [1].  It has been adopted by both the NBS and
   the ISO standards organizations.  In addition, some commercial
   organizations have announced intentions to support a CCITT interface
   for electronic mail.  The NBS Computer Based Message System (CBMS)
   standard was developed previously and was published as a Federal
   Information Processing Standard (FIPS Publication 98) in 1983 [3].
   The DARPA Multimedia Mail system is an experimental electronic mail
   system which is in use in the DARPA Internet [2,4,5].  It is used to
   create and distribute messages that incorporate text, graphics,
   stored speech, and images and has been implemented on on several very
   different machines.  Courier is the XEROX network systems remote
   procedure call protocol [7].  The SUN Remote Procedure Call package
   implements "network pipes" between UNIX machines [6].

DeSchon                                                         [Page 1]

RFC 971                                                     January 1986
A Survey of Data Representation Standards

2. Background

   This section presents a brief overview of the basic terminology and
   approach of each data representation standard.

   2.1. Interprocess Communication Standards

      The standards that are oriented towards distributed interprocess
      communication or remote procedure call, between like machines,
      generally favor the use of types that map easily into the types
      defined in the programming language in use on the system.  For
      example, the types defined for the XEROX Courier system resemble
      the types found in the Mesa programming language.  Similarly, the
      SUN Remote Procedure Call system types resemble the types found in
      the C programming language.  An advantage of a system implemented
      using like machines is that the external data representation can
      be defined in such a way that the conversion to and from the local
      format is minimal.

      2.1.1. Courier

         The Courier standard data types are used to define the data
         objects which are transported bi-directionally between system
         elements that are running the Courier remote procedure call
         protocol.  The "standard representation" of a type is the
         encoding of the data which is transmitted.  The "standard
         notation" refers to the conventions for the interpretation of
         the data by higher-level applications.  The standard
         representation of a data object encodes the value of the
         object, but the type of the object is determined by the
         software that generates or interprets the representation.

      2.1.2. SUN Remote Procedure Call Package

         The SUN Remote Procedure Call package includes routines which
         allow a process on one UNIX machine to consume data produced by
         a process on another UNIX machine.  This is called a "network
         pipe" and is an extension of the standard UNIX pipe.  The
         "eXternal Data Representation (XDR)" standard defines the
         routines that are used to encode or "serialize" data for
         transmission, or to decode or "deserialize" data for local
         interpretation. The syntax suggests that perhaps it should be
         called "remote interprocess communication" rather than "remote
Show full document text