Network Working Group                                         L. Pfeifer
Request for Comments: 508                                      J. McAfee
NIC: 16159                            Computer Systems Laboratory / UCSB
                                                              7 May 1973

               REAL-TIME DATA TRANSMISSION ON THE ARPANET

I. INTRODUCTION

   The ARPA Network is rapidly proving to be a useful tool in computer
   communications and resource sharing.  It has been proposed that the
   same network might also be able to support real-time processes such
   as audio or video communications for conferencing purposes.  The
   degree of support of these types of processes will largely be
   determined by transmission bit-rates and delays.

   The IMP subnetwork throughput rates (one way) average about 37
   kilobits[1], therefore an external process must operate at a bit-rate
   below that level.  This would imply some form of data compression for
   both audio and video transmission.  Research in these areas is still
   in progress so these processes must be simulated at the present time.

   In addition to bit-rate, system response time (system delay) is an
   important factor since this has direct influence on the amount of
   data which must be buffered in order to keep a real-time process
   running without discontinuities or gaps.  Such delays may be caused
   by network loading, host loading, or an excessive number of IMP-to-
   IMP hops in the transmission path.

   In order to get a feel for the ability of the network to support a
   real-time process an experiment was conducted with real-time data
   being sent from the UCSB SEL810-B computer, by way of the UCSB IBM
   360 host, onto the ARPA Network and into a host discard socket in the
   UCLA IBM 360 computer.  This particular data path very nearly
   duplicates the path which might be taken if real-time devices were
   attached to large scale host computers operating in their normal mode
   (usually timesharing).  The experiment consisted of measuring the
   duration of gaps incurred at various process bit-rates, and buffer
   sizes ranging from one to eight network packets.

   Earlier experiments at MIT[2] simulated vocoded speech transmission
   over the ARPA Network using the TX-2 computer and "Fake host 3" in a
   destination IMP.  Speech was sampled by the TX-2 and simulated speech
   data blocks were sent to a particular fake host.  Receipt of an
   acknowledgment by TX-2 indicated that the corresponding blocks of
   speech data could be reconstituted.  Experiments were conducted with
   bit-rates from 2400-17000 bps and varying block sizes (depending on




Pfeifer & MacAfee                                               [Page 1]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


   the number of hops), and conclusions were reached that with delay
   characteristics similar to a lightly loaded ARPA Network speech
   communications could be satisfactory from a human-factors standpoint.

II.  CONFIGURATION

   Data for this experiment originated in an SEL 810-B computer located
   in the Electrical Engineering Department at UCSB.  This 70ns cycle
   time computer is the heart of an interactive signal processing system
   developed by Retz[3].  It has associated hardware such as a card
   reader, two IBM 1311 disk drives, a drum storage unit, A/D and D/A
   converters, Teletype, Tektronix 611 storage display unit, OLS
   keyboard, and a connection to an IBM 1800 computer.  This system is
   linked to the UCSB IBM 360/75 via a 500 kilobit line for high speed
   data transfers.  Software in both the SEL 810-B and the IBM 360
   enables the SEL to communicate with the ARPA Network.

   The hardware configuration of the data path between the SEL 810-B and
   UCLA is shown in Figure 1.  For simulating speech transmission, the
   SEL is thought of as a "speech processor", analyzing and encoding the
   one-way conversation of a person at UCSB talking to someone at UCLA.
   The fact that there was no "speech processor" at UCLA probably had
   little or no effect on the measurements that were made.  This is
   substantiated by noting that the SEL was a dedicated processor that
   did not introduce delays and if a similar dedicated processor was
   attached to the host computer at UCLA it probably would not have
   caused delays either.  However, the UCLA host merely discarded the
   data it received, thereby going through fewer steps than if an
   external processor was attached, and so our simulation was not exact.

   A configuration such as that of Figure 1 did yield information about
   host-to-host transmission, since the SEL was essentially a zero-delay
   data generator.  If real-time processors are to access the ARPA
   Network through large-scale time-shared host computers then host-to-
   host transmission rate and delay are important measurements.  In this
   configuration we can expect the host computers to be the primary
   bottlenecks in the data path.














Pfeifer & MacAfee                                               [Page 2]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


                     UCSB                                UCLA
|------------------------------------------|       |-----------------|
 +--------+                       +-------+          +-------+
 |        |                       |       |          |       |
 |        |      500 Kb/s         |       |          |       |
 |SEL810-B|  +------+ | +------+  |IBM    |          |IBM    |
 |        |<-|INTER-|<->|INTER-|->|360/75 |          |360/91 |
 |        |->|FACE  |   |FACE  |<-|       |          | +----+|DISCARD
 |        |  +------+   +------+  |       |          | | NCP|-->+----+
 |        |                       |       |          | +----+|  |    |
 +--------+                       +---^---+          +----^--+  +----+
       |                           |  |<--100 Kb/s-->  |  |
       V                           V  |                V  |
    +-----+                       +-----+            +-----+
    | D/A |                       | IMP |<---/  /<---| IMP |
    +-----+                       |     |--->/  /--->|     |
        |                         +-----+  \     /   +-----+
  -|\   |                                   \   /
  -| \<-+                                  50 Kb/s
  -| /
  -|/SPEAKER
                Figure 1.  Hardware configuration of data path used
                           for sending real-time data from the
                           SEL 810-B to the UCLA host discard socket.

   The host response time to requests from the external processor or the
   Network will be a function of type of host computer (IBM, DEC,
   UNIVAC, etc.), job load, and priorities given to both the Network and
   the external processor.  If host computers cannot provide the
   necessary throughput and necessary response times, then real-time
   devices may have to connect directly to IMPs (assuming the Network
   can properly support these devices).

III.  SOFTWARE

   The standard NCP software was used in both host computers.  Several
   custom programs were required in the UCSB computers in order to
   transfer the data and make measurements.  These can be divided into
   three categories:

      1) I/O Programs.

      Routines were written for both the IBM 360 and the SEL to handle
      the transfer of data between the two computers and to enable the
      SEL to send an "attention interrupt" to the IBM 360.  These
      programs form the software part of the SEL/360 high-speed data
      link and are necessary for any communication between the two
      computers.



Pfeifer & MacAfee                                               [Page 3]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


      2) Network Communications Programs

      A protocol was developed which enabled the SEL to communicate to
      the 360 the desired Network connections to be made or broken, and
      the desired transfer of data across these connections.  This
      protocol was implemented for each computer using the above I/O
      routines.

      3) Measurement Control Program

      This assembly language program caused the SEL to push data towards
      the receiving host (UCLA) at a specified SEL process bit-rate.
      The program was also responsible for detecting and measuring the
      duration of any gaps introduced in the process.

IV.  METHOD

   Within the SEL two buffers, each of 1 to 8 network packets in length,
   are first loaded with alternating bit patterns in consecutive 16-bit
   words.  A conversion process is then initiated on one of the buffers
   at a sampling frequency necessary to give the desired bit-rate.
   Since data is being sent out to a destination host we would expect
   the buffers to be filled by an analog-to-digital conversion process.
   However, in this experiment, the process of digital-to-analog
   conversion is used instead so that we can listen to the alternating
   bit patterns as a steady tone while still simulating an A-to-D
   process.

   When a buffer is filled (played out) a "write" operation is initiated
   to send that buffer to UCLA.  The next buffer is then tested to see
   if the previous "write" has been completed, i.e. the buffer is empty.
   If the next buffer is empty the process continues normally.  If the
   next buffer is not empty it means that one of the computers on the
   Network has not taken the data fast enough, therefore a gap has been
   introduced in the real-time process.  At this point the D-to-A
   converter is shut off resulting in an audible break in the tone that
   is being played out.  A timer is also started to test for the empty
   buffer every one millisecond and to measure the duration of the gap.
   When the next buffer is finally emptied the D-to-A process is resumed
   and the gap data recorded in a table.

V. PROCEDURE

   A connection to the UCLA host discard socket was first established
   using the network communications programs.  Every test from this
   point on required a repetition of the following steps.





Pfeifer & MacAfee                                               [Page 4]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


      1) Initialize the UCSB IBM 360 for double buffered data transfers
         using specified buffer sizes.

      2) Initialize the SEL measurement control program with the proper
         buffer size and process bit-rate.

      3) Start the test.  A constant tone from the speaker indicates
         that the process is being properly maintained.  Gaps in the
         tone indicate gaps in the process.

      4) After 30 seconds, stop the test.

      5) Examine the gap table to determine the number of gaps, the
         duration of each gap, and the average duration.

   The entire procedure was carried out from the SEL end using the
   interactive On-Line System.  The timing interval of 30 seconds was
   measured with a sweep second hand of a watch and the test was started
   and stopped manually.  All tests were conducted during prime time to
   obtain typical loading conditions.

VI.  RESULTS

   A total of 179 tests were conducted.  Of these, 176 were 30 second
   tests and three were long duration tests.  Table I contains the
   results of the 30 second tests.  Buffer sizes were varied from one to
   eight Network packets and for each buffer setting 22 different
   process bit-rates (usually in increments of 1200 bps) were attempted.
   These measurements were performed over a period of three days during
   prime time.

   Those test conditions which were successful contain only two items of
   information in Table I: time of day and number of buffers
   transmitted.  All but seven of the tests were successful.  The tests
   which were unsuccessful, i.e. experienced gaps, are those entries in
   Table I which contain additional information such as number of gaps,
   and maximum, average and minimum gap duration.

   An examination of those tests which failed shows that the longest gap
   which occurred was 8 seconds in duration.  There were three other
   significant failures between 9:52 A.M. and 9:59 A.M. on 2/7/73.
   There are strong indications that it was the UCSB 360 that caused
   these gaps to occur.  This conclusion is based upon the fact that the
   Electrical Engineering On-Line classroom (16 interactive graphics
   terminals) was in full use that day until 10:00 A.M. and the SEL
   connection to the IBM 360 has lower priority in the 360 than the UCSB





Pfeifer & MacAfee                                               [Page 5]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


   On-Line System.  The remaining three tests which failed did not do so
   at any regular time, bit-rate, or buffer size so no definite
   statements can be made about their source of delay.

   The overall picture presented by Table I is very promising.  In 96
   percent of the trials a communications link of the two host computers
   and a portion of the ARPA Network was able to take data from a real-
   time process operating as high as 30,000 bits/second.  Further
   encouragement is given by three additional tests which were carried
   out at 30,000 bps and a buffer size of 2,016 bits.  On 2/5/73 at 2:20
   P.M. a 5-minute test was executed with no gaps.  On 2/6/73 at 11:58
   A.M. the same test was executed for 8 minutes with no gaps.  The
   third test was conducted for 18 minutes on 2/7/73 at 11:53 A.M. with
   no gaps in the process.

   The tests were not carried out often enough or over a long enough
   period of time to obtain any statistical results or predictions. The
   measurement task is made somewhat difficult by the fact that the
   state of the overall communications link is never repeatable from one
   test to the next. For example, it was found that a test which failed
   could usually be repeated successfully, even when it was carried out
   within 15 seconds of the previous test.





























Pfeifer & MacAfee                                               [Page 6]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


+-----+---------------------------------------------------------------+
|PRO- |                BUFFER SIZE (BITS)                             |
|CESS |                                                               |
|BIT  |---------------------------------------------------------------+
|RATE | 1008  | 2016  | 3024  | 4023  | 5040  | 6048  | 7056  | 8048  |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|5300 | 11:31 | 9:51  | 11:34 | 10:34 | 10:12 | 1:59  | 1:37  | 12:32 |
|     |  158  |  81   |  45   |  41   |  33   |  28   |  24   |   21  |
+-----+-------+-------+-------+-------+-------+-----------------------+
|6000 | 11:32 | 9:52  | 11:40 | 10:35 | 10:13 | 2:00  | 1:38  | 12:36 |
|     |  180  |  89   |  61   |  46   |  37   |  31   |  27   |  23   |
|     |       |-------|       |       |       |       |       |       |
|     |       | 174ms |       |       |       |       |       |       |
|     |       |   1   |       |       |       |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|7200 | 11:33 | 9:54  | 11:41 | 10:36 | 10:14 | 2:01  | 1:39  | 12:37 |
|     |  216  |  109  |  72   |  54   |  44   |  37   |  33   |  23   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|8400 | 11:34 | 7:55  | 11:42 | 10:37 | 10:14 | 2:02  | 1:40  | 12:38 |
|     |  245  |  126  |  82   |  63   |  51   |  42   |  37   |  32   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|9600 | 11:35 | 9:56  | 11:43 | 10:38 | 10:15 | 2:03  | 1:41  | 12:39 |
|     |  287  |  83   |  99   |  73   |  58   |  49   |  42   |  36   |
|     |       |-------|       |       |       |       |       |       |
|     |       | 8 sec |       |       |       |       |       |       |
|     |       |   1   |       |       |       |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|10800| 11:36 | 9:57  | 11:44 | 10:39 | 10:16 | 2:04  | 1:42  | 12:40 |
|     |  318  |  138  |  109  |  81   |  65   |  56   |  47   |  42   |
|     |       |-------|       |       |       |       |       |       |
|     |       |  3 sec|       |       |       |       |       |       |
|     |       |1.5 sec|       |       |       |       |       |       |
|     |       |100 ms |       |       |       |       |       |       |
|     |       |   2   |       |       |       |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|12000| 11:37 | 9:58  | 11:45 | 10:44 | 10:17 | 2:05  | 1:43  | 12:41 |
|     |  358  |  180  |  119  |   91  |   73  |  61   |  52   |  46   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|13200| 11:38 | 9:59  | 11:46 | 10:45 | 10:18 | 2:06  | 1:44  | 12:49 |
|     |  396  |  188  |  132  |  101  |   80  |  67   |  57   |  49   |
|     |       |-------|       |       |       |       |       |       |
|     |       | 438 ms|       |       |       |       |       |       |
|     |       | 269 ms|       |       |       |       |       |       |
|     |       | 100 ms|       |       |       |       |       |       |
|     |       |   2   |       |       |       |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+





Pfeifer & MacAfee                                               [Page 7]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


|14400| 11:39 | 10:45 | 11:46 | 10:46 | 10:18 | 2:07  | 1:45  | 12:50 |
|     |  428  |  213  |  141  |  107  |  88   |  73   |  62   |  56   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|15600| 11:39 | 10:46 | 11:47 | 10:47 | 10:19 | 2:08  | 1:46  | 12:51 |
|     |  467  |  232  |  156  |  117  |  94   |  79   |  67   |  59   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|16800| 11:40 | 11:15 | 11:43 | 10:48 | 10:20 | 2:09  | 1:47  | 12:52 |
|     |  503  |  243  |  168  |  127  |  100  |  85   |  72   |  63   |
|     |       |-------|       |       |       |       |       |       |
|     |       | 190 ms|       |       |       |       |       |       |
|     |       | 128 ms|       |       |       |       |       |       |
|     |       |  29 ms|       |       |       |       |       |       |
|     |       |   3   |       |       |       |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|18000| 11:41 | 11:17 | 11:48 | 10:49 | 10:21 | 2:10  | 1:48  | 1:00  |
|     |  535  |  266  |  179  |  136  |  107  |  90   |  76   |  68   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|19200| 11:42 | 11:18 | 11:49 | 10:50 | 10:22 | 2:11  | 1:49  | 1:20  |
|     |  573  |  285  |  191  |  144  |  114  |  98   |  82   |  73   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|20400| 11:42 | 11:19 | 11:50 | 10:51 | 10:23 | 2:12  | 1:50  | 1:21  |
|     |  610  |  303  |  202  |  153  |  123  |  103  |  87   |  75   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|21600| 11:43 | 11:20 | 11:51 | 10:52 | 10:24 | 2:13  | 1:51  | 1:22  |
|     |  643  |  327  |  213  |  162  |  130  |  108  |  94   |  81   |
|     |       |       |       |       |       |       |       |-------|
|     |       |       |       |       |       |       |       | 98 ms |
|     |       |       |       |       |       |       |       | 30 ms |
|     |       |       |       |       |       |       |       |  5 ms |
|     |       |       |       |       |       |       |       | 10    |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|22800| 11:44 | 11:21 | 11:51 | 10:53 | 10:25 | 2:14  | 1:52  | 1:27  |
|     |  687  |  344  |  223  |  173  |  138  |  113  |  99   |  86   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|24000| 11:44 | 11:22 | 11:52 | 10:54 | 10:26 | 2:15  | 1:53  | 1:29  |
|     |  712  |  352  |  240  |  180  |  143  |  122  |  103  |  93   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|25200| 11:45 | 11:23 | 11:53 | 10:55 | 10:27 | 2:16  | 1:54  | 1:30  |
|     |  741  |  375  |  252  |  193  |  146  |  126  |  109  |  96   |
|     |       |       |       |       |-------|       |       |       |
|     |       |       |       |       | 149 ms|       |       |       |
|     |       |       |       |       |  70 ms|       |       |       |
|     |       |       |       |       |   2 ms|       |       |       |
|     |       |       |       |       |  13   |       |       |       |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+






Pfeifer & MacAfee                                               [Page 8]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


|26400| 11:46 | 11:24 | 11:54 | 10:56 | 10:30 | 2:17  | 1:55  | 1:31  |
|     |  786  |  395  |  264  |  203  |  160  |  131  |  113  | 100   |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|27600| 11:47 | 11:27 | 11:55 | 10:57 | 10:31 | 2:18  | 1:56  | 1:32  |
|     |  819  |  410  |  276  |  213  |  167  |  140  |  119  |  104  |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|28800| 11:48 | 11:28 | 11:56 | 11:30 | 10:32 | 2:19  | 1:57  | 1:33  |
|     |  856  |  429  |  287  |  217  |  171  |  145  |  125  |  110  |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|30000| 11:49 | 11:30 | 11:57 | 11:33 | 10:33 | 2:20  | 1:58  | 1:34  |
|     |  896  |  447 ||  299  |  224  |  180  |  151  |  129  |  112  |
+-----+-------+------|+-------+-------+-------+-------+-------+-------+
      | 2/7/73 (a.m.)||     2/6/73 (a.m.)     |     2/5/73 (p.m.)     |
      +--------------|+-----------------------+-----------------------+
                     V
        2/5/73            |  2/6/73           |  2/7/73
        5 min. test       |  8 min. test      |  10 min. test
        @ 2:20 pm         |  @ 11:53 am       |  @ 11:53 am
        no gaps           |  no gaps          |  no gaps
        4669 buffers sent | 7141 buffers sent | 16071 buffers sent


     +--              +--------+
     | time of day----|  9:35  |    Results of a test for transmitting
     | # buffers sent-|   76   |    data from a continuous external
     |                |--------|    process at UCSB (SEL 810B computer)
 KEY-| max. gap time--| 119 ms |    through the UCSB Host computer, over
     | avg. gap time--|  50 ms |    the ARPA network, and into a UCLA
     | min. gap time--|   2 ms |    (site 65) Host discard socket
     | # gaps (discon-|   3    |    (socket 9).  Each test (approx.) 30
     |  tinuity in    +--------+    sec.
     |  process)
     +--

VII. CONCLUSIONS

   Based upon the results of this experiment the following conclusions
   can be drawn:

      1) High bit-rate real-time processes can use the ARPA Network to
         transmit data for relatively long periods of time.

      2) Real-time processes accessing the Network through large-scale
         timesharing host computers can expect arbitrary delays or gaps,
         probably attributable to the host computers and not the
         Network.





Pfeifer & MacAfee                                               [Page 9]


RFC 508        Real-Time Data Transmission On The Arpanet     7 May 1973


      3) Techniques for handling gaps of 1/2 to 1 second may be possible
         but 8 second gaps, as measured in this experiment, will cause
         extreme hardship on any real-time process.

   This experiment has pointed up the need to conduct additional tests
   using a complete transmission link with actual data and with
   monitoring equipment at both the sending and receiving ends. Our
   current and future efforts are directed toward carrying out such
   experiments.

REFERENCES

[1]  "Interface Message Processors for the ARPA Computer Network",
      Quarterly Technical Report No. 16, 1 Oct 1972 to 31 Dec 1972,
      Bolt, Beraneck and Newman, Inc.

[2]   Semiannual Technical Summary on Graphics, Lincoln Laboratory,
      Massachusetts Institute of Technology, Nov 1971.

[3]   D.L. Retz, "An Interactive System for Signal Analysis: Design,
      Implementation, and Applications", CSL Report No 25, Computer
      Systems Lab, University of California, Santa Barbara, CA, 1972.


          [ This RFC was put into machine readable form for entry ]
                [ into the online RFC archives by Via Genie ]

























Pfeifer & MacAfee                                              [Page 10]