Aerospace – My first full time job.
I was hired at Rockwell Intl. Space Systems Division to manage a network of Sun Workstations and help develop a research project called the Unified Information System (UNIS). The project built a prototype hypermedia system that would display a clickable image of the space shuttle. Clicking various areas of the shuttle would bring up specific CAD drawings of any of the space shuttles tiles, additional clicks would bring up data from a variety of databases through out the division including, heat and stress measurements from DEC/Vax system or cost information from IBM DB2 as well as a variety of Oracle databases.
The system was eventually replaced by the World Wide Web (WWW). I installed the very first HTTPD server and Mosiac browser at Rockwell.
Real Time Operating System
Another significant project was building an RTOS and embedded software that went into a variety of classified military applications. I wrote the memory allocation library and process loader among other things. The main colleague I worked with now works for Google, our Manager was a Member of the Technical Staff that developed the UNIX kernel at Bell labs.
Large Systems Administration
In addition to other projects, I became a lead System and Network Administrator managing and installing the department of Engineerings 300+ unix workstations, servers and networking devices. I became very adept at installing, managing and debugging a variety of subsystems, such as email, NFS, NIS, and networking, as well as writing numerous automation utilities with C, Perl and Bash scripts.
I also helped many other engineering and technical group “expedite” installations of high speed ethernet networks, in what we called the “Guerrilla Nets”.
I finally completed my BS in Computer Science from CSULB. I then joined the Master Of Computer Science program at the University of Southern California.
Networking Becomes Hot
During the very early days of the computer networking wave (later to become the dot com bubble), I worked at a now defunct network hardware startup called Retix. I was hired as a protocol tester, where I learned a ton about RIP, OSPF and BGP while writing automated tests with low-level utilities and protocol analyzers. Tests were written in C and Perl.
I later become a Software Engineer developing and maintaining the companies product. I continued my education at USC during this job.
Moving On to Research
While taking a course in Advanced Topics In Computer Networking my instructor Debra Estrin asked if I was interested in joining USC/ISI to work on some very interesting research projects, which I happily accepted. During my time at USC/ISI
I worked on the Routing Arbiter Project, I wrote a version of Traceroute that would determine and display the set of Autonomous Systems packets take in the path through the Internet.
I also developed the Internet Routing Reservation Visualization (IRRv) Tool that would display interconnections between Autonomous systems that make up the Internet. The tool would allow AS’s to be collapse and expanded, as well as layout algorithms.
I helped write a standalone version of the Protocol Independent Multicast – Sparse Mode routing protocols (link to github). Then added PIM-SM to the GateD routing protocol suite, that was eventually marked by the NextHop company, and eventually purchased by Green Hills software.
I also wrote from scratch a functioning version of the now defunct Border Gateway Multicast Protocol the intention was to establish inter-domain multicast routing in a manner similar to how BGP is used to establish inter-domain unicast routing.
BGMP was eventually rejected by the Internet Engineering Task Force (IETF) in favor of the Multicast Source Discovery Protocol (MSDP) (which I would eventually develop from scratch later as an employee of Cisco Systems).
One of my pet projects, I developed out of shear need while testing my PIM development was pkt. It was a packet generator that could be used to create arbitrary network packets to test multicast routing protocols. One could give pkt a hexadecimal string that would be serialized into an actual network packet. This project help win a research grant from the National Science Foundation and a paper accepted by 97 Interop.
This work eventually help lead to the Virtual Internet Testbed (VINT)
I finally graduated from USC with a Master of Science in Computer Science (MSCS).