From 1998 to 2001 I did my Masters of Applied Science in Mechanical Engineering at the University of Victoria. My thesis was on implementing ad hoc routing protocols in microcontroller networks.

During my schooling I produced four reports and one thesis. I also produced a custom-built network simulator written in C. All of these are available from this web page.

I retain copyright of all material on this web page. Having said that, I hereby release the reports, thesis, and source code found herein into the public domain. Do whatever you want with them.

Report: Network Reconfiguration and Robustness
This report analyzes several network technologies with a focus on network reconfiguration and robustness. Each network technology is analyzed for its ability to cope with the addition or removal of nodes, changes to link status, and nodes changing network locations. Of the network technologies analyzed, only IPv6 addressed all criteria well.

Report: Host Configuration and Robustness in the Internet Protocol version 6
This report analyzes the Internet Protocol version 6 with a focus on configuration and robustness. The scope of the report is limited to presenting key host configuration and robustness issues, complemented with a modest evaluation of their design. The Internet Protocol architecture is presented for background information. Host autoconfiguration and Mobile IP principles are presented. Except for some minor weaknesses in the autoconfiguration process, the Internet Protocol promises to be extremely robust and flexible.

Report: Routing in Ad Hoc Networks of Mobile Hosts
This paper presents an overview of ad hoc routing principles and how these differ from conventional routing. Four proposed ad hoc routing protocols, DSDV, TORA, DSR, and Virtual Subnets, are presented and commented on. Finally, several other ad hoc routing protocols are briefly introduced, highlighting their novel concepts or optimizations over the four main routing protocols presented earlier in the paper.

Report: Routing in Ad Hoc Networks of Mobile Hosts: A Simulation Exercise
This report documents an effort to investigate, implement, and simulate the Dynamic Source Routing (DSR) protocol for ad hoc networks of mobile nodes. DSR operation is briefly presented.
A packet-level network simulator was developed to simulate the operation of DSR. Investigations previously done by Johnson were repeated using this simulator, and a comparrison of the results made. In the end, due to time constraints, only a small subset of Johnsonís original simulations were repeated and the results analyzed.

Thesis: Dynamic Routing for Measurement Networks
Measurement networks are data acquisition networks built using microcontrollers and have a variety of problems involving their construction, operation, and maintenance. This thesis investigates the feasibility and ramifications of incorporating routing protocols into measurement networks to mitigate or eliminate these problems. Existing routing protocols are analyzed for their ideas and applicability to measurement networks. Focus is given to ad hoc routing protocols which combine the simplicity and characteristics desired for measurement networks. The ramifications of implementing ad hoc routing protocols in measurement networks, such as the use of redundancy, are investigated. One ad hoc routing protocol is selected and implemented in a simulated measurement network environment to show it is not only possible to accomplish the goals of this thesis, but also quite practical. This thesis concludes measurement networks incorporating ad hoc routing protocols are possible, practical, and enjoy numerous enhancements above regular measurement networks.

You can also download my thesis in original Frame Maker 4 format and view it with the free FrameReader / FrameViewer utility from the Adobe web site.

Simulator Source Code: NetSim
This is the final version of my network simulator, written entirely in C. It implements a few different physical mediums and a couple variations of the DSR ad hoc routing protocol. It spits out a ton of data, including .nam files to be viewed graphically using NAM: Network Animator.