Friday, October 30, 2015

Thought Diversity Necessary for Formation of the Internet


Most of us in the computer field know that having a diverse workplace is important for making decisions on what products to develop and how to market them. But is diversity important for solving computer science and engineering problems? I say YES. Diversity helped form the modern networking field. Without diversity we would not have the Internet. 

The following parable is from a US point of view. Lots of work was done in Europe too, but that is for another post when I have more time. :-) 

In the early days of networking, most of the data communications experts were on the East Coast. So we had the mainframe which polled the slave terminals. We had RS-232 where terminals had to Request to Send (RTS) and get a Clear to Send (CTS) to communicate. 


We had error correction, network control, and time division multiplexing, where nodes waited their turn to talk. The algorithms were orderly, hierarchical, predictable, and unwieldy. 

With the culture changes of the 1970s and 1980s, ideas for algorithms were infused with more creativity, and Token Ring was invented. A ring sounds like something from The Hobbit, with liberal connotations, where all the nodes in a circle sing Kumbaya and use a token to determine who gets to speak. However, the algorithms were still mechanistic and militaristic. A network node seized the token in order to talk, and when the node was talking, every other node was required to be silent. An active and standby monitor were needed to oversee the operations. In bridged networks, nodes used source routing to dictate which path the data frames should take. 


The engineering was still being developed by the New Yorkers in suits and white shirts with pocket protectors. Token Ring was expensive and hard to troubleshoot, and it mimicked human communications found in hierarchical, autocratic, traditional societies.

Out on the West Coast and in Hawaii, on the other hand, we had the surfers and the hippies working on networking! In the 1970s, Bob Metcalfe flew to Hawaii and all hell broke loose. :-) 


Metcalfe's research on ALOHAnet, a wireless packet network that was developed by the University of Hawaii, led to the development of CSMA and Ethernet. With CSMA, nodes listen before they send, but if they don’t hear anything, they just send anyway. If multiple nodes sense that there’s quiet, they just go ahead and send, so there could be multiple nodes all talking at once. The nodes also listen while sending, and back off if necessary. It’s like a big party! Aloha! 


Ethernet was inexpensive, easy to set up, easy to troubleshoot (at least compared to Token Ring), and scalable. We still use it today with speeds up to 40 Gbps and 100 Gbps. The work of Radia Perlman on the Spanning Tree Protocol allowed robust bridged networks to dynamically form a spanning tree. Routing across Ethernet networks became possible with the invention of the Internet.

The Internet was developed by men and women, working on the West and East coast, and parts in-between. In the West, UCLA, UCSB, Stanford Research Institute, and the University of Utah first worked on ARPANET and then the Internet. On the East Coast, universities, the US federal government, and various companies helped develop protocols and algorithms. The developers decided to break up data into packets and to forgo traditional point-to-point telecomm links and circuits that needed to be set up in advance. This led to the NSFNET and then to the commercial Internet.


The Internet’s infrastructure was designed by engineers seeped in human communications styles very different from the hierarchical, autocratic, traditional styles mentioned earlier. 

If the development of network algorithms had been left only to the stuffy East Coasters with their crew cuts and slide rules, we wouldn’t be having this conversation today, on a public, gigantic Internet that is built on top of Ethernet and wireless technologies. 

Kitty Joyner, electrical engineer, at Langley in 1952.
It was the diversity of thinking that made modern networks possible. This isn't just some politically-correct maxim that applies only to product design and marketing. Diversity helped solve the engineering and computer science problems that made the Internet possible.