Hi Peter,
The invention of packet switching has been a hotly debated question for more than a quarter of a century now. I published
some research on this a few years ago, but there's a small contingent of Brits who want to claim this invention as British and are ignoring the scholarship that says otherwise (not
just my work, but the work of most actual Internet historians), so I always feel a need to set the record straight.
The fact is that not even Donald Davies claimed that he invented packet switching. Paul Baran of the RAND Corporation was the first to come up with the idea of splitting up data blocks, providing a mechanism for them to navigate the network in a distributed
fashion, and then reassembling them at their destination. He called it "Hot Potato Routing", and the purpose of it was to avoid congestion and increase speed.
This happened in the 1960-1961 timeframe, when Baran was working on a computer network design for the U.S. Air Force at RAND. After handing over the design to the Air Force (who insisted on building the network without RAND, subsequently failed and then shelved
the project), Baran took the non-classified parts of the Air Force briefing and published them in 1962. Eventually, he assembled all of his network studies in a single publication in 1964.
Davies - independently of Baran - came up with a similar idea in 1965, and presented it to colleagues at NPL that year. At the presentation, a military person with knowledge of Baran's work came up to him and informed him that the idea had already been around
for 4-5 years. Davies then contacted Baran to learn more. In their discussions, they found that Davies' name for the principle - "packet switching" - was much better than "Hot Potato Routing", and so from then on, Baran adopted that term too.
While all of this was happening, Leonard Kleinrock was a doctoral student at MIT working on data block/message queuing in computer systems. In the 1961-1962 period, he
also came up with (and published) the idea of adjusting the size of data blocks and later re-appending them post-routing to avoid congestion and increase speed.
As Baran
once told me in an interview, ideas like packet switching emerge and "become ripe" in research and whoever is the first to "invent" something is almost beside the point. Packet switching as an idea came up in at least three people's heads totally independent
of each other within a 5-year period.
It's what happened next that gets people all worked up. Once Davies had consulted with Baran, NPL began actually implementing packet switching in a machine. The Brits claim that packet networking (and therefore, the early Internet) began in early 1969 when
NPL and Davies' team built the first machine that could use the packet switching principle.
The problem is that it was a "one-node network", essentially a star network, or a server with a number of terminals. It was therefore not really a big network innovation at all, since, at this point, similarly structured systems had been in place as time-sharing
systems in the U.S. since 1961 - almost a decade earlier. The difference, of course, is that time-sharing systems share resources on the same computer, while the Mark I "network" at NPL had a computer as a connection hub. But I have never been able to find
any evidence that NPL was able to connect
different computers to that hub, only terminals and computers of the same make and model - which essentially makes it a local server network, not a computer network.
Getting computers of
different makes and models to communicate using packet switching was the main contribution of the ARPANET and is what paved the way for the Internet. The Brits claim they achieved this a few months before the ARPANET team, but I
still have yet to see evidence of it - given the homogeniety of the machines connected to the NPL Mark I hub.
Additionally:
In 1966, Larry Roberts was hired by the aforementioned Bob Taylor at ARPA/IPTO to design the ARPANET and get it built. He began work on this in early 1967, leaning on a number of experts, not least his old friend and MIT classmate Leonard Kleinrock. By October
1967, almost everything was in place, Roberts just couldn't figure out how to avoid congestion and get the ARPANET to be fast enough to actually be useful.
Roberts presented the plans for the ARPANET, including the congestion/speed challenge at a conference in Tennessee October 4-5 1967. Representatives from Davies' team at NPL were also there to present their one-node packet network findings. They told Roberts
about Baran's work and Roberts then went back to D.C. and looked through Baran's publications.
Just four days after the end of that conference, an ARPANET design meeting was held where they agreed to explore Baran's packet switching principle. Notably, Davies' work is not mentioned in the minutes from that meeting.
Roberts asked Kleinrock and Elmer Shapiro to get in touch with Baran to explore this further, and there is documentation of them meeting and working on how packet switching could be implemented in the ARPANET. Based on his own work and his and Shapiro's conversations
with Baran, Kleinrock convinced Roberts that it would work.
This is how packet switching ended up being the main routing principle in the RFQ that went out to the industry in 1968, a bidding round that was eventually won by Bolt, Beranek and Newman (whose team would end up contributing even more to the actual implementation
of packet switching in the ARPANET.) The first router (or IMP) was delivered to Kleinrock's lab in September 1969, another was delivered a few days later to SRI in Palo Alto, and on October 29, 1969 the two were connected for the first time. The rest is...well,
you know.
So, Davies did not invent packet switching (other than the name) himself, and he never made that claim. He DID claim to have created the first packet switched network, and his team continues to claim this, even though, as far as I can see, they never connected
different computers.
Furthermore, Davies spent the last years of his life arguing that Kleinrock did not have a claim to the invention of packet switching, going as far as writing an article about it to be published posthumously. But when you look more closely at what was actually
implemented in the ARPANET, it was a lot closer to Baran's and Kleinrock's packetization ideas than Davies'.
And Kleinrock is, importantly, the intellectual bridge between Baran and the ARPANET design team, and the one who ensured that packet switching became the basis for the ARPANET when nobody believed that it was even possible to do.
So, nobody "invented" packet switching, really. It came about as direct and indirect collaborations between three people who came up with the idea independently within a few years of each other.
Incidentally, using flip-flop relays (now transistors) in computers was an idea that similarly appeared, independently, in the heads of George Stibitz, Vincent Atanasoff, and Konrad Zuse around the same timeframe of 1937-1938.
Maybe one day we'll find out how our brains work in this regard, but I just find it fascinating.
- Morten