Vint Cerf once wore a shirt that read "IP on Everything," a wry comment on the versatility of the Internet Protocol he helped invent, a protocol that underlies all Internet communication. Now a University of California Berkeley researcher has put Cerf's maxim to the test, running an IP network over a set of xylophones, played by human participants.
While not practical for everyday use, the experiment has helped both computer experts and novices alike better understand how computer networks operate, said R. Stuart Geiger, a graduate student at the Berkeley's School of Information who led the project.
MEETING OF THE MINDS: IETF attendees re-engineer their hotel's Wi-Fi network
Geiger discussed his work at the at the Association for Computing Machinery's Conference on Human Factors in Computing Systems, which was held this week in Austin, Texas.
The experiment "gave me an appreciation for how the Internet was designed. You can really take anything and put it anywhere," Geiger said, in an interview after the presentation.
Geiger's network protocol, Internet Protocol over Xylophone Players (IPoXP), provides a fully compliant IP connection between two computers. His setup uses a pair of Arduino microcontrollers, some sensors, a pair of xylophones and two people to play the xylophones.
In a typical setup, the computer will send a message packet to the microcontroller in the ACSII format, which the microcontroller converts into hexadecimal code. The Arduino is attached to a series of series of LED's. Each LED corresponds to a hexadecimal character, as well as a key on a xylophone.
As an LED lights up, the human participant strikes the corresponding key on the xylophone. Piezo sensors are attached to each xylophone, so that they are able to sense when a note is played on the other xylophone. The Arduino for the receiving computer senses the note and then converts it back into hexadecimal code. And when the second computer sends a return packet, the order of operations is reversed.
Characters are issued one every second, giving the network a throughput of one baud. Geiger used a simple pre-broadband legacy protocol called Slip to serialize the data with minimal overhead. Typically, it takes about 15 minutes to transmit a single packet at this rate -- if the volunteer is patient enough to complete a whole packet, and doesn't hit any wrong notes in the process. Such dedication and proficiency has turned out to be a rarity in trials, however. "Humans are really terrible interfaces," Geiger said. Geiger and his team ran two public demonstrations at the University of California.
From this project, Geiger has gained a newfound appreciation of the seven layer OSI (Open Systems Interconnection) model for computer communications. With OSI, each layer is encapsulated from the others, allowing new technologies to replace older ones without disrupting the system as a whole. In this exercise, humans operated layer 1, the physical layer, where the bits are physically moved from one system to another. To the two computers communicating, however, it made no difference that people were conveying the bits back and forth with their xylophones. "With a properly configured network interface and operating system, an application does not know -- and does not need to know -- the logistics of what is known as the physical layer," Geiger's paper stated.
The exercise also provided some insights into the field of Human-Computer Interaction (HCI), the focus of ACM's conference, Geiger said. It emulates a technique HCI specialists use to design interfaces called umwelt, which is a practice of imagining what the world must look like to the potential users of the interface.
This experiment allowed participants to get the feel for what it would be like to be a circuit. In fact, Geiger even put the xylophone players in black cardboard boxes to isolate them from their surroundings, where they could concentrate only on transmitting bits.
Umwelt "requires you to be empathetic with technology," Geiger said. "You put yourself in someone's or something's place by just thinking of what kind of sensory inputs and outputs they have."
Geiger is not the first to substitute an unusual technology at the base of a networking stack. In 2001, the Bergen Linux User Group used homing pigeons to network two computers located three miles apart. Another group used bongo drums to beat out a rhythm of 1's and 0's. And like these other whimsical approaches, IPoXP shows off the strengths of the Internet's design.
"I don't think I realized how robust and modular the OSI model is," Geiger said. "The Internet was designed for much more primitive technologies, but we haven't been able to improve on it, because it is such a brilliant model."