Saturday, February 9, 2008

The real inventor of the router

I've always wondered who invented the fridge, the router, the switch, the mobile phone and all this stuff that helps us. Yesterday I found an interview with the real inventor of the router. This is his resume:

William (Bill) Yeager

Where born, year: San Francisco, 1940
  • Bachelor of arts in mathematics, University of California at Berkeley, 1964
  • Master of arts in mathematics, California
Work history: 1971-1975 — Systems programmer, NASA AMES
1975-1994 — Research staff in Stanford University’s Knowledge Systems Laboratory
1994-2004 — Sun
Present — Final stages of completing financing for start-up Peerouette
Interests/ hobbies:
  • Fluent in French, learning Mandarin
  • Tennis
  • Collecting wine
  • Travel to Europe, Asia
Tidbit few people would know: After high school I attended the U.S. Merchant Marine Academy in Kings Point, N.Y. I left the academy after 18 months, six of which were spent seeing places like Pago Pago, Samoa, Australia, Tasmania, Japan, China and the Philippines. I found a calculus book published in 1895 in the library of the USS Golden Bear of Pacific Far East Lines. I read it, liked the math and ended up at UC Berkeley, where the mascot is the Golden Bear.

William Yeager is credited with developing the first router while he was a staff researcher at Stanford.
They wanted to connect DEC10 Systems, a number of Xerox PARC Lisp machines, Altos file servers and printers, DEC VAXs, Texas Instruments' Explorers and Symbolic systems, because they were spread across buildings on campus and people were tired of carrying tapes around.
"I thought about this for a bit, and I said, well really what you need is an operating system. So while the cables were being pulled and tested, I developed a network operating system [NOS] and routing code [to run on a] DEC PDP11/05. But the Alan Snyder Portable C compiler generated too much code. So I had to go into the compiler and improve the code generators. And that wasn't even good enough. So then I had to write an optimizer for PDP11/05 assembler so I could reduce the code by about 30%. This was major engineering, because you had your hands into everything. It's important to remember the PDP11/05 only had 56KB of user memory, and was diskless.", he said.

Initially, the code routed Parc Universal Packet (PUP) for the Xerox PARC systems and mainframes.
He tweaked it in Lisp and C," so a router was a class, and a specific protocol, say IP, was an instance of that class, and the NOS was multitasking. When you added another router, then you ended up putting in an instance as another task or thread. In the network I/O drivers you would look for the link-level type in the packet to determine the protocol, and everything goes into nice queues under these router threads and it all works. That's why Cisco did so well in this, because you could add more and more stuff to the operating system".
He talks about how Cisco managed to look at his project and update his design:

"In the spring of 1985 Len Bosack who was in charge of the computer science department's computer facilities and later went on to co-found Cisco and another guy knocked on my office door and asked if they could have access to sources for the router code. I said, what do you want to do? They said, we want to improve it, add more features. I said, well that would be great, because I have other research tasks to do, and I gave them the password and away they went. I had no idea Cisco had been founded in '84. I'd never heard of it."
Lately, Cisco became a separate deveper of his project and started to make money from his idea. After comparing his work with first Cisco's project, the Standford lawyer told him that his work was used without any fee and permission, so Cisco had to pay $100,000 in royalties:
"And I said, well let's start with the operating system. That's sort of the heart and soul of this. And it was identical except for changing variables names. I said, can you see this? She said, 'I'm a lawyer and I can see this is identical.' Let's look at other things. Let's look at this network data logblock (a C structure). Well it's been broken into two pieces, big deal. Any time someone gets a chance to go over code again they refine it. It was refined, clearly, but absolutely the same stuff. Derivative. They changed and added a their new routing protocol, no big deal. If you knew networking you could do it. I only did what I had to do, because I was driven by my boss and he was driven by the department's needs. And when I stopped I stopped. "
Cisco has always had trouble giving him credit, because he's like one of these "bulldogs, that hold of a guys' pant's leg and won't let go of it".

He concluded that "I'm sort of a persona non grata down there at Cisco. But it was fun. I was very passionate about this stuff. I'm always passionate about what I do. And I learned a lot about how corporations work and these guys were great capitalists and obviously they turned out with a great company."
After that he went to Sun and worked on IMAP and SIMS projects.

You can read the whole interview here: NetworkWorld
by John Dix, Network World, 03/27/06

0 comentarii: