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]