[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] Baran and arbitrary reliability from arbitrarily unreliable components

    > From: Vint Cerf <vint at google.com>

    > Baran was designing a VOICE communication system for command and
    > control. The "message blocks" that his system routed around ... were
    > chunks of voice.

I'm not sure that's correct. In later remarks he definitely includes data,
telex, etc; see, for example, his Babbage Institute oral history interview,
page 18, "The basic idea that once you went digital, signals from data,
teletypewriters, facsimile, and voice would all be digitized." (No doubt he
saw telex as filling the application/human-use role now played by email,
which of course didn't exist then.) I briefly tried to find the range of
applications listed in the original documents (to make sure this was not
human memory cross-talk), but so far haven't, although in Volume XI, page
vi, he speaks of attaching "telephones and typewriters", so he likely did
have the full range in mind back then.

This does point to an additional point about Baran's system - he saw that
with packets one could support everything, whereas with circuits, the
converse is not true. (Volume I, page 22: "While a standardized message block
is common in many computer-communication applications, no serious attempt has
ever been made to use it as a universal standard.")

And of course if one is trying to send voice, limiting the message size is
important to minimize end-end delay jitter (hello, ATM :-), once again
driving towards breaking large (user-semantics) messages up into segments.

In re-reading the documents to find these references, a couple of more points
about his system came through: the systems' ability to provide a _reliable
system_ with _unreliable components_, again a somewhat novel concept, but now
taken for granted. As part of that, his system was entirely distributed, with
no central control - something again now taken for granted. He also showed
how a certain degree of redundancy would provide a system which was _highly_
immune to _major_ losses of links and nodes; this is not so important in
today's Internet, but was also a significant result.

In short, I think an old quote from the first Unix paper in CACM also applies
to Baran's system (this is from memory, so it's only approximate): 'the
strength of Unix is not so much in new ideas, although there are a few new
ones, as in the way in which a _carefully-selected set of mechanisms_ work
together to provide a very powerful overall system'.

    > Small packets also reduce likelihood that error correction would fail
    > (this from guesswork and memory, I may be wrong about forward error
    > correction but I believe it was included).

I'm sure there was some sort of error detection, because the way his system
worked was that a node retained a copy of a message until it got an
acknowledgement from the neighbouring node that it had been received
correctly, only then would it discard it. Of course, many FEC mechanisms also
provide 'found error that couldn't be correct' outputs, so perhaps it was
FEC, and not just a data-integrity check.

The system may have had FEC on the radio links, for the exact same reason as
too (BER too high), but I didn't feel like reading the Volume on radio links
to find out! :-)