Projects



Information on projects I have done or am working on. Please do not use my programs for non-personal use without contacting me first.


Internet Traffic Measurment - Completed for CPSC502, Fall 2005/Winter 2006
Final Report||Reading List||Proposal
Abstract

Measurement of network properties is a fundamental topic in the field of networking. Knowledge of the characteristics and properties of Internet traffic is useful in many areas of networking including, simulations, protocol evaluation, and protocol development. Due to the ever-changing nature of network traffic on the Internet it is crucial that network traffic studies continue to take place.

This thesis will analyze traffic measurements collected at the University of Calgary. In particular, it will examine several characteristics of network traffic including packet loss, round trip time delays, traffic bursts, transport layer protocol usage and transmission sizes.


Cellular Automata Traffic Simulation - Completed for CPSC565, Winter 2006

Applet
Description

A week long Netlogo assignment that simulates traffic using three different cellular automata models of traffic flow.


Kamikaze Aibo Interface - Completed for CPSC599.17, Winter 2006
Project webpage
Abstract

The Kamikaze Aibo Interface aims to provide a simple and intuitive way for users to control a Sony Aibo robot dog in a simulated disaster zone. Specific steps were taken in the design of this interface to make it easy to use. These include using a large vision screen and map located at the top of the interface. Important interface elements are grouped around the vision screen to reduce the amount of effort required by the user to use these items.

Evaluation of this interface shows that in its current form users are able to learn to use basic features of the interface quite quickly. Additional features could be added to improve the user’s ability to navigate particularly difficult sections of the disaster zone.


Modeling the Gaia Hypothesis: Daisyworld - Completed for CPSC565, Winter 2006
Project webpage
Abstract

The Gaia Hypothesis postulates that the Earth acts as a self-organizing collective unit. It argues that not only does the environment influence life on Earth, but that life also has the power to regulate environmental conditions. It is through this regulation that the conditions on Earth are kept within the tolerable range for life to continue.

A model which has been used to demonstrate evidence for the Gaia hypothesis is the Daisyworld model proposed by Watson and Lovelock (1983). This model involves simulating a planet which is inhabited entirely by black and white daisies. Since the daisies reflect different amounts of light they are able to modify the planetary albedo and thus regulate global as well as local temperature. This project will simulate the Daisyworld model of Lovelock and Watson using the Netlogo simulation package.


Scheduling in Grid Computing - Completed for CPSC531, Summer 2005
Project Writeup(pdf)
Grid computing involves employing multiple machines to solve complex computing problems. In this project I simulated a grid computing system based on a cluster of machines located at the University of Calgary. Data was collected from this system over a period of seven days. I examined scheduling of jobs to nodes in the computing cluster. In particular I simulated single site, centralized scheduling algorithms.


DNS Client/Proxy Server - Completed for CPSC441, Winter 2005
Code(zip)
This is a command line DNS Client and Proxy Server pair. They are implemented in C, both using UDP sockets. The DNS Client takes in a string of parameters and then formats a DNS request from them. Then it sends the request to the user specified server. Upon receiving a reply the program outputs the results of the query to the screen. The DNS Proxy Server program can be connected to by programs wanting to send DNS requests (like this DNS Client). It then forwards the requests to a predetermined server and forwards the response back to the requesting program. A manual is included with the code with more detailed instructions of how to use these programs.


Pong/Tennis Game - Completed with Eunice Lim for CPSC455, Fall 2004.
Implemented on the Intel architecture in C using the DPMI libraries. This program implements mouse drivers for both PS2 and serial mouse. It also has a timer interrupt service routine which is used to have a clock displayed on the screen increment every millisecond. This program also deals directly with the linear frame buffer of the graphics card to display images to the screen. All graphics drawing was implemented from scratch. Due to hardware dependencies this program does not run on many machines.