|
During a lecture about the layers of the OSI model in our fourth year Computer Networks Course, Prof. Townsend was discussing the fact that the lower layers of the model could be replaced with any form of media.
Despite this change, the upper layers would function as normal. In fact, others have implemented network protocols over non-standard media, including CPIP (carrier pigeon internet protocol) which was implemented using RFC1149, and reached speeds of 0.08bps. Prof. Townsend jokingly suggested that Internet Protocols could even run over forms of primitive communication (i.e. bongo drums, or
even smoke signals).
In an email sent out after class he offered extra credit to anyone who succesfully implemented TCP/IP via. Bongo Drums. I was the only one crazy enough to sign up, and thus began what was deamed as 'The Bongo Project'.
The next morning, wondering what I had gotten myself into, I discussed the game plan with Prof. Townsend.
It was suggested to whip up a couple Linux boxes to form a transparent bridge that would serve as the Bongo Link itself. Each Linux box would then have a microphone and a pair of bongos, with each microphone listening to the appropriate pair of bongos (based on pitch). The pitch recognition would be a project in itself, but luckily both Prof. Townsend and Dr. Keppel-Jones from the Mathematics Department had already developed an interesting method called SAW (Sliding Averaging Window) for me to base some of my work from. With the bridge constructed, the Bongo Link could then be placed anywhere, and in testing cases it was between my PC and the residence LAN.
I had little socket programming experience, and even less experience with devices in UNIX. The university system administrator, offered some source code from a network monitoring project for me to scan over for some coding help. The gesture was appreciated greatly.
Weekly meetings with Prof. Townsend were scheduled to discuss my progress, as well as online chat sessions which often led to hours of debugging
and perfecting pitch recognition algorithms.
By the end of the semester, the project was not 100% completed, so a demonstration was given to the class which used a set of desktop speakers
which played recorded bongo beats to simulate the real thing. Since the theory had been proven, I was granted my extra credit and somehow wound up with a 99% in the class.
The final phase is almost near completion.
|