In the 1960s, Bob Taylor worked at the heart of the Pentagon in Washington DC. He was on the third floor, near the US defence secretary and the boss of the Advanced Research Projects Agency (Arpa).
Arpa had been founded early in 1958 but was quickly eclipsed by Nasa, leading Aviation Week magazine to dismiss it as "a dead cat hanging in the fruit closet".
Nevertheless, Arpa muddled on - and in 1966, Taylor and Arpa were about to plant the seed of something big.
Next to his office was the terminal room, a pokey little space where three remote-access terminals with three different keyboards sat side by side.
Each allowed Taylor to issue commands to a far-away mainframe computer.
One was based at Massachusetts Institute of Technology (MIT), more than 700km (450 miles) up the coast.
The other two were on the other side of the country - one at the University of California and the Strategic Air Command mainframe in Santa Monica, called the AN/FSQ32XD1A, or Q32 for short.
Each of these massive computers required a different login procedure and programming language.
The next step was obvious, Taylor said. "We ought to find a way to connect all these different machines."
Taylor talked to Arpa's boss, Charles Herzfeld, about his goal.
"We already know how to do it," he said, although it was not clear that anyone really did know how to connect together a nationwide network of mainframe computers.
"Great idea," said Herzfeld. "Get it going. You've got $1m more in your budget right now. Go."
The meeting had taken 20 minutes.
Taylor, Roberts and their fellow networking visionaries had something much more ambitious in mind - a network to which any computer could connect.
As Roberts put it at the time, "almost every conceivable item of computer hardware and software will be in the network".
The solution was proposed by another computing pioneer, physicist Wesley Clark.
Clark had been following the emergence of a new breed of computer.
The minicomputer was modest and inexpensive compared with the room-sized mainframes installed in universities across the United States.
Clark suggested installing a minicomputer at every site on this new network.
The local mainframe - the hulking Q-32, for example - would talk to the minicomputer sitting close beside it.
The minicomputer would then take responsibility for talking to all the other minicomputers on the network - and for the new-and-interesting problem of moving packets of data reliably around the network until they reached their destination.
All the minicomputers would run in the same way - and if you wrote a networking program for one of them, it would work on them all.
Adam Smith, the father of economics, would have been proud of the way Clark was taking advantage of specialisation and the division of labour - perhaps his defining idea.
The existing mainframes would keep on doing what they already did well.
The new minicomputers would be optimised to reliably handle the networking without breaking down.
Each local mainframe had to be programmed merely to talk to the little black box beside it - the local minicomputer.
If you could do that, you could talk to the entire network that stood behind it.
The little black boxes were actually large and battleship grey.
They were called Interface Message Processors (IMPs).
The IMPs were customised versions of Honeywell minicomputers, which were the size of refrigerators and weighed more than 400kg (63 stone) apiece.
They cost $80,000 each, more than $500,000 (£405,000) in today's money.
The network designers wanted message processors that would sit quietly, with minimal supervision, and just keep on working, come heat or cold, vibration or power surge, mildew, mice, or - most dangerous of all - curious graduate students with screwdrivers.
Military-grade Honeywell computers seemed like the ideal starting point, although their armour plating may have been overkill.
On 29 October 1969, two mainframe computers exchanged their first word through their companion IMPs.
It was, somewhat biblically: "Lo".
The operator had been trying to type: "Login" and the network had collapsed after two letters.
A stuttering start - but the Arpanet had been switched on.