|
Chris currently holds the appointments of senior lecturer in the
School of Computer Science & Software Engineering
at The University of Western Australia
and adjunct professor in the
Department of Computer Science
at Dartmouth College, New Hampshire.
Chris has recently taught in the areas of
computer networking,
operating systems,
computer & network security,
computer architecture,
distributed systems programming
at The University of Western Australia and Dartmouth College
and,
together with these areas,
his research interests include
network simulation,
ad-hoc & mobile networking,
and
programming language implementation.
The projects below are offered as suggestions for
new Honours and Masters students.
If you have other, related, project ideas then please contact me.
If you're considering a project in any area of computer systems,
please take the time to first read the following two papers.
They should get you thinking!
-
Hints for Computer System Design,
Butler Lampson,
Proceedings of the 9th Symposium on Operating System Principles,
Bretton Woods, NH, October 1983, pp. 33-48.
(yes, still very relevant after 25 years!)
-
Systems Software Research is Irrelevant,
Rob Pike, Bell Labs, Lucent Technologies,
February 2001.
Project ideas
- Wireless Network Monitoring
Effective monitoring of wireless network traffic, using commodity
hardware, is a challenging task due to the limitations of the hardware.
IEEE 802.11 networks support multiple channels, and a wireless interface
can monitor only a single channel at one time. Thus, capturing all frames
passing an interface on all channels is an impossible task, and we need
strategies to capture the most representative sample.
The competing goals of effective wireless monitoring are to capture as
many frames as possible, while minimizing the number of those frames that
are captured redundantly by more than one monitoring station. Both goals
may be addressed through effective sampling strategies coordinating
the activities of neighbouring monitoring stations.
This project will employ Dartmouth College's MAP (Measure, Analyse,
and Protect) software architecture, and Linksys WiFi access points,
in the CSSE building, develop processes for rapid deployment and
monitoring of the architecture itself, refactor some of the software
and exchange protocols, and develop analysis software to detect
traffic analomies.
Enough project ideas for two or more students here,
for students who enjoy software design and coding.
- Navigating by WiFi
An increasing number of mobile handheld devices,
such as
the iPod Touch and
the Nokia N-series,
provide Internet connectivity through wireless ethernet (WiFi).
Some higher-end models also provide GPS receivers
to provide accurate location information,
but GPS fails in a number of environments,
including urban canyons and the interior of buildings.
This is precisely where WiFi can exhibit great advantage - in environments
containing many WiFi access points, such as the UWA campus or much of
Perth's CBD.
This project will investigate the suitability of WiFi for navigating
around WiFi-dense environments, such as the UWA campus or the Perth CBD,
focussing on mapping WiFi regions,
predicting the locations of access points and mobile devices,
and developing a location-aware applications such as
WiFi driven tourist guide-books.
- Supporting a TCP/IP stack and internet infrastructure in cnet
The
cnet network simulator
enables experimentation with a variety
of data-link layer, network layer, and transport layer networking
protocols in networks consisting of any combination of
wide-area-networking (WAN), local-area-networking (LAN), or
wireless-local-area-networking (WLAN) links.
It executes and oversees user-written protocols within a single UNIX process,
without requiring threaded or concurrent execution of protocols.
cnet provides a minimal event-driven, non-preemptive environment in
which data frames may be written to and read from simulated physical media,
and timers are used to periodically undertake tasks.
This environment is almost sufficient to support an RFC standards
compliance TCP/IP protocol stack (it may be necessary to permit blocking
operations, or preemption within cnet).
A number of independent projects,
such as uIP provide small, but
standards compliant,
protocol stacks for embedded devices and wireless sensor networks.
This project will evaluate available TCP/IP protocol stacks,
and incorporate one of them in the cnet simulator.
Keywords: internetworking, protocol simulation.
- An Execution Sandbox for Encryption Algorithms
"Doing for encryption, what MATLAB does for matricies ...."
There are a growing number of both symmetric and asymmetric encryption
algorithms whose implementations are freely available. Most
publicity surrounding encryption algorithms focuses on the time required
to "crack" these algorithms by brute-force techniques.
With the rapid emergence of mobile communication devices powered by
batteries alone, an area of greater importance is the execution speed
and resource requirements of these algorithms.
This project will develop an encryption algorithm sandbox to enable
experimentation with, and analysis of, modern encryption algorithms.
The project will first collect and "sanitize" implementations of freely
available encryption algorithms so that they may be executed within
the sandbox. Encryption schemes under test will be specified by a
small language indicating the composition and order of evaluation of
the encryption algorithms. All algorithms, probably implemented in C,
will be compiled to an internal pseudo-code so that their execution may
be accurately profiled. The sandbox will generate and deliver plaintext
blocks and streams, verify the encryption and decryption processes,
and automatically instrument and report on their execution for comparison.
Keywords: Encryption algorithms, software instrumentation.
|
|