RFC 508
Real-time data transmission on the ARPANET
Okay, RFC 508 is giving classic 1973 ARPANET energy, and it's so worth knowing about. π It's published by the Network Working Group as Request for Comments 508, with NIC number 16159. The authors are L. Pfeifer and J. McAfee, both from the Computer Systems Laboratory at UCSB, and it's dated 7 May 1973. The title is REAL-TIME DATA TRANSMISSION ON THE ARPANET. This one doesn't list a status, category, or anything it obsoletes or updates, so I'm not making any of that up π
I. INTRODUCTION πΈ
okay so the ARPA Network is literally proving to be a super useful tool for computer communications and resource sharing π People have proposed that it could also support real-time stuff like audio or video for conferencing. How well it can do that mostly comes down to transmission bit-rates and delays π¦
The IMP subnetwork throughput rates (one way) average about 37 kilobits[1], so an external process has to run at a bit-rate below that level. That basically means some form of data compression for both audio and video transmission. Research in these areas is still in progress, so these processes have to be simulated for now β¨
Delay is a big deal too, bestie π System response time (system delay) directly affects how much data has to be buffered to keep a real-time process running without discontinuities or gaps. Delays can come from network loading, host loading, or an excessive number of IMP-to-IMP hops in the transmission path.
To get a feel for whether the network can support a real-time process, an experiment was run. Real-time data was sent from the UCSB SEL810-B computer, through the UCSB IBM 360 host, onto the ARPA Network, and into a host discard socket in the UCLA IBM 360 computer. This data path almost exactly copies the path real-time devices would take if they were attached to large scale host computers running in their normal mode (usually timesharing) π The experiment measured the duration of gaps at various process bit-rates and buffer sizes ranging from one to eight network packets.
Earlier MIT experiments[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. Receiving an acknowledgment at TX-2 meant the matching blocks of speech data could be reconstituted. They tried bit-rates from 2400-17000 bps with varying block sizes (depending on the number of hops), and concluded 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 came from an SEL 810-B computer 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 hardware like 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 links 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 lets the SEL 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 treated as a "speech processor", analyzing and encoding the one-way conversation of a person at UCSB talking to someone at UCLA. There was no "speech processor" at UCLA, which probably had little or no effect on the measurements. The SEL was a dedicated processor that did not introduce delays, and if a similar dedicated processor were 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, so it went through fewer steps than if an external processor were attached, and our simulation was not exact π
A configuration like 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 π₯
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 depend on the type of host computer (IBM, DEC, UNIVAC, etc.), job load, and the 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 to transfer the data and make measurements. These can be divided into three categories:
- 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 let the SEL 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.
- Network Communications Programs. A protocol was developed that let the SEL tell the 360 which Network connections to make or break, and which transfers of data to make across them. This protocol was implemented for each computer using the above I/O routines.
- Measurement Control Program. This assembly language program made the SEL push data toward the receiving host (UCLA) at a specified SEL process bit-rate. It was also responsible for detecting and measuring the duration of any gaps introduced in the process.
IV. METHOD π¦
Within the SEL, two buffers, each 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 needed 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 one of the computers on the Network has not taken the data fast enough, so 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 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 is 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.
- Initialize the UCSB IBM 360 for double buffered data transfers using specified buffer sizes.
- Initialize the SEL measurement control program with the proper buffer size and process bit-rate.
- 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.
- After 30 seconds, stop the test.
- 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 πβ¨
okay so this is where we get the actual receipts π§Ύπ A total of 179 tests were conducted, bestie π 176 of them were 30 second tests and the other three were long duration tests. Table I has the results for the 30 second ones π Buffer sizes went from one to eight Network packets, and for every buffer setting they tried 22 different process bit-rates (usually going up in increments of 1200 bps) π All of this happened over three days during prime time πΈ
The successful tests only have two things in Table I: time of day and number of buffers transmitted π«Ά All but seven of the tests slayed β¨ The unsuccessful ones (aka the ones that had gaps) are the entries with extra info, like number of gaps and the maximum, average and minimum gap duration π
Now the failures. The longest gap was 8 seconds π There were also 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 causing these gaps π Why? Because 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 On-Line System π§ The last three failed tests didn't happen at any regular time, bit-rate, or buffer size, so no definite statements can be made about their source of delay π€·
The overall picture in 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 π And it gets better: three additional tests were carried out at 30,000 bps with a buffer size of 2,016 bits π On 2/5/73 at 2:20 P.M., a 5-minute test ran with no gaps β¨ On 2/6/73 at 11:58 A.M., the same test ran for 8 minutes with no gaps π The third one ran for 18 minutes on 2/7/73 at 11:53 A.M. with no gaps in the process π
The tests weren't carried out often enough or over a long enough period to get any statistical results or predictions π Measuring is also tricky because the state of the overall communications link is never repeatable from one test to the next π For example, a test that failed could usually be repeated successfully, even when it was run within 15 seconds of the previous test π
+-----+---------------------------------------------------------------+
|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 | | | | | | |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|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 | | | |
+-----+-------+-------+-------+-------+-------+-------+-------+-------+
|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 β¨
okay bestie, this is the part where the experiment tells us what it actually figured out π§ Based on the results, the following conclusions can be drawn:
- High bit-rate real-time processes can use the ARPA Network to transmit data for relatively long periods of time π
- 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 π
- 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 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 ]
π¦ where this page comes from
- ietf: rfc508 1973-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms